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 |
||
---|---|---|
.. | ||
install.d | ||
element-deps | ||
package-installs.yaml | ||
pkg-map | ||
README.rst |
=================== dhcp-all-interfaces =================== Autodetect network interfaces during boot and configure them for DHCP The rationale for this is that we are likely to require multiple network interfaces for use cases such as baremetal and there is no way to know ahead of time which one is which, so we will simply run a DHCP client on all interfaces with real MAC addresses (except lo) that are visible on the first boot. On non-Gentoo based distributions the script /usr/local/sbin/dhcp-all-interfaces.sh will be called early in each boot and will scan available network interfaces and ensure they are configured properly before networking services are started. On Gentoo based distributions we will install the dhcpcd package and ensure the service starts at boot. This service automatically sets up all interfaces found via dhcp and/or dhcpv6 (or SLAAC).