nova-compute does not start after upgrade from juno->kilo if there are boot from volume servers running
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
In Progress
|
High
|
Nikola Đipanov |
Bug Description
Running: nova master in grenade tests
Relevant job that triggers this:
http://
This patch attempted to test the survivability of a "boot from volume" system over the course of the upgrade, however when we tried to do this a lot of tests failed.
It turns out that libvirt's device scan actually fails in this situation after boot:
2015-04-16 11:39:05.009 ERROR nova.openstack.
Command: sudo nova-rootwrap /etc/nova/
Exit code: 1
Stdout: u''
Stderr: u'blockdev: cannot open /dev/disk/
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
2015-04-16 11:39:05.009 13951 TRACE nova.openstack.
However ....
devstack> ls -al /dev/disk/
lrwxrwxrwx 1 root root 9 Apr 16 13:29 /dev/disk/
> ls -l /dev/sdb
brw-rw---- 1 libvirt-qemu kvm 8, 16 Apr 16 13:31 /dev/sdb
> sudo blockdev --info /dev/sdb
blockdev: cannot open /dev/sdb: No such device or address
Changed in nova: | |
importance: | Undecided → Critical |
tags: | added: kilo-backport-potential |
Changed in nova: | |
status: | New → Confirmed |
Changed in nova: | |
assignee: | Nikola Đipanov (ndipanov) → Matt Riedemann (mriedem) |
Changed in nova: | |
assignee: | Matt Riedemann (mriedem) → Nikola Đipanov (ndipanov) |
Ok, so... this turned out to be mostly an issue with the test environment:
stable/juno devstack also shut down tgt
the new service bringup order in grenade brings up nova first, cinder second.
Nova failed to come up under this circumstance for a boot from volume node (though, curiously enough, not for an attached volume).
Removing the extra tgt shutdown gets tests to pass in grenade. However, it does seem like nova-compute should never crash on startup, regardless of the state of the world. It also turns out that restarting tgt later would make the guest work perfectly well.