When docker version 0.9.0 is used the nova docker driver cannot create an instance.
2014-03-14 14:50:23.293 ERROR nova.compute.manager [req-f553b192-ff5b-4d7e-ac9d-f7cca3804f74 admin demo] [instance: af7ffeee-da4d-4120-a412-61bad3991ced] Error: Cannot setup network: Cannot find any PID under container "612ada12e14f52771d32e3ae4c410ec31838c28aec8b53357531422d7c02b7d8"
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] Traceback (most recent call last):
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/compute/manager.py", line 1070, in _build_instance
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] set_access_ip=set_access_ip)
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/compute/manager.py", line 357, in decorated_function
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] return function(self, context, *args, **kwargs)
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/compute/manager.py", line 1478, in _spawn
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] LOG.exception(_('Instance failed to spawn'), instance=instance)
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/openstack/common/excutils.py", line 68, in __exit__
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] six.reraise(self.type_, self.value, self.tb)
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/compute/manager.py", line 1475, in _spawn
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] block_device_info)
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] File "/opt/stack/nova/nova/virt/docker/driver.py", line 313, in spawn
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] instance_id=instance['name'])
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced] InstanceDeployFailure: Cannot setup network: Cannot find any PID under container "612ada12e14f52771d32e3ae4c410ec31838c28aec8b53357531422d7c02b7d8"
2014-03-14 14:50:23.293 TRACE nova.compute.manager [instance: af7ffeee-da4d-4120-a412-61bad3991ced]
The driver fails in the '_find_container_pid' method. The reason is that in 0.9 there is a new built-in execution driver used by default (libcontainer). Instead of cgroup path /sys/fs/cgroup/devices/lxc/ it uses /sys/fs/cgroup/devices/docker/.
Could it be possible to rewrite _find_container_pid using the docker remote api and do not access cgroup filesystem directly?
possible solution is in the attachment