diskimage-builder/elements/dhcp-all-interfaces
Ben Nemec d20754f6ed Use %i instead of %I in dhcp-interface@.service
Per the bug report, %I results in -'s in the interface name being
replaced with /'s, which means when we try to look up the interface
by path in dhcp-all-interfaces.sh we end up at an invalid path.
Using %i instead should fix the problem.

See https://www.freedesktop.org/software/systemd/man/systemd.unit.html

Essentially what is happening is that we start with a name like
br-ex that wasn't escaped in the first place.  However, because of
the - it looks like it could have been escaped to systemd.  When
we use %I, which tries to unescape escaped values, it unescapes a
value that was already not escaped.

Change-Id: I434ed2e084d4477dc7a2b7827164586f8ea0c1e3
Closes-Bug: 1649409
2017-01-17 17:24:07 -06:00
..
install.d Use %i instead of %I in dhcp-interface@.service 2017-01-17 17:24:07 -06:00
element-deps dhcp-all-interfaces depends on dib-init-system 2016-04-22 09:23:11 +10:00
package-installs.yaml Use generic "dhcp-client" name 2016-04-22 11:31:54 +10:00
pkg-map Fix OpenSUSE support 2016-05-03 22:23:51 -07:00
README.rst Make DHCP timeout configurable 2017-01-04 15:41:04 -06:00

===================
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).

Environment Variables
---------------------

DIB_DHCP_TIMEOUT
  :Required: No
  :Default: 30
  :Description: Amount of time in seconds that the systemd service will
   wait to get an address.
  :Example: DIB_DHCP_TIMEOUT=300