From b8d44834604e071f050515b96a64d8e00a09c379 Mon Sep 17 00:00:00 2001 From: Koby Aizer Date: Thu, 2 Mar 2017 12:24:55 +0200 Subject: [PATCH] Bug 7888: handle update of floating ip port In Ocata, when a floating ip port is created, its deviceId may be set to "PENDING", and an update will follow with the deviceId later on ([1]) This is causing both an uncaught exception in NeutronPortChangeListener.add() which assumed deviceId is always a Uuid, and also there is no creation of FloatingIpIdToPortMapping during update(). [1] https://review.openstack.org/#/c/396013/ Change-Id: Ide44ef016f0a8c576f02dfd28d9a4ee9d492841e Signed-off-by: Koby Aizer --- .../api/utils/NeutronConstants.java | 1 + .../neutronvpn/NeutronPortChangeListener.java | 20 +++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronConstants.java b/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronConstants.java index 7a83cb0e62..5ddb61891c 100644 --- a/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronConstants.java +++ b/vpnservice/neutronvpn/neutronvpn-api/src/main/java/org/opendaylight/netvirt/neutronvpn/api/utils/NeutronConstants.java @@ -12,6 +12,7 @@ public class NeutronConstants { public static final String DEVICE_OWNER_GATEWAY_INF = "network:router_gateway"; public static final String DEVICE_OWNER_ROUTER_INF = "network:router_interface"; public static final String DEVICE_OWNER_FLOATING_IP = "network:floatingip"; + public static final String FLOATING_IP_DEVICE_ID_PENDING = "PENDING"; public static final String PREFIX_TAP = "tap"; public static final String PREFIX_VHOSTUSER = "vhu"; public static final String RD_IDPOOL_NAME = "RouteDistinguisherPool"; diff --git a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java index 55cf817fa2..1ca9890bdf 100644 --- a/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java +++ b/vpnservice/neutronvpn/neutronvpn-impl/src/main/java/org/opendaylight/netvirt/neutronvpn/NeutronPortChangeListener.java @@ -118,14 +118,7 @@ public class NeutronPortChangeListener extends AsyncDataTreeChangeListenerBase