
The intention of the iscsi extension _wait_for_iscsi_daemon function is to wait till the tgtd process boots completely before running any iscsi commands through the tgtadm command line utility. The tgtd process utilises a unix socket for communication with the user and the _wait_for_iscsi_daemon function asserts the tgtd process status based on the socket presence. The socket name/path to use is not specified by iscsi extension configuration but rather falls-back to a (system-wide) default value[1]. Since tgtd version 1.0.60, this path changed from /var/run/tgtd.ipc_abstract_namespace to /var/run/tgtd/socket[2] and now causes a false-negative while waiting for the tgtd process to boot[3]. This patch follows implementation suggestion from the bug report[3] to avoid relying on the socket presence but rather to check the tgtd status by trying to communicate through the tgtadm tool. [1] https://github.com/openstack/ironic-python-agent/blob/ 5bbb9ded082f2cfde5e8877e9f33294eb93a5fb7/ ironic_python_agent/extensions/iscsi.py#L47 [2] https://github.com/fujita/tgt/commit/ d1aa4dcfd691c9409dbad5db49ce6754ce9c1b5a [3] https://bugs.launchpad.net/ironic-python-agent/+bug/1505923 Closes-Bug: #1505923 Change-Id: If3284e0b441fe6c2da507640c08a4bbefd9dad2b
ironic-python-agent
An agent for controlling and deploying Ironic controlled baremetal nodes.
The ironic-python-agent works with the agent driver in Ironic to provision the node. Starting with ironic-python-agent running on a ramdisk on the unprovisioned node, Ironic makes API calls to ironic-python-agent to provision the machine. This allows for greater control and flexibility of the entire deployment process.
The ironic-python-agent may also be used with the original Ironic pxe drivers as of the Kilo OpenStack release.
Building the IPA deployment ramdisk
See CoreOS Image builder.
Using IPA with devstack
This is covered in the Deploying Ironic with DevStack section of the Ironic dev-quickstart guide.
Project Resources
Project status, bugs, and blueprints are tracked on Launchpad:
Developer documentation can be found here:
Additional resources are linked from the project wiki page:
- IRC channel:
-
#openstack-ironic
To contribute, start here: Openstack: How to contribute.