Reverse the order of interface update and DNAT rule config

Configure DNAT rule first before adding floating ip address to interface
so advanced service router will not receive packets by accident before
DNAT rule configured.

Verified that traffic goes to the VM the created floating ip associated
with right after config.

Change-Id: I415d1138511f41c209f1f2a9c2f12c2cfd3d16f0
Closes-Bug: #1229548
This commit is contained in:
Kaiwei Fan 2013-09-26 23:49:15 -07:00
parent 67667256be
commit 5dcbddf516

View File

@ -695,8 +695,8 @@ class NvpAdvancedPlugin(sr_db.ServiceRouter_mixin,
router = self._get_router(context, router_id)
# TODO(fank): do rollback on error, or have a dedicated thread
# do sync work (rollback, re-configure, or make router down)
self._update_interface(context, router)
self._update_nat_rules(context, router)
self._update_interface(context, router)
return fip
def update_floatingip(self, context, id, floatingip):
@ -707,8 +707,8 @@ class NvpAdvancedPlugin(sr_db.ServiceRouter_mixin,
router = self._get_router(context, router_id)
# TODO(fank): do rollback on error, or have a dedicated thread
# do sync work (rollback, re-configure, or make router down)
self._update_interface(context, router)
self._update_nat_rules(context, router)
self._update_interface(context, router)
return fip
def delete_floatingip(self, context, id):