Debian DIB based IPA fails to start

Bug #1708531 reported by Julia Kreger
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Bifrost
Fix Released
High
Julia Kreger
ironic-python-agent
Fix Released
High
Julia Kreger

Bug Description

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. :\

Revision history for this message
Julia Kreger (juliaashleykreger) wrote :

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.

Revision history for this message
Dmitry Tantsur (divius) wrote :
Changed in ironic-python-agent:
status: New → Fix Released
importance: Undecided → High
Changed in bifrost:
status: New → Fix Released
importance: Undecided → High
assignee: nobody → Julia Kreger (juliaashleykreger)
Changed in ironic-python-agent:
assignee: nobody → Julia Kreger (juliaashleykreger)
Revision history for this message
Mark Hamzy (mark-hamzy) wrote :

Just tried building IPA with DIB (commit 3fb0950808b7d2929b15822941b9aaf77975b667) and received this error. The DIB log did not install the package netbase. It was only suggested during the installation. I had to add it with the -p option.

Revision history for this message
Mark Hamzy (mark-hamzy) wrote :

sudo -E disk-image-create -o /home/hamzy/deployment_ipa_ppc64le.qcow2 -t qcow2 -a ppc64el -p tmux ubuntu-minimal devuser ironic-agent enable-serial-console simple-init

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.