[ONOS-3788] Update floatingip's bug:according to our logic, when a
floatingip bind a vm, it can not be deleted and return a error status
code to openstack, but openstack do not deal with the error status code
and delete the floatingip, and this lead to APEX'functiontest does not
pass, so we have modified the code logic and allowed to delete the
floatingip which have bind a vm.

Change-Id: Ic4473ed4ee170be62f95c4168b39a507e6aea8b0
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java
index 3902593..e3e52e9 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/floatingip/impl/FloatingIpManager.java
@@ -224,11 +224,6 @@
                                                    "FloatingIP ID doesn't exist");
             }
             FloatingIp floatingIp = floatingIpStore.get(floatingIpId);
-            if (floatingIp.portId() != null) {
-                log.debug("The floating Ip is uesd by the port whose identifier is {}",
-                          floatingIp.portId().toString());
-                return false;
-            }
             floatingIpStore.remove(floatingIpId, floatingIp);
             floatingIpBindStore.remove(floatingIpId);
             if (floatingIpStore.containsKey(floatingIpId)) {
@@ -331,6 +326,11 @@
                 notifyListeners(new FloatingIpEvent(
                                                     FloatingIpEvent.Type.FLOATINGIP_DELETE,
                                                     floatingIp));
+                if (floatingIp.portId() != null) {
+                    notifyListeners(new FloatingIpEvent(
+                                                        FloatingIpEvent.Type.FLOATINGIP_UNBIND,
+                                                        floatingIp));
+                }
             }
         }
     }