summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacek Tomasiak <jacek.tomasiak@gmail.com>2017-04-21 08:56:25 +0200
committerJacek Tomasiak <jacek.tomasiak@gmail.com>2017-04-27 06:48:09 +0000
commitdd9c4d6186a953928ffa75b7ccd21a2cb32a5e6e (patch)
tree2e00f8a83c16b9d28f9909bb0502bdf3dd084fb6
parent000ade88a4e366dcc4c606c7c53977065fc2de49 (diff)
downloadironic-dd9c4d6186a953928ffa75b7ccd21a2cb32a5e6e.tar.gz
Read disk identifier after config drive setup
If original disk image has ID of 0x00000000 it's overwritten by parted with a non-zero value. The original ID is stored in pxelinux.cfg/* config file and the node fails to boot. Reading the ID was moved to after config drive setup so that the final ID is returned. Change-Id: Icbfa3e93bf6252177a0baa5f89bf4565ff331520 Closes-Bug: #1685093 (cherry picked from commit cbc29a9b7b78eafa830e2752e2c7f43604917259)
-rw-r--r--ironic/drivers/modules/deploy_utils.py3
-rw-r--r--releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml5
2 files changed, 7 insertions, 1 deletions
diff --git a/ironic/drivers/modules/deploy_utils.py b/ironic/drivers/modules/deploy_utils.py
index 32bb16deb..3ccd6c7cf 100644
--- a/ironic/drivers/modules/deploy_utils.py
+++ b/ironic/drivers/modules/deploy_utils.py
@@ -381,12 +381,13 @@ def deploy_disk_image(address, port, iqn, lun,
with _iscsi_setup_and_handle_errors(address, port, iqn,
lun) as dev:
disk_utils.populate_image(image_path, dev)
- disk_identifier = disk_utils.get_disk_identifier(dev)
if configdrive:
disk_utils.create_config_drive_partition(node_uuid, dev,
configdrive)
+ disk_identifier = disk_utils.get_disk_identifier(dev)
+
return {'disk identifier': disk_identifier}
diff --git a/releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml b/releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml
new file mode 100644
index 000000000..6404bc15e
--- /dev/null
+++ b/releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - Fix handling of whole disk images with 0x00000000 disk identifier.
+ Instances failed to boot as the identifier in boot config was overwritten
+ during config drive creation. See https://bugs.launchpad.net/ironic/+bug/1685093