failure to launch instance with self-referential security group
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Unassigned | ||
pyjuju |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Given a security group
$ euca-describe-group juju-stack
GROUP kapil_project juju-stack juju group for stack
PERMISSION kapil_project juju-stack ALLOWS tcp 22 22 FROM CIDR 0.0.0.0/0
PERMISSION kapil_project juju-stack ALLOWS icmp -1 -1 GRPNAME juju-stack
PERMISSION kapil_project juju-stack ALLOWS tcp 1 65535 GRPNAME juju-stack
PERMISSION kapil_project juju-stack ALLOWS udp 1 65536 GRPNAME juju-stack
And an attempt to launch an instance with that group
$ euca-run-instances -k kapil -t m1.small -g juju-stack ami-00000078
Will always result in a failure to launch the instance, it transitions from pending to error.
$ euca-describe-
RESERVATION r-ssme0x7j kapil_project juju-stack
INSTANCE i-00001ceb ami-00000078 server-7403 server-7403 error kapil 0 m1.small 2012-03-
Changed in juju: | |
milestone: | none → florence |
Changed in nova: | |
status: | New → Invalid |
Changed in juju: | |
status: | New → Invalid |
Changed in juju: | |
milestone: | florence → none |
These are the tracebacks we're seeing when this bug is invoked.
2012-03-26 19:21:28 ERROR nova.compute. manager [-] [instance: 2967f7b5- ae4a-4511- a8b0-10f330b7d5 df] Instance failed to spawn manager) : TRACE: Traceback (most recent call last): manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/compute/ manager. py", line 592, in _spawn manager) : TRACE: self._legacy_ nw_info( network_ info), block_device_info) manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/exception. py", line 114, in wrapped manager) : TRACE: return f(*args, **kw) manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ libvirt/ connection. py", line 926, in spawn manager) : TRACE: self.firewall_ driver. prepare_ instance_ filter( instance, network_info) manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ firewall. py", line 136, in prepare_ instance_ filter manager) : TRACE: self.add_ filters_ for_instance( instance) manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ firewall. py", line 178, in add_filters_ for_instance manager) : TRACE: ipv4_rules, ipv6_rules = self.instance_ rules(instance, network_info) manager) : TRACE: File "/usr/lib/ python2. 7/dist- packages/ nova/virt/ firewall. py", line 334, in instance_rules manager) : TRACE: ips.extend( net[1][ 'ips']) manager) : TRACE: KeyError: 1 manager) : TRACE:
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
(nova.compute.
Then again when trying to deallocate the network for the instance.
2012-03-26 19:21:28 DEBUG nova.compute. manager [-] [instance: 2967f7b5- ae4a-4511- a8b0-10f330b7d5 df] Deallocating network for instance from (pid=32203) _deallocate_network /usr/lib/ python2. 7/dist- packages/ nova/compute/ manager. py:616 python2. 7/dist- packages/ nova/rpc/ amqp.py: 346 python2. 7/dist- packages/ nova/rpc/ amqp.py" , line 252, in _process_data context= ctxt, **node_args) python2. 7/dist- packages/ nova/exception. py", line 114, in wrapped python2. 7/dist- packages/ nova/compute/ manager. py", line 177, in decorated_function python2. 7/contextlib. py", line 24, in __exit__ python2. 7/dist- packages/ nova/compute/ manager. py", line 171, in decorated_function python2. 7/dist- packages/ nova/compute/ manager. py", line 648, in run_instance instance( context, instance_u...
2012-03-26 19:21:28 DEBUG nova.rpc.amqp [-] Making asynchronous cast on network... from (pid=32203) cast /usr/lib/
2012-03-26 19:21:28 ERROR nova.rpc.amqp [-] Exception during message handling
(nova.rpc.amqp): TRACE: Traceback (most recent call last):
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: rval = node_func(
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: return f(*args, **kw)
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: sys.exc_info())
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: self.gen.next()
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: return function(self, context, instance_uuid, *args, **kwargs)
(nova.rpc.amqp): TRACE: File "/usr/lib/
(nova.rpc.amqp): TRACE: self._run_