problem with network delete when using gateways.
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
neutron |
Fix Released
|
High
|
dan wendlandt |
Bug Description
When using:
nova-manage --flagfile=
We are seeing:
(nova): TRACE: Traceback (most recent call last):
(nova): TRACE: File "/usr/local/
(nova): TRACE: execfile(__file__)
(nova): TRACE: File "/opt/stack/
(nova): TRACE: main()
(nova): TRACE: File "/opt/stack/
(nova): TRACE: fn(*fn_args, **fn_kwargs)
(nova): TRACE: File "/opt/stack/
(nova): TRACE: fixed_range, uuid)
(nova): TRACE: File "/opt/stack/
(nova): TRACE: raise exception.
(nova): TRACE: NetworkBusy: Network ae1d67bf-
(nova): TRACE:
This is on account of the gateway port not getting cleaned up. I do see that the QuantumManager tries to clean up the gateway port if it's the only one remaining, but that does not seem to be happening for some reason.
I just want to check if anyone is able to delete networks successfully using the nova-manage command (specifically which have the gateway port already provisioned on them as consequence of at least one VM having attached to that network at some point).
Changed in quantum: | |
status: | In Progress → Fix Committed |
Changed in quantum: | |
status: | Fix Committed → Fix Released |
Changed in quantum: | |
milestone: | essex-rc1 → 2012.1 |
Hi Sumit, thanks for the report. I think this is a bug. Taking a quick look, nova-manage seems to ignore the flags file and load the wrong linux_net. interface_ driver. Can you try this patch?
diff --git a/bin/nova-manage b/bin/nova-manage 'network_ size', 'nova.network. manager' ) DECLARE( 'vlan_start' , 'nova.network. manager' ) DECLARE( 'vpn_start' , 'nova.network. manager' ) DECLARE( 'default_ floating_ pool', 'nova.network. manager' ) DECLARE( 'public_ interface' , 'nova.network. linux_net' )
index 4927614..16b5331 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -105,7 +105,6 @@ flags.DECLARE(
flags.
flags.
flags.
-flags.
# Decorators for actions nds(object) :
help= 'Optional interface') 'public_ interface' , 'nova.network. linux_net' ) IPNetwork( ip_range)
admin_ context = context. get_admin_ context( )
@@ -632,6 +631,7 @@ class FloatingIpComma
def create(self, ip_range, pool=None, interface=None):
"""Creates floating ips for zone by range"""
+ flags.DECLARE(
addresses = netaddr.
if not pool: