Better handle remove interface from router for unknown port uuid 06/9906/1
authorFlavio Fernandes <ffernand@redhat.com>
Wed, 13 Aug 2014 02:37:16 +0000 (22:37 -0400)
committerFlavio Fernandes <ffernand@redhat.com>
Wed, 13 Aug 2014 03:02:00 +0000 (23:02 -0400)
When doing "Remove interface from router" and only port uuid is
provided; the lookup in hash map may return null. If so, there
needs to be a check against NPE.

Change-Id: Ibaea49ac3fdfc08e92c95e818e5ec82628822f3f
Ref: http://docs.openstack.org/api/openstack-network/2.0/content/PUT_removeRouterInterface__v2.0_routers_remove_router_interface_router_ext.html
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
opendaylight/northbound/networkconfiguration/neutron/src/main/java/org/opendaylight/controller/networkconfig/neutron/northbound/NeutronRoutersNorthbound.java

index 806e853b3604ec7848e08176aaf7f8d8e8f3996f..0c02adad8a0d4d4ddf499efca66d39b05aff513c 100644 (file)
@@ -527,6 +527,9 @@ public class NeutronRoutersNorthbound {
         if (input.getPortUUID() != null &&
                 input.getSubnetUUID() == null) {
             NeutronRouter_Interface targetInterface = target.getInterfaces().get(input.getPortUUID());
+            if (targetInterface == null) {
+                throw new ResourceNotFoundException("Router interface not found for given Port UUID");
+            }
             input.setSubnetUUID(targetInterface.getSubnetUUID());
             input.setID(target.getID());
             input.setTenantID(target.getTenantID());
@@ -554,7 +557,7 @@ public class NeutronRoutersNorthbound {
                 throw new ResourceNotFoundException("Port UUID not found");
             }
             if (port.getFixedIPs() == null) {
-                throw new ResourceNotFoundException("Port UUID jas no fixed IPs");
+                throw new ResourceNotFoundException("Port UUID has no fixed IPs");
             }
             NeutronSubnet subnet = subnetInterface.getSubnet(input.getSubnetUUID());
             if (subnet == null) {