Image and flavor metadata for libvirt watchdog is handled erroneously
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Glance |
Triaged
|
Undecided
|
Unassigned | ||
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Richil Bhalerao | ||
OpenStack Dashboard (Horizon) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
When I use Horizon to add the Watchdog Action (hw_watchdog_
I used devstack to try to find out some details about this issue. (I was able to reproduce this issue on stable/mitaka and on master as well.) I found the following:
USE CASE #1 :: flavor + underscore
$ nova flavor-show m1.nano
+------
| Property | Value |
+------
| OS-FLV-
| OS-FLV-
| disk | 0 |
| extra_specs | {"hw_watchdog_
| id | 42 |
| name | m1.nano |
| os-flavor-
| ram | 64 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+------
$ nova boot --flavor m1.nano --image cirros-
Result: Fault
Message
No valid host was found. There are not enough hosts available.
Code
500
Details
File "/opt/stack/
n-sch.log shows that nova.scheduler.
Use case #2 :: flavor + colon
$ nova flavor-show m1.nano
+------
| Property | Value |
+------
| OS-FLV-
| OS-FLV-
| disk | 0 |
| extra_specs | {"hw:watchdog_
| id | 42 |
| name | m1.nano |
| os-flavor-
| ram | 64 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+------
$ nova boot --flavor m1.nano --image cirros-
$ virsh dumpxml instance-00000131 | grep "<watchdog" -A 3
<watchdog model='i6300esb' action='reset'>
<alias name='watchdog0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</watchdog>
Result: The instance boots perfectly and the /dev/watchdog device is present.
USE CASE #3 :: image + underscore
$ nova flavor-show m1.nano
+------
| Property | Value |
+------
| OS-FLV-
| OS-FLV-
| disk | 0 |
| extra_specs | {} |
| id | 42 |
| name | m1.nano |
| os-flavor-
| ram | 64 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 1 |
+------
$ nova image-show cirros-
+------
| Property | Value |
+------
| OS-EXT-
| created | 2016-05-
| id | 863c2d04-
| metadata hw_watchdog_action | reset |
| minDisk | 0 |
| minRam | 0 |
| name | cirros-
| progress | 100 |
| status | ACTIVE |
| updated | 2016-05-
+------
$ nova boot --flavor m1.nano --image cirros-
$ virsh dumpxml instance-00000132 | grep "<watchdog" -A 3
<watchdog model='i6300esb' action='reset'>
<alias name='watchdog0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</watchdog>
Result: The instance boots perfectly and the /dev/watchdog device is present.
USE CASE #4 :: image + colon
$ nova image-show cirros-
+------
| Property | Value |
+------
| OS-EXT-
| created | 2016-05-
| id | 863c2d04-
| metadata hw | watchdog_action: reset |
| minDisk | 0 |
| minRam | 0 |
| name | cirros-
| progress | 100 |
| status | ACTIVE |
| updated | 2016-05-
+------
$ nova boot --flavor m1.nano --image cirros-
$ virsh dumpxml instance-00000133 | grep "<watchdog" -A 3
Result: Seemingly there are no errors during the boot process, but the watchdog device is not present.
tags: | added: scheduler |
Changed in nova: | |
status: | Incomplete → Confirmed |
Changed in nova: | |
assignee: | nobody → Richil Bhalerao (richil-bhalerao) |
Changed in nova: | |
status: | Confirmed → In Progress |
Please provide the scheduler logs at debug level