]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Fix for status always in PENDING_CREATE for Edge service router
authorKaiwei Fan <fank@vmware.com>
Mon, 16 Sep 2013 22:02:34 +0000 (15:02 -0700)
committerKaiwei Fan <fank@vmware.com>
Thu, 19 Sep 2013 17:59:28 +0000 (10:59 -0700)
commitd731097843d0b031bcdf6a8d67548f4bdf733016
tree4401729c5afcbea9ec3871dd67e1e55b333e6078
parent3468a03f42c05423b1aeb44cb09b9681f6a8b433
Fix for status always in PENDING_CREATE for Edge service router

The root cause is when deployment finished, we only update router status to
active if the status is in pending create. The problem happens when the
background sync thread update router status to active, so the status update
for vcns_router_binding table is skipped. We fixed this by seperating
checking and updating status for router and binding table.

Also fixed an issue where Edge is not deleted if neutron service is
restarted. The root cause is when neutron service restarts, the cache for
router type is empty. And because we delete the router from db before
we delete Edge, we're not able to locate the router from db to determine
the router type. The fix is to use binding table to determine the router
type.

Also piggyback a missing attribute for updating Edge interface. It must have
been removed by accident when resolving conflict during service plugin merge.

Closes-Bug: #1226229
Change-Id: I3d0639d245e71ea2a3faba70fef1a0ebb87e19fd
neutron/plugins/nicira/NeutronServicePlugin.py
neutron/plugins/nicira/vshield/edge_appliance_driver.py
neutron/tests/unit/nicira/test_edge_router.py