When using Neutron there are edge cases when the network created by Neutron has not yet been created on the actual host. This results in the VM creation failing as the network is still to be created on the host:
2016-01-08 20:56:29.486 ^[[00;32mDEBUG oslo_vmware.exceptions [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mFault InvalidDeviceSpec not matched.^[[00m ^[[00;33mfrom (pid=28979) get_fault_class /usr/local/lib/python2.7/dist-packages/oslo_vmware/exceptions.py:295^[[00m
2016-01-08 20:56:29.486 ^[[01;31mERROR oslo_vmware.common.loopingcall [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31min fixed duration looping call^[[00m
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00mTraceback (most recent call last):
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_vmware/common/loopingcall.py", line 76, in _inner
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00m self.f(*self.args, **self.kw)
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00m File "/usr/local/lib/python2.7/dist-packages/oslo_vmware/api.py", line 428, in _poll_task
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00m raise task_ex
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00mVimFaultException: Invalid configuration for device '0'.
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00mFaults: ['InvalidDeviceSpec']
^[[01;31m2016-01-08 20:56:29.486 TRACE oslo_vmware.common.loopingcall ^[[01;35m^[[00m
Adding a retry will successfully address this - giving the actual host time to create the network
Fix proposed to branch: master /review. openstack. org/265764
Review: https:/