I can confirm Ian Wells' suspicion that the problem is related to scheduling. If there is an error interacting with Neutron during scheduling, the vm will be rescheduled but a port that was created before the scheduling failure will persist. Nova needs to be updated to remove or reuse the port in question.
I can confirm Ian Wells' suspicion that the problem is related to scheduling. If there is an error interacting with Neutron during scheduling, the vm will be rescheduled but a port that was created before the scheduling failure will persist. Nova needs to be updated to remove or reuse the port in question.
screen- n-sch.log: 2013-12- 18 10:00:27.458 ERROR nova.scheduler. filter_ scheduler [req-2e3e4274- 8348-471a- b9cb-69d0fd8f41 80 demo demo] [instance: 45d132e7- bf85-4c18- b751-738767e49e b5] Error from last host: precise-devstack (node precise-devstack): Traceback (most recent call last):
File "/opt/stack/ nova/nova/ compute/ manager. py", line 1058, in _build_instance access_ ip=set_ access_ ip)
set_
File "/opt/stack/ nova/nova/ compute/ manager. py", line 1462, in _spawn exception( _('Instance failed to spawn'), instance=instance)
LOG.
File "/opt/stack/ nova/nova/ openstack/ common/ excutils. py", line 68, in __exit__ reraise( self.type_ , self.value, self.tb)
six.
File "/opt/stack/ nova/nova/ compute/ manager. py", line 1459, in _spawn device_ info)
block_
File "/opt/stack/ nova/nova/ virt/libvirt/ driver. py", line 2168, in spawn pass=admin_ password)
admin_
File "/opt/stack/ nova/nova/ virt/libvirt/ driver. py", line 2529, in _create_image info=network_ info)
content=files, extra_md=extra_md, network_
File "/opt/stack/ nova/nova/ api/metadata/ base.py" , line 165, in __init__ get_ip_ info_for_ instance_ from_nw_ info(network_ info)
ec2utils.
File "/opt/stack/ nova/nova/ api/ec2/ ec2utils. py", line 149, in get_ip_ info_for_ instance_ from_nw_ info
fixed_ips = nw_info.fixed_ips()
File "/opt/stack/ nova/nova/ network/ model.py" , line 368, in _sync_wrapper
self.wait()
File "/opt/stack/ nova/nova/ network/ model.py" , line 400, in wait
self[:] = self._gt.wait()
File "/usr/local/ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 168, in wait event.wait( )
return self._exit_
File "/usr/local/ lib/python2. 7/dist- packages/ eventlet/ event.py" , line 120, in wait throw(* self._exc)
current.
File "/usr/local/ lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 194, in main
result = function(*args, **kwargs)
File "/opt/stack/ nova/nova/ compute/ manager. py", line 1243, in _allocate_ network_ async options= dhcp_options)
dhcp_
File "/opt/stack/ nova/nova/ network/ neutronv2/ api.py" , line 352, in allocate_ for_instance exception( msg, port_id)
LOG.
File "/opt/stack/ nova/nova/ openstack/ common/ excutils. py", line 68, in __exit__ reraise( self.type_ , self.value, self.tb)
six.
File "/opt/stack/ nova/nova/ network/ neutronv2/ api.py" , line 329, in allocate_ for_instance group_ids, available_macs, dhcp_opts))
security_
File "/opt/stack/ nova/nova/ network/ neutronv2/ api.py" , line 180, in _create_port create_ port(port_ req_body) ['port' ]['id']
port_id = port_client.
File "/opt/stack/ python- neutronclient/ neutronclient/ v2_0/client. py", line 112, in with_params instance, *args, **kwargs)
ret = self.function(
File "/opt/stack/ python- neutronclient/ neutronclient/ v2_0/client. py", line 317, in create_port self.ports_ path, body=body)
return self.post(
File "/opt/stack/ python- neutronclient/ neutronclient/ v2_0/client. py", line 1242, in post headers, params=params)
headers=
File "/opt/stack/ python- neutronclient/ neutronclient/ v2_0/client. py", line 1157, in do_request .do_request( action, method, body=body)
resp, replybody = self.httpclient
File "/opt/stack/ python- neutronclient/ neutronclient/ client. py", line 192, in do_request
**kwargs)
File "/opt/stack/ python- neutronclient/ neutronclient/ client. py", line 154, in _cs_request ConnectionFaile d(reason= e)
raise exceptions.
ConnectionFailed: Connection to neutron failed: timed out