** Changed in: nova
       Status: Fix Committed => Fix Released

** Changed in: nova
    Milestone: None => kilo-1

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1349978

Title:
  hard reboot doesn't re-create instance folder

Status in OpenStack Compute (Nova):
  Fix Released

Bug description:
  I'm running stateless Nova compute servers (booted with ram_fs mounted
  on /). If I power-cycle a server it forgets all its instances but they
  could be recovered by hard-rebooting, except hard-rebooting a libvirt
  instance assumes the instance's folder already exists (ie.
  /var/lib/nova/instances/e4e4a4a3-1036-4734-9c0b-3bb34c88b8b6/). When
  nova tries to re-create the XML file it causes this stack trace:

  2014-07-29 16:02:41.250 2922 ERROR oslo.messaging.rpc.dispatcher [-] 
Exception during message handling: [Errno 2] No such file or directory: 
'/var/lib/nova/instances/e4e4a4a3-1036-4734-9c0b-3bb34c88b8b6/libvirt.xml'
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher Traceback 
(most recent call last):
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 133, 
in _dispatch_and_reply
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
incoming.message))
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 176, 
in _dispatch
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     return 
self._do_dispatch(endpoint, method, ctxt, args)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 122, 
in _do_dispatch
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     result = 
getattr(endpoint, method)(ctxt, **new_args)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/exception.py", line 88, in wrapped
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     payload)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, 
in __exit__
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
six.reraise(self.type_, self.value, self.tb)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/exception.py", line 71, in wrapped
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     return 
f(self, context, *args, **kw)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 274, in 
decorated_function
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     pass
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, 
in __exit__
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
six.reraise(self.type_, self.value, self.tb)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 260, in 
decorated_function
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     return 
function(self, context, *args, **kwargs)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 327, in 
decorated_function
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
function(self, context, *args, **kwargs)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 303, in 
decorated_function
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     e, 
sys.exc_info())
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, 
in __exit__
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
six.reraise(self.type_, self.value, self.tb)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 290, in 
decorated_function
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     return 
function(self, context, *args, **kwargs)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2649, in 
reboot_instance
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
self._set_instance_obj_error_state(context, instance)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/openstack/common/excutils.py", line 68, 
in __exit__
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
six.reraise(self.type_, self.value, self.tb)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 2630, in 
reboot_instance
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
bad_volumes_callback=bad_volumes_callback)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 1999, in 
reboot
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
block_device_info)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 2092, in 
_hard_reboot
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
write_to_disk=True)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/driver.py", line 3455, in 
to_xml
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     
libvirt_utils.write_to_file(xml_path, xml)
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher   File 
"/usr/lib/python2.7/dist-packages/nova/virt/libvirt/utils.py", line 526, in 
write_to_file
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher     with 
open(path, 'w') as f:
  2014-07-29 16:02:41.250 2922 TRACE oslo.messaging.rpc.dispatcher IOError: 
[Errno 2] No such file or directory: 
'/var/lib/nova/instances/e4e4a4a3-1036-4734-9c0b-3bb34c88b8b6/libvirt.xml'

  If I manually create the directory then hard-reboot will re-create
  everything else and work as expected.

  OS: Ubuntu 14.04, 64-bit
  nova-compute version: icehouse 2014.1.1
  libvirt: v1.2.2
  Using Ceph for storage: v0.80.1

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1349978/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to