eb99fe7144
Currently there is no way for a service to become aware that dhcp-all-interfaces is finished configuring all the interfaces at boot time. This causes problems for applications like the ironic-python-agent which scans the interfaces when it first starts as part of the inspection stage and can race against dhcp-all-interfaces bringing up the interfaces, leading to inconsistent results. This patch ensures that the dhcp-all-interfaces script runs before any network interface is configured and brought up by the rest of the system, and also ensures that the ironic-agent element also waits for the network to be online before starting. This is done by using the network targets provided by systemd. Change-Id: Id9583b7f54361aa603a6229da598ad6a0f0f7938 |
||
---|---|---|
.. | ||
cleanup.d | ||
environment.d | ||
extra-data.d | ||
finalise.d | ||
install.d | ||
post-install.d | ||
test-elements/build-succeeds-fedora | ||
element-deps | ||
element-provides | ||
package-installs.yaml | ||
pkg-map | ||
README.rst | ||
source-repository-ironic-agent | ||
svc-map |
============ ironic-agent ============ Builds a ramdisk with ironic-python-agent. More information can be found at: https://git.openstack.org/cgit/openstack/ironic-python-agent/ Beyond installing the ironic-python-agent, this element does the following: * Installs the ``dhcp-all-interfaces`` so the node, upon booting, attempts to obtain an IP address on all available network interfaces. * Disables the ``iptables`` service on SysV and systemd based systems. * Disables the ``ufw`` service on Upstart based systems. * Installs packages required for the operation of the ironic-python-agent:: ``qemu-utils`` ``parted`` ``hdparm`` ``util-linux`` ``genisoimage`` * When installing from source, ``python-dev`` and ``gcc`` are also installed in order to support source based installation of ironic-python-agent and its dependencies. * Install the certificate if any, which is set to the environment variable ``DIB_IPA_CERT`` for validating the authenticity by ironic-python-agent. The certificate can be self-signed certificate or CA certificate. This element outputs three files: - ``$IMAGE-NAME.initramfs``: The deploy ramdisk file containing the ironic-python-agent (IPA) service. - ``$IMAGE-NAME.kernel``: The kernel binary file. - ``$IMAGE-NAME.vmlinuz``: A hard link pointing to the ``$IMAGE-NAME.kernel`` file; this is just a backward compatibility layer, please do not rely on this file. .. note:: The package based install currently only enables the service when using the systemd init system. This can easily be changed if there is an agent package which includes upstart or sysv packaging. .. note:: Using the ramdisk will require at least 1.5GB of ram