Node instance_info not updated during rebuild, rebuilds do not deploy new images
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ironic |
Fix Released
|
High
|
Adam Gandelman |
Bug Description
When a image is recreated (updated) and the node needs to be redeployed via 'heat stack-update', it fails. The error shows that the ironic node is still refering to the old image. This should be updated to use the new one. (image_source)
root@undercloud
+------
| Property | Value |
+------
| instance_uuid | dd5f0437-
| target_power_state | None |
| properties | {u'memory_mb': u'4096', u'cpu_arch': u'amd64', u'local_gb': u'20', |
| | u'cpus': u'2'} |
| maintenance | False |
| driver_info | {u'pxe_
| | u'pxe_deploy_
| | u'ssh_username': u'ghe', u'ssh_key_
| | u'/mnt/
| | u'192.168.122.1', u'ssh_virt_type': u'virsh'} |
| extra | {} |
| last_error | None |
| created_at | 2014-06-
| target_
| driver | pxe_ssh |
| updated_at | 2014-06-
| instance_info | {u'ramdisk': u'397b7985-
| | u'63a95d97-
| | u'image_source': u'fa8d3f4b-
| | u'ephemeral_
| | u'preserve_
| | u'TUZEAXCR6AUUF
| chassis_uuid | None |
| provision_state | active |
| reservation | None |
| power_state | power on |
| console_enabled | False |
| uuid | 1194694b-
+------
root@undercloud
| fault | {"message": "Failed to request Ironic to rebuild instance dd5f0437-
root@undercloud
+------
| Property | Value |
+------
| checksum | 8dfad757e3ad9fb
| container_format | bare |
| created_at | 2014-06-26T22:42:07 |
| deleted | True |
| deleted_at | 2014-06-26T23:39:14 |
| disk_format | qcow2 |
| id | fa8d3f4b-
| is_public | True |
| min_disk | 0 |
| min_ram | 0 |
| name | overcloud-control |
| owner | 88e6e44de1a94da
| protected | False |
| size | 1287204352 |
| status | deleted |
| updated_at | 2014-06-26T23:39:14 |
+------
root@undercloud
+------
| Property | Value |
+------
| Property 'kernel_id' | 145efc1a-
| Property 'ramdisk_id' | 704c76ad-
| checksum | a68a48d573d892d
| container_format | bare |
| created_at | 2014-06-26T23:39:16 |
| deleted | False |
| disk_format | qcow2 |
| id | 8b570f64-
| is_public | True |
| min_disk | 0 |
| min_ram | 0 |
| name | overcloud-control |
| owner | 88e6e44de1a94da
| protected | False |
| size | 1287696896 |
| status | active |
| updated_at | 2014-06-26T23:39:20 |
+------
A possible solution could be to test if the image is in state deleted, and update the image_source based in the name.
summary: |
- Node image_source not updated + Node image_source not updated, rebuilds do not deploy new images |
summary: |
- Node image_source not updated, rebuilds do not deploy new images + Node instance_info not updated during rebuild, rebuilds do not deploy + new images |
Changed in ironic: | |
importance: | Undecided → High |
tags: | added: nova-driver |
Changed in ironic: | |
status: | Confirmed → Triaged |
Changed in ironic: | |
milestone: | none → juno-2 |
Changed in ironic: | |
assignee: | Ghe Rivero (ghe.rivero) → Adam Gandelman (gandelman-a) |
Changed in ironic: | |
status: | Fix Committed → Fix Released |
Changed in ironic: | |
milestone: | juno-2 → 2014.2 |
TripleO + heat were used to produce the original bug. Before rebuild, the original image is deleted hence the validation failing during re-deployment. But the bug is more fundamental, the current rebulid code only updates the preserve_ephemeral flag, leaving image related driver fields untouched. The rebuilt server ends up rebuilding (or attempting to) with the original image information, regardless of what user image (if any) was passed during nova rebuild.