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-69d0fd8f4180 demo demo] [instance: 45d132e7-bf85-4c18-b751-738767e49eb5] 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 set_access_ip=set_access_ip) File "/opt/stack/nova/nova/compute/manager.py", line 1462, in _spawn LOG.exception(_('Instance failed to spawn'), instance=instance) File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__ six.reraise(self.type_, self.value, self.tb) File "/opt/stack/nova/nova/compute/manager.py", line 1459, in _spawn block_device_info) File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2168, in spawn admin_pass=admin_password) File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 2529, in _create_image content=files, extra_md=extra_md, network_info=network_info) File "/opt/stack/nova/nova/api/metadata/base.py", line 165, in __init__ ec2utils.get_ip_info_for_instance_from_nw_info(network_info) 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 return self._exit_event.wait() File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 120, in wait current.throw(*self._exc) 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 dhcp_options=dhcp_options) File "/opt/stack/nova/nova/network/neutronv2/api.py", line 352, in allocate_for_instance LOG.exception(msg, port_id) File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__ six.reraise(self.type_, self.value, self.tb) File "/opt/stack/nova/nova/network/neutronv2/api.py", line 329, in allocate_for_instance security_group_ids, available_macs, dhcp_opts)) File "/opt/stack/nova/nova/network/neutronv2/api.py", line 180, in _create_port port_id = port_client.create_port(port_req_body)['port']['id'] File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 112, in with_params ret = self.function(instance, *args, **kwargs) File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 317, in create_port return self.post(self.ports_path, body=body) File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1242, in post headers=headers, params=params) File "/opt/stack/python-neutronclient/neutronclient/v2_0/client.py", line 1157, in do_request resp, replybody = self.httpclient.do_request(action, method, body=body) 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 raise exceptions.ConnectionFailed(reason=e) ConnectionFailed: Connection to neutron failed: timed out