yum-minimal: do not configure eth0 & eth1 for DHCP automatically
Add an environment variable to control the creation of eth0/1 interface enablement scripts. With a tool such as glean, the presence of these scripts will indicate the interface is configured and configuration-drive settings will not be applied. This means in a non-dhcp situation like on Rackspace, network is broken. On Fedora, where later systemd provides "predictable network interface names" [1] eth0 & eth1 ironically aren't predictable so this just confuses things. You really need cloud-init or glean or something to bring up your interfaces in a sane fashion. This maintains the status-quo on centos-minimal, but disables creation for fedora-minimal. [1] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ Change-Id: I3f1ffeb6de3b1f952292a144efab9554f7f99a5f
This commit is contained in:
parent
c8c14edfe3
commit
1f499360fc
@ -12,3 +12,10 @@ flag to disk-image-create when using this element.
|
|||||||
The `DIB_OFFLINE` or more specific `DIB_YUMCHROOT_USE_CACHE`
|
The `DIB_OFFLINE` or more specific `DIB_YUMCHROOT_USE_CACHE`
|
||||||
variables can be set to prefer the use of a pre-cached root filesystem
|
variables can be set to prefer the use of a pre-cached root filesystem
|
||||||
tarball.
|
tarball.
|
||||||
|
|
||||||
|
By default, `DIB_YUM_MINIMAL_CREATE_INTERFACES` is set to enable the
|
||||||
|
creation of `/etc/sysconfig/network-scripts/ifcfg-eth[0|1]` scripts to
|
||||||
|
enable DHCP on the `eth0` & `eth1` interfaces. If you do not have
|
||||||
|
these interfaces, or if you are using something else to setup the
|
||||||
|
network such as cloud-init, glean or network-manager, you would want
|
||||||
|
to set this to `0`.
|
||||||
|
@ -1,2 +1,6 @@
|
|||||||
export DISTRO_NAME=centos
|
export DISTRO_NAME=centos
|
||||||
export DIB_RELEASE=${DIB_RELEASE:-7}
|
export DIB_RELEASE=${DIB_RELEASE:-7}
|
||||||
|
|
||||||
|
# by default, enable DHCP configuration of eth0 & eth1 in network
|
||||||
|
# scripts. See yum-minimal for full details
|
||||||
|
export DIB_YUM_MINIMAL_CREATE_INTERFACES=${DIB_YUM_MINIMAL_CREATE_INTERFACES:-1}
|
||||||
|
@ -12,3 +12,7 @@ Ubuntu and Debian. Nothing additional is needed on Fedora or CentOS.
|
|||||||
The `DIB_OFFLINE` or more specific `DIB_YUMCHROOT_USE_CACHE`
|
The `DIB_OFFLINE` or more specific `DIB_YUMCHROOT_USE_CACHE`
|
||||||
variables can be set to prefer the use of a pre-cached root filesystem
|
variables can be set to prefer the use of a pre-cached root filesystem
|
||||||
tarball.
|
tarball.
|
||||||
|
|
||||||
|
If you wish to have DHCP networking setup for eth0 & eth1 via
|
||||||
|
/etc/sysconfig/network-config scripts/ifcfg-eth[0|1], set the
|
||||||
|
environment variable `DIB_YUM_MINIMAL_CREATE_INTERFACES` to `1`.
|
||||||
|
@ -28,6 +28,12 @@ NETWORKING_IPV6=yes
|
|||||||
NOZEROCONF=yes
|
NOZEROCONF=yes
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# If you want eth0 and eth1 created as DHCP based interfaces, enable
|
||||||
|
# this. You don't want this if systemd is going to call the
|
||||||
|
# interfaces on the real system something else, or if you're using a
|
||||||
|
# network-manager like cloud-init, glean or network-manager that will
|
||||||
|
# handle the interfaces dynamically.
|
||||||
|
if [[ "${DIB_YUM_MINIMAL_CREATE_INTERFACES:-0}" -eq "1" ]]; then
|
||||||
for interface in eth0 eth1; do
|
for interface in eth0 eth1; do
|
||||||
cat << EOF | tee /etc/sysconfig/network-scripts/ifcfg-$interface > /dev/null
|
cat << EOF | tee /etc/sysconfig/network-scripts/ifcfg-$interface > /dev/null
|
||||||
DEVICE=$interface
|
DEVICE=$interface
|
||||||
@ -35,3 +41,4 @@ BOOTPROTO=dhcp
|
|||||||
ONBOOT=on
|
ONBOOT=on
|
||||||
EOF
|
EOF
|
||||||
done
|
done
|
||||||
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user