yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #72889
[Bug 1771116] Re: network configuration fails on CentoS 7.5: using dhcp instead of static address
I believe the offending code to be in "_write_network" in
/usr/lib/python2.7/site-packages/cloudinit/distros/rhel.py
** Bug watch added: Red Hat Bugzilla #1577947
https://bugzilla.redhat.com/show_bug.cgi?id=1577947
** Also affects: cloud-init (CentOS) via
https://bugzilla.redhat.com/show_bug.cgi?id=1577947
Importance: Unknown
Status: Unknown
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to cloud-init.
https://bugs.launchpad.net/bugs/1771116
Title:
network configuration fails on CentoS 7.5: using dhcp instead of
static address
Status in cloud-init:
New
Status in cloud-init package in CentOS:
Unknown
Bug description:
Cloud-Provider: NoCloud via Proxmox and qm set
I have centostemplate CentOS 7.5 VM on Proxmox and with:
[root@centostemplate ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=9c[…]
DEVICE=eth0
ONBOOT=yes
DNS1=10.0.0.4
DOMAIN=qs.de
IPADDR=10.0.88.101
PREFIX=8
GATEWAY=10.0.0.4
IPV6_PRIVACY=no
PROXY_METHOD=none
BROWSER_ONLY=no
I have a script that on Proxmox does:
- qm clone 2100 2101 --name centos1
- qm set 2101 --ipconfig0 ip=10.0.88.151/8,gw=10.0.0.4 --cores 2 --memory 4096
- qm start 2101
I get
[root@centos1 ~]# cat /mnt/zeit/network-config
version: 1
config:
- type: physical
name: eth0
mac_address: F2:15:C8:E1:0A:49
subnets:
- type: static
address: 10.0.88.151/8
gateway: 10.0.0.4
- type: nameserver
address:
- 10.0.0.4
search:
- somedomain.de
[root@centos1 ~]# ip -4 addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
inet 10.0.0.161/16 brd 10.0.255.255 scope global noprefixroute dynamic eth0
valid_lft 171536sec preferred_lft 171536sec
and:
[root@centos1 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=none
DEFROUTE=yes
DEVICE=eth0
GATEWAY=10.0.0.4
HWADDR=F2:15:C8:E1:0A:49
IPADDR=10.0.88.151/8
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
[root@centos1 ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether f2:15:c8:e1:0a:49 brd ff:ff:ff:ff:ff:ff
Yet while this works it is wrong on RedHat. It has to be:
IPADDR=10.0.88.151
PREFIX=8
Otherwise I get this:
[root@centos1 ~]# LANG=C ifup eth0
ipcalc: both netmask and prefix specified
Usage: ipcalc [OPTION...]
-c, --check Validate IP address for specified address family
-4, --ipv4 IPv4 address family (default)
-6, --ipv6 IPv6 address family
-b, --broadcast Display calculated broadcast address
-h, --hostname Show hostname determined via DNS
-m, --netmask Display default netmask for IP (class A, B, or C)
-n, --network Display network address
-p, --prefix Display network prefix
-s, --silent Don't ever display error messages
Help options:
-?, --help Show this help message
--usage Display brief usage message
ipcalc: both netmask and prefix specified
Usage: ipcalc [OPTION...]
-c, --check Validate IP address for specified address family
-4, --ipv4 IPv4 address family (default)
-6, --ipv6 IPv6 address family
-b, --broadcast Display calculated broadcast address
-h, --hostname Show hostname determined via DNS
-m, --netmask Display default netmask for IP (class A, B, or C)
-n, --network Display network address
-p, --prefix Display network prefix
-s, --silent Don't ever display error messages
Help options:
-?, --help Show this help message
--usage Display brief usage message
ipcalc: both netmask and prefix specified
Usage: ipcalc [OPTION...]
-c, --check Validate IP address for specified address family
-4, --ipv4 IPv4 address family (default)
-6, --ipv6 IPv6 address family
-b, --broadcast Display calculated broadcast address
-h, --hostname Show hostname determined via DNS
-m, --netmask Display default netmask for IP (class A, B, or C)
-n, --network Display network address
-p, --prefix Display network prefix
-s, --silent Don't ever display error messages
Help options:
-?, --help Show this help message
--usage Display brief usage message
arping: 10.0.88.151/8: Name or service not known
Error: any valid prefix is expected rather than "10.0.88.151/8/".
ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Error adding address 10.0.88.151/8 for eth0.
arping: 10.0.88.151/8: Name or service not known
Error: any valid prefix is expected rather than "10.0.88.151/8/".
RTNETLINK answers: File exists
Consequently this little change fixes the issue:
[root@centos1 ~]# diff -u /etc/sysconfig/network-scripts/ifcfg-eth0.cloud-init.orig /etc/sysconfig/network-scripts/ifcfg-eth0
--- /etc/sysconfig/network-scripts/ifcfg-eth0.cloud-init.orig 2018-05-14 14:29:42.801000000 +0200
+++ /etc/sysconfig/network-scripts/ifcfg-eth0 2018-05-14 14:59:48.352000000 +0200
@@ -5,7 +5,8 @@
DEVICE=eth0
GATEWAY=10.0.0.4
HWADDR=F2:15:C8:E1:0A:49
-IPADDR=10.0.88.151/8
+IPADDR=10.0.88.151
+PREFIX=8
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1771116/+subscriptions
References