From 0c3fd2f89bcc0ee030ed8edcb007091b59cc665e Mon Sep 17 00:00:00 2001 From: Abhinav Gupta Date: Tue, 8 Mar 2016 20:05:02 +0530 Subject: [PATCH] Fixes/improvements containing the following six listed changes 1.Fix for vpninterfaces using portuuid as string as vpnInfName 2. displayFib Karaf CLI added 3. Change to proceed with nexthop null too in case of absence of any tunnel 4. Calling removeGroup API instead of syncRemoveGroup to align with OVS 5. Additional check in getL3VPN 6. Retriving first fixed IP for port without looping over as per the current support for single fixed IP per neutron port Change-Id: Id13cfb1c84f57a039ca025076155745853cb0e7c Signed-off-by: Abhinav Gupta --- features/pom.xml | 5 ++ features/src/main/features/features.xml | 1 + .../vpnservice/fibmanager/NexthopManager.java | 2 +- fibmanager/fibmanager-shell/pom.xml | 36 ++++++++ .../fibmanager/shell/ShowFibCommand.java | 30 +++++++ .../OSGI-INF/blueprint/blueprint.xml | 21 +++++ fibmanager/pom.xml | 80 ++++++++--------- .../neutronvpn/NeutronPortChangeListener.java | 66 +++++++------- .../neutronvpn/NeutronvpnManager.java | 86 ++++++++++--------- .../vpnservice/VpnInterfaceManager.java | 4 +- 10 files changed, 211 insertions(+), 120 deletions(-) create mode 100644 fibmanager/fibmanager-shell/pom.xml create mode 100644 fibmanager/fibmanager-shell/src/main/java/org/opendaylight/vpnservice/fibmanager/shell/ShowFibCommand.java create mode 100644 fibmanager/fibmanager-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml diff --git a/features/pom.xml b/features/pom.xml index 8ca0dc3f..c21897e9 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -273,6 +273,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL config xml + + ${project.groupId} + fibmanager-shell + ${fibmanager.version} + ${project.groupId} fibmanager-api diff --git a/features/src/main/features/features.xml b/features/src/main/features/features.xml index abd03419..a831dfb6 100644 --- a/features/src/main/features/features.xml +++ b/features/src/main/features/features.xml @@ -59,6 +59,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html mvn:org.opendaylight.vpnservice/interfacemgr-impl/{{VERSION}} mvn:org.opendaylight.vpnservice/vpnmanager-impl/{{VERSION}} mvn:org.opendaylight.vpnservice/fibmanager-impl/{{VERSION}} + mvn:org.opendaylight.vpnservice/fibmanager-shell/{{VERSION}} mvn:org.opendaylight.vpnservice/itm-impl/{{VERSION}} mvn:org.opendaylight.vpnservice/neutronvpn-impl/{{VERSION}} mvn:org.opendaylight.vpnservice/neutronvpn-shell/{{VERSION}} diff --git a/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/NexthopManager.java b/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/NexthopManager.java index a3cd7c4e..f82a3e6e 100644 --- a/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/NexthopManager.java +++ b/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/vpnservice/fibmanager/NexthopManager.java @@ -403,7 +403,7 @@ public class NexthopManager implements AutoCloseable { GroupEntity groupEntity = MDSALUtil.buildGroupEntity( dpnId, nh.getEgressPointer(), ipAddress, GroupTypes.GroupIndirect, null); // remove Group ... - mdsalManager.syncRemoveGroup(groupEntity); + mdsalManager.removeGroup(groupEntity); //update MD-SAL DS removeVpnNexthopFromDS(vpnId, ipAddress); //release groupId diff --git a/fibmanager/fibmanager-shell/pom.xml b/fibmanager/fibmanager-shell/pom.xml new file mode 100644 index 00000000..90ad96d8 --- /dev/null +++ b/fibmanager/fibmanager-shell/pom.xml @@ -0,0 +1,36 @@ + + + + + + org.opendaylight.vpnservice + config-parent + 0.3.0-SNAPSHOT + ../../commons/config-parent + + + 4.0.0 + org.opendaylight.vpnservice + fibmanager-shell + ${vpnservices.version} + bundle + + + org.opendaylight.vpnservice + fibmanager-api + ${vpnservices.version} + + + org.apache.karaf.shell + org.apache.karaf.shell.console + ${karaf.shell.console.version} + + + + diff --git a/fibmanager/fibmanager-shell/src/main/java/org/opendaylight/vpnservice/fibmanager/shell/ShowFibCommand.java b/fibmanager/fibmanager-shell/src/main/java/org/opendaylight/vpnservice/fibmanager/shell/ShowFibCommand.java new file mode 100644 index 00000000..4a8d4d61 --- /dev/null +++ b/fibmanager/fibmanager-shell/src/main/java/org/opendaylight/vpnservice/fibmanager/shell/ShowFibCommand.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 - 2016 Ericsson India Global Services Pvt Ltd. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + +package org.opendaylight.vpnservice.fibmanager.shell; + +import org.apache.karaf.shell.commands.Command; +import org.apache.karaf.shell.console.OsgiCommandSupport; +import org.opendaylight.fibmanager.api.IFibManager; + +@Command(scope = "vpnservice", name = "fib-show", description = "Displays fib entries") +public class ShowFibCommand extends OsgiCommandSupport { + private IFibManager fibManager; + + public void setFibManager(IFibManager fibManager) { + this.fibManager = fibManager; + } + + @Override + protected Object doExecute() throws Exception { + for (String p : fibManager.printFibEntries()) { + System.out.println(p); + } + return null; + } +} diff --git a/fibmanager/fibmanager-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml b/fibmanager/fibmanager-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml new file mode 100644 index 00000000..10474313 --- /dev/null +++ b/fibmanager/fibmanager-shell/src/main/resources/OSGI-INF/blueprint/blueprint.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + diff --git a/fibmanager/pom.xml b/fibmanager/pom.xml index 1fd88b04..1fe54037 100644 --- a/fibmanager/pom.xml +++ b/fibmanager/pom.xml @@ -5,45 +5,47 @@ This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL --> - + - - org.opendaylight.odlparent - odlparent - 1.7.0-SNAPSHOT - - + + org.opendaylight.odlparent + odlparent + 1.7.0-SNAPSHOT + + - org.opendaylight.vpnservice - fibmanager-aggregator - 0.3.0-SNAPSHOT - fibmanager - pom - 4.0.0 - - 3.1.1 - - - fibmanager-api - fibmanager-impl - - - - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - - org.apache.maven.plugins - maven-install-plugin - - true - - - - + org.opendaylight.vpnservice + fibmanager-aggregator + 0.3.0-SNAPSHOT + fibmanager + pom + 4.0.0 + + 3.1.1 + + + fibmanager-api + fibmanager-impl + fibmanager-shell + + + + + + org.apache.maven.plugins + maven-deploy-plugin + + true + + + + org.apache.maven.plugins + maven-install-plugin + + true + + + + diff --git a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronPortChangeListener.java b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronPortChangeListener.java index 9a14c570..c4ba484b 100644 --- a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronPortChangeListener.java +++ b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronPortChangeListener.java @@ -165,14 +165,14 @@ public class NeutronPortChangeListener extends AbstractDataChangeListener private void handleNeutronPortUpdated(Port portoriginal, Port portupdate) { LOG.debug("Add port to subnet"); - // add port FixedIPs to local Subnets DS + // add port FixedIP to local Subnets DS Uuid vpnIdup = addPortToSubnets(portupdate); if (vpnIdup != null) { nvpnManager.createVpnInterface(vpnIdup, portupdate); } - // remove port FixedIPs from local Subnets DS + // remove port FixedIP from local Subnets DS Uuid vpnIdor = removePortFromSubnets(portoriginal); if (vpnIdor != null) { @@ -252,25 +252,22 @@ public class NeutronPortChangeListener extends AbstractDataChangeListener private Uuid addPortToSubnets(Port port) { Uuid subnetId = null; Uuid vpnId = null; - String name = NeutronvpnUtils.uuidToTapPortName(port.getUuid()); - - // find all subnets to which this port is associated - List ips = port.getFixedIps(); - for (FixedIps ip : ips) { - String ipValue = ip.getIpAddress().getIpv4Address().getValue(); - - InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue); - PortFixedipToPortNameBuilder builder = new PortFixedipToPortNameBuilder().setPortFixedip(ipValue) - .setPortName(name); - MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, builder.build()); - LOG.debug("fixedIp-name map for neutron port with fixedIp: {}, name: {} added to NeutronPortData DS", - ipValue, name); - - subnetId = ip.getSubnetId(); - Subnetmap subnetmap = nvpnManager.updateSubnetNode(subnetId, null, null, null, null, null, port.getUuid()); - if (subnetmap != null) { - vpnId = subnetmap.getVpnId(); - } + Subnetmap subnetmap = null; + String infName = port.getUuid().getValue(); + + // find the subnet to which this port is associated + FixedIps ip = port.getFixedIps().get(0); + String ipValue = ip.getIpAddress().getIpv4Address().getValue(); + InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue); + PortFixedipToPortNameBuilder builder = new PortFixedipToPortNameBuilder().setPortFixedip(ipValue) + .setPortName(infName); + MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, id, builder.build()); + LOG.debug("fixedIp-name map for neutron port with fixedIp: {}, name: {} added to NeutronPortData DS", + ipValue, infName); + subnetId = ip.getSubnetId(); + subnetmap = nvpnManager.updateSubnetNode(subnetId, null, null, null, null, null, port.getUuid()); + if (subnetmap != null) { + vpnId = subnetmap.getVpnId(); } return vpnId; } @@ -278,21 +275,18 @@ public class NeutronPortChangeListener extends AbstractDataChangeListener private Uuid removePortFromSubnets(Port port) { Uuid subnetId = null; Uuid vpnId = null; - - // find all Subnets to which this port is associated - List ips = port.getFixedIps(); - for (FixedIps ip : ips) { - String ipValue = ip.getIpAddress().getIpv4Address().getValue(); - - InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue); - MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, id); - LOG.debug("fixedIp-name map for neutron port with fixedIp: {} deleted from NeutronPortData DS", ipValue); - - subnetId = ip.getSubnetId(); - Subnetmap subnetmap = nvpnManager.removeFromSubnetNode(subnetId, null, null, null, port.getUuid()); - if (vpnId == null && subnetmap != null) { - vpnId = subnetmap.getVpnId(); - } + Subnetmap subnetmap = null; + + // find the subnet to which this port is associated + FixedIps ip = port.getFixedIps().get(0); + String ipValue = ip.getIpAddress().getIpv4Address().getValue(); + InstanceIdentifier id = NeutronvpnUtils.buildFixedIpToPortNameIdentifier(ipValue); + MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, id); + LOG.debug("fixedIp-name map for neutron port with fixedIp: {} deleted from NeutronPortData DS", ipValue); + subnetId = ip.getSubnetId(); + subnetmap = nvpnManager.removeFromSubnetNode(subnetId, null, null, null, port.getUuid()); + if (subnetmap != null) { + vpnId = subnetmap.getVpnId(); } return vpnId; } diff --git a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnManager.java b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnManager.java index 87803b96..0cf6cccd 100644 --- a/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnManager.java +++ b/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/vpnservice/neutronvpn/NeutronvpnManager.java @@ -440,9 +440,9 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { if (vpnId == null || port == null) { return; } - String portname = NeutronvpnUtils.uuidToTapPortName(port.getUuid()); + String infName = port.getUuid().getValue(); List adjList = new ArrayList(); - InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(portname); + InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(infName); // find router associated to vpn Uuid routerId = NeutronvpnUtils.getRouterforVpn(broker, vpnId); @@ -463,7 +463,7 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { // create extra route adjacency if (rtr != null && rtr.getRoutes() != null) { List routeList = rtr.getRoutes(); - List erAdjList = addAdjacencyforExtraRoute(routeList, false, portname); + List erAdjList = addAdjacencyforExtraRoute(routeList, false, infName); if (erAdjList != null && !erAdjList.isEmpty()) { adjList.addAll(erAdjList); } @@ -471,19 +471,19 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { } // create vpn-interface on this neutron port Adjacencies adjs = new AdjacenciesBuilder().setAdjacency(adjList).build(); - VpnInterfaceBuilder vpnb = new VpnInterfaceBuilder().setKey(new VpnInterfaceKey(portname)). - setName(portname).setVpnInstanceName(vpnId.getValue()).addAugmentation(Adjacencies.class, adjs); + VpnInterfaceBuilder vpnb = new VpnInterfaceBuilder().setKey(new VpnInterfaceKey(infName)). + setName(infName).setVpnInstanceName(vpnId.getValue()).addAugmentation(Adjacencies.class, adjs); VpnInterface vpnIf = vpnb.build(); try { - isLockAcquired = NeutronvpnUtils.lock(lockManager, portname); + isLockAcquired = NeutronvpnUtils.lock(lockManager, infName); logger.debug("Creating vpn interface {}", vpnIf); MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, vpnIfIdentifier, vpnIf); } catch (Exception ex) { - logger.error("Creation of vpninterface {} failed due to {}", portname, ex); + logger.error("Creation of vpninterface {} failed due to {}", infName, ex); } finally { if (isLockAcquired) { - NeutronvpnUtils.unlock(lockManager, portname); + NeutronvpnUtils.unlock(lockManager, infName); } } } @@ -492,18 +492,18 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { if (port != null) { boolean isLockAcquired = false; - String pname = NeutronvpnUtils.uuidToTapPortName(port.getUuid()); - InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(pname); + String infName = port.getUuid().getValue(); + InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(infName); try { - isLockAcquired = NeutronvpnUtils.lock(lockManager, pname); - logger.debug("Deleting vpn interface {}", pname); + isLockAcquired = NeutronvpnUtils.lock(lockManager, infName); + logger.debug("Deleting vpn interface {}", infName); MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, vpnIfIdentifier); } catch (Exception ex) { - logger.error("Deletion of vpninterface {} failed due to {}", pname, ex); + logger.error("Deletion of vpninterface {} failed due to {}", infName, ex); } finally { if (isLockAcquired) { - NeutronvpnUtils.unlock(lockManager, pname); + NeutronvpnUtils.unlock(lockManager, infName); } } } @@ -514,26 +514,25 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { return; } boolean isLockAcquired = false; - String portname = NeutronvpnUtils.uuidToTapPortName(port.getUuid()); - String ifname = new StringBuilder(portname).append(":0").toString(); - InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(ifname); + String infName = port.getUuid().getValue(); + InstanceIdentifier vpnIfIdentifier = NeutronvpnUtils.buildVpnInterfaceIdentifier(infName); try { Optional optionalVpnInterface = NeutronvpnUtils.read(broker, LogicalDatastoreType .CONFIGURATION, vpnIfIdentifier); if (optionalVpnInterface.isPresent()) { VpnInterfaceBuilder vpnIfBuilder = new VpnInterfaceBuilder(optionalVpnInterface.get()); VpnInterface vpnIf = vpnIfBuilder.setVpnInstanceName(vpnId.getValue()).build(); - isLockAcquired = NeutronvpnUtils.lock(lockManager, ifname); + isLockAcquired = NeutronvpnUtils.lock(lockManager, infName); logger.debug("Updating vpn interface {}", vpnIf); MDSALUtil.syncUpdate(broker, LogicalDatastoreType.CONFIGURATION, vpnIfIdentifier, vpnIf); } else { - logger.error("VPN Interface {} not found", ifname); + logger.error("VPN Interface {} not found", infName); } } catch (Exception ex) { - logger.error("Updation of vpninterface {} failed due to {}", ifname, ex); + logger.error("Updation of vpninterface {} failed due to {}", infName, ex); } finally { if (isLockAcquired) { - NeutronvpnUtils.unlock(lockManager, ifname); + NeutronvpnUtils.unlock(lockManager, infName); } } } @@ -635,7 +634,10 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { vpnsIdentifier); if (optionalVpns.isPresent() && optionalVpns.get().getVpnInstance() != null) { for (VpnInstance vpn : optionalVpns.get().getVpnInstance()) { - vpns.add(vpn); + // eliminating internal VPNs from getL3VPN output + if (vpn.getIpv4Family().getRouteDistinguisher() != null) { + vpns.add(vpn); + } } } else { // No VPN present @@ -800,38 +802,38 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { String nextHop = String.valueOf(route.getNexthop().getValue()); String destination = String.valueOf(route.getDestination().getValue()); - String tapPortName = NeutronvpnUtils.getNeutronPortNamefromPortFixedIp(broker, nextHop); - logger.trace("Adding extra route with nexthop {}, destination {}, ifName {}", nextHop, - destination, tapPortName); + String infName = NeutronvpnUtils.getNeutronPortNamefromPortFixedIp(broker, nextHop); + logger.trace("Adding extra route with nexthop {}, destination {}, infName {}", nextHop, + destination, infName); Adjacency erAdj = new AdjacencyBuilder().setIpAddress(destination).setNextHopIp(nextHop).setKey (new AdjacencyKey(destination)).build(); if (rtrUp == false) { - if (tapPortName.equals(vpnifname)) { + if (infName.equals(vpnifname)) { adjList.add(erAdj); } continue; } InstanceIdentifier vpnIfIdentifier = InstanceIdentifier.builder(VpnInterfaces.class). - child(VpnInterface.class, new VpnInterfaceKey(tapPortName)).build(); + child(VpnInterface.class, new VpnInterfaceKey(infName)).build(); try { Optional optionalVpnInterface = NeutronvpnUtils.read(broker, LogicalDatastoreType .CONFIGURATION, vpnIfIdentifier); if (optionalVpnInterface.isPresent()) { Adjacencies erAdjs = new AdjacenciesBuilder().setAdjacency(Arrays.asList(erAdj)).build(); - VpnInterface vpnIf = new VpnInterfaceBuilder().setKey(new VpnInterfaceKey(tapPortName)) + VpnInterface vpnIf = new VpnInterfaceBuilder().setKey(new VpnInterfaceKey(infName)) .addAugmentation(Adjacencies.class, erAdjs).build(); - isLockAcquired = NeutronvpnUtils.lock(lockManager, vpnifname); + isLockAcquired = NeutronvpnUtils.lock(lockManager, infName); logger.debug("Adding extra route {}", route); MDSALUtil.syncUpdate(broker, LogicalDatastoreType.CONFIGURATION, vpnIfIdentifier, vpnIf); } else { logger.error("VM adjacency for interface {} not present ; cannot add extra route adjacency", - tapPortName); + infName); } } catch (Exception e) { logger.error("exception in adding extra route: {}" + e); } finally { if (isLockAcquired) { - NeutronvpnUtils.unlock(lockManager, vpnifname); + NeutronvpnUtils.unlock(lockManager, infName); } } } else { @@ -848,21 +850,21 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { String nextHop = String.valueOf(route.getNexthop().getValue()); String destination = String.valueOf(route.getDestination().getValue()); - String tapPortName = NeutronvpnUtils.getNeutronPortNamefromPortFixedIp(broker, nextHop); - logger.trace("Removing extra route with nexthop {}, destination {}, ifName {}", nextHop, - destination, tapPortName); + String infName = NeutronvpnUtils.getNeutronPortNamefromPortFixedIp(broker, nextHop); + logger.trace("Removing extra route with nexthop {}, destination {}, infName {}", nextHop, + destination, infName); InstanceIdentifier adjacencyIdentifier = InstanceIdentifier.builder(VpnInterfaces.class). - child(VpnInterface.class, new VpnInterfaceKey(tapPortName)).augmentation(Adjacencies.class) + child(VpnInterface.class, new VpnInterfaceKey(infName)).augmentation(Adjacencies.class) .child(Adjacency.class, new AdjacencyKey(destination)).build(); try { - isLockAcquired = NeutronvpnUtils.lock(lockManager, tapPortName); + isLockAcquired = NeutronvpnUtils.lock(lockManager, infName); MDSALUtil.syncDelete(broker, LogicalDatastoreType.CONFIGURATION, adjacencyIdentifier); logger.trace("extra route {} deleted successfully", route); } catch (Exception e) { logger.error("exception in deleting extra route: {}" + e); } finally { if (isLockAcquired) { - NeutronvpnUtils.unlock(lockManager, tapPortName); + NeutronvpnUtils.unlock(lockManager, infName); } } } else { @@ -1255,18 +1257,18 @@ public class NeutronvpnManager implements NeutronvpnService, AutoCloseable { public List showNeutronPortsCLI() { List result = new ArrayList(); - result.add(String.format(" %-22s %-22s %-22s %-6s ", "PortName", "Mac Address", "IP Address", + result.add(String.format(" %-34s %-22s %-22s %-6s ", "PortName", "Mac Address", "IP Address", "Prefix Length")); result.add("---------------------------------------------------------------------------------------"); InstanceIdentifier portidentifier = InstanceIdentifier.create(Neutron.class).child(Ports.class); try { Optional ports = NeutronvpnUtils.read(broker, LogicalDatastoreType.CONFIGURATION, portidentifier); - if (ports.isPresent() && ports.get().getPort()!= null) { + if (ports.isPresent() && ports.get().getPort() != null) { List portList = ports.get().getPort(); for (Port port : portList) { - result.add(String.format(" %-22s %-22s %-22s %-6s ", NeutronvpnUtils.uuidToTapPortName(port - .getUuid()), port.getMacAddress(), port.getFixedIps().get(0).getIpAddress().getIpv4Address() - .getValue(), NeutronvpnUtils.getIPPrefixFromPort(broker, port))); + result.add(String.format(" %-34s %-22s %-22s %-6s ", port.getUuid().getValue(), port + .getMacAddress(), port.getFixedIps().get(0).getIpAddress().getIpv4Address().getValue(), + NeutronvpnUtils.getIPPrefixFromPort(broker, port))); } } } catch (Exception e) { diff --git a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java index e7e47174..20585e81 100644 --- a/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java +++ b/vpnmanager/vpnmanager-impl/src/main/java/org/opendaylight/vpnservice/VpnInterfaceManager.java @@ -749,8 +749,8 @@ public class VpnInterfaceManager extends AbstractDataChangeListener