All of our CI jobs are currently failing due to the below error in ironic-conductor. We recently added support for pxe_ilo and it looks like something changed that broke it.
Jan 8 15:29:07 ubuntu ironic-conductor: 2015-01-08 15:29:07,558 ERROR Driver pxe_ilo could not be loaded. Reason: local variable 'interface' referenced before assignment.#012Traceback (most recent call last):#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/openstack/common/threadgroup.py", line 143, in wait#012 x.wait()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/openstack/common/threadgroup.py", line 47, in wait#012 return self.thread.wait()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/eventlet/greenthread.py", line 175, in wait#012 return self._exit_event.wait()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait#012 return hubs.get_hub().switch()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch#012 return self.greenlet.switch()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main#012 result = function(*args, **kwargs)#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/openstack/common/service.py", line 500, in run_service#012 service.start()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/common/service.py", line 72, in start#012 self.manager.init_host()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/conductor/manager.py", line 195, in init_host#012 self._driver_factory = driver_factory.DriverFactory()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 80, in __init__#012 DriverFactory._init_extension_manager()#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 431, in inner#012 return f(*args, **kwargs)#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 120, in _init_extension_manager#012 on_load_failure_callback=_catch_driver_not_found))#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/stevedore/dispatch.py", line 155, in __init__#012 verify_requirements=verify_requirements,#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/stevedore/enabled.py", line 59, in __init__#012 verify_requirements=verify_requirements,#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/stevedore/extension.py", line 92, in __init__#012 verify_requirements)#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/stevedore/extension.py", line 170, in _load_plugins#012 self._on_load_failure_callback(self, ep, err)#012 File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/ironic/common/driver_factory.py", line 109, in _catch_driver_not_found#012 raise exception.DriverLoadError(driver=ep.name, reason=exc)#012DriverLoadError: Driver pxe_ilo could not be loaded. Reason: local variable 'interface' referenced before assignment.
Turns out this is likely a problem in oslo.utils. Fix coming shortly.