Sorry if this is a duplicate message, it seems my email client may not have replied correctly to the mailing list.
I tried the following two openstack images:
Both of them did not work, if there is one that doesn't include the cloud kernel variant I can't seem to find it.
The
/var/log/cloud-init.log does show it setting the correct IP address,
while /var/log/cloud-init-output.log shows the the address from DHCP.
2020-05-12
13:32:28,814 - __init__.py[DEBUG]: no work necessary for renaming of
[['d0:50:99:d3:47:d1', 'enp35s0', 'igb', '0x1533']]
2020-05-12
13:32:28,814 - stages.py[INFO]: Applying network configuration from ds
bringup=False: {'version': 1, 'config': [{'type': 'physical', 'subnets':
[{'type': 'static', 'netmask': '255.255.255.0', 'gateway':
'192.168.23.254', 'dns_nameservers': ['192.168.23.254'], 'address':
'192.168.23.100', 'ipv4': True}], 'mac_address': 'd0:50:99:d3:47:d1',
'name': 'enp35s0'}]}
2020-05-12 13:32:28,814 - __init__.py[DEBUG]: Selected renderer 'eni' from priority list: None
2020-05-12 13:32:28,816 - util.py[DEBUG]: Writing to /etc/network/interfaces.d/50-cloud-init.cfg - wb: [644] 467 bytes
2020-05-12 13:32:28,817 - util.py[DEBUG]: Writing to /etc/udev/rules.d/70-persistent-net.rules - wb: [644] 99 bytes
Cloud-init v. 18.3 running 'init-local' at Tue, 12 May 2020 13:32:28 +0000. Up 8.18 seconds.
Cloud-init v. 18.3 running 'init' at Tue, 12 May 2020 13:33:31 +0000. Up 70.94 seconds.
ci-info: ++++++++++++++++++++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++++++++++++++++++
ci-info: +-----------------+-------+------------------------------+---------------+--------+-------------------+
ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
ci-info: +-----------------+-------+------------------------------+---------------+--------+-------------------+
ci-info: | enp35s0 | True | 192.168.23.81 | 255.255.255.0 | global | d0:50:99:d3:47:d1 |
ci-info: | enp35s0 | True | fe80::d250:99ff:fed3:47d1/64 | . | link | d0:50:99:d3:47:d1 |
ci-info: | enp36s0 | False | . | . | . | d0:50:99:d3:47:d2 |
ci-info: | enp3s0f0u14u2c2 | False | . | . | . | 4e:a5:18:33:61:79 |
ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
ci-info: | lo | True | ::1/128 | . | host | . |
ci-info: +-----------------+-------+------------------------------+---------------+--------+-------------------+
The
server has 2 nics enp35s0 and enp36s0. Only enp35s0 is physically
plugged in and configured right now. enp3s0f0u14u2c2 is from my IPMI
console.
I looked at /etc/network/interfaces and found something a bit curious.
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
# Cloud images dynamically generate config fragments for newly
# attached interfaces. See /etc/udev/rules.d/75-cloud-ifupdown.rules
# and /etc/network/cloud-ifupdown-helper. Dynamically generated
# configuration fragments are stored in /run:
source-directory /run/network/interfaces.d
It looks like it's looking in /run/network/interfaces.d as well.
/etc/network/interfaces.d/50-cloud-init.cfg contains the correct things
auto lo
iface lo inet loopback
auto enp35s0
iface enp35s0 inet static
address
192.168.23.100/24 dns-nameservers 192.168.23.254
gateway 192.168.23.254
But there is a file here /run/network/interfaces.d/enp35s0 that contains
auto enp35s0
allow-hotplug enp35s0
iface enp35s0 inet dhcp
My
guess is because /run/network/interfaces.d is included it is overriding
whatever cloud-init is placing down and forcing dhcp. Not too sure
where to look next to figure out where that file is generated from and
how to turn it off when cloud-init is configuring the network.