summaryrefslogtreecommitdiff
path: root/ironic_python_agent/extensions/image.py
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-08-03 15:40:51 +0000
committerGerrit Code Review <review@openstack.org>2018-08-03 15:40:51 +0000
commit667589bb007e144e37136e706c0b8196422b0344 (patch)
tree72020d04ff1043ac912d89ea9de7e38e058eced9 /ironic_python_agent/extensions/image.py
parentd0092633498c6611f5419d5b832042d57d344c8f (diff)
parent7e0bcbbeee12ce93f317f52e7c27192d53f9c5d1 (diff)
downloadironic-python-agent-667589bb007e144e37136e706c0b8196422b0344.tar.gz
Merge "fall back to PARTUUID if UUID not found."3.3.0
Diffstat (limited to 'ironic_python_agent/extensions/image.py')
-rw-r--r--ironic_python_agent/extensions/image.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/ironic_python_agent/extensions/image.py b/ironic_python_agent/extensions/image.py
index b6d1f0ea..e5b1b1aa 100644
--- a/ironic_python_agent/extensions/image.py
+++ b/ironic_python_agent/extensions/image.py
@@ -48,7 +48,8 @@ def _get_partition(device, uuid):
LOG.warning("Couldn't re-read the partition table "
"on device %s", device)
- report = utils.execute('lsblk', '-PbioKNAME,UUID,TYPE', device)[0]
+ lsblk = utils.execute('lsblk', '-PbioKNAME,UUID,PARTUUID,TYPE', device)
+ report = lsblk[0]
for line in report.split('\n'):
part = {}
# Split into KEY=VAL pairs
@@ -63,6 +64,10 @@ def _get_partition(device, uuid):
LOG.debug("Partition %(uuid)s found on device "
"%(dev)s", {'uuid': uuid, 'dev': device})
return '/dev/' + part.get('KNAME')
+ if part.get('PARTUUID') == uuid:
+ LOG.debug("Partition %(uuid)s found on device "
+ "%(dev)s", {'uuid': uuid, 'dev': device})
+ return '/dev/' + part.get('KNAME')
else:
error_msg = ("No partition with UUID %(uuid)s found on "
"device %(dev)s" % {'uuid': uuid, 'dev': device})