ironic-lib's attempt to execute hexdump in an IPA image, when hexdump is missing, will result in a failed deployment.
I observed this on an IPA image built with debian as the base OS, using diskimage-builder.
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.743 274 DEBUG oslo_concurrency.processutils [-] u'hexdump -s 440 -n 4 -e "0x%08x" /dev/vda' failed. Not Retrying. execute /usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py:452
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root [-] Command failed: prepare_image, error: [Errno 2] No such file or directory: OSError: [Errno 2] No such file or directory
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root Traceback (most recent call last):
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_python_agent/extensions/base.py", line 160, in run
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root result = self.execute_method(**self.command_params)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_python_agent/extensions/standby.py", line 476, in prepare_image
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root self.partition_uuids)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_python_agent/extensions/standby.py", line 157, in _message_format
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root root_uuid = disk_utils.get_disk_identifier(device)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_lib/disk_utils.py", line 151, in get_disk_identifier
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root delay_on_retry=True)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_lib/utils.py", line 98, in execute
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root result = processutils.execute(*cmd, **kwargs)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 386, in execute
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root env=env_variables)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/lib/python2.7/subprocess.py", line 710, in __init__
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root errread, errwrite)
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root File "/usr/lib/python2.7/subprocess.py", line 1335, in _execute_child
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root raise child_exception
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root OSError: [Errno 2] No such file or directory
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.751 274 ERROR root
Nov 15 13:49:14 debian ironic-python-agent[274]: 2017-11-15 13:49:14.896 274 INFO ironic_python_agent.agent [-] heartbeat successful
Fix proposed to branch: master /review. openstack. org/520223
Review: https:/