Debian IPA image built from diskimage-builder fails to connect to IPA and deploy the image.
[ 47.648789] ironic-python-agent[227]: Traceback (most recent call last):
[ 47.655924] ironic-python-agent[227]: File "/usr/local/bin/ironic-python-agent", line 7, in <module>
[ 47.665932] ironic-python-agent[227]: from ironic_python_agent.cmd.agent import run
[ 47.673927] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_python_agent/cmd/agent.py", line 21, in <module>
[ 47.682051] ironic-python-agent[227]: from ironic_python_agent import agent
[ 47.685036] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/ironic_python_agent/agent.py", line 24, in <module>
[ 47.701159] ironic-python-agent[227]: from oslo_concurrency import processutils
[ 47.705488] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/oslo_concurrency/processutils.py", line 44, in <module>
[ 47.713871] ironic-python-agent[227]: eventlet = importutils.try_import('eventlet')
[ 47.717587] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/oslo_utils/importutils.py", line 103, in try_import
[ 47.733915] ironic-python-agent[227]: return import_module(import_str)
[ 47.742764] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/oslo_utils/importutils.py", line 73, in import_module
[ 47.746878] ironic-python-agent[227]: __import__(import_str)
[ 47.755010] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/__init__.py", line 15, in <module>
[ 47.764308] ironic-python-agent[227]: from eventlet import convenience
[ 47.768814] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/convenience.py", line 6, in <module>
[ 47.775642] ironic-python-agent[227]: from eventlet.green import socket
[ 47.783709] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/green/socket.py", line 28, in <module>
[ 47.786912] ironic-python-agent[227]: from eventlet.support import greendns
[ 47.795796] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/support/greendns.py", line 69, in <module>
[ 47.804952] ironic-python-agent[227]: setattr(dns.rdtypes.IN, pkg, import_patched('dns.rdtypes.IN.' + pkg))
[ 47.813300] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/support/greendns.py", line 59, in import_patched
[ 47.822006] ironic-python-agent[227]: return patcher.import_patched(module_name, **modules)
[ 47.824860] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/patcher.py", line 119, in import_patched
[ 47.837999] ironic-python-agent[227]: *additional_modules + tuple(kw_additional_modules.items()))
[ 47.846553] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/patcher.py", line 93, in inject
[ 47.850276] ironic-python-agent[227]: module = __import__(module_name, {}, {}, module_name.split('.')[:-1])
[ 47.863267] ironic-python-agent[227]: File "/usr/share/ironic-python-agent/venv/local/lib/python2.7/site-packages/eventlet/support/dns/rdtypes/IN/WKS.py", line 23, in <module>
[ 47.866968] ironic-python-agent[227]: _proto_tcp = socket.getprotobyname('tcp')
[ 47.878334] ironic-python-agent[227]: socket.error: protocol not found
[ 47.922176] systemd[1]: ironic-python-agent.service: main process exited, code=exited, status=1/FAILURE
[ 47.929450] systemd[1]: Unit ironic-python-agent.service entered failed state.
[ 77.941854] systemd[1]: ironic-python-agent.service holdoff time over, scheduling restart.
A quick google revealed:
https://stackoverflow.com/questions/40184788/protocol-not-found-socket-getprotobyname
I unpacked the image, and /etc/protocol is missing, thus making this more of a dib issue, but it is still Ironic's element. :\
Confirmed in local testing that we need to install the netbase package on debian. I've proposed a fix to the element, and was able to confirm that it fixes the IPA startup issue locally.