Openstack Cloud-init do not assign proper network interface to instance

Viewed 671

I have a Openstack installation where lately some of the instances are not able to match de virtual interfaces attached to them and seems that is trying to link with old assigned mac to the same ip but deleted at some point from network maintenance and regenerated by the dhcp (I see that 'Cannot rename mac' in tables).

I try to understand when and what metadata service cloud-init asks for the ip-mac to configure it and if there is some kind of cache that it can remove to refresh the instance.

Any idea? There is a way I can recover my selfprovided specific IP and having Neutron clean?

[   17.414605] cloud-init[627]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'init-local' at Tue, 11 Jan 2022 17:11:50 +0000. Up 17.05 seconds.
[   17.419674] cloud-init[627]: 2022-01-11 17:11:50,714 - stages.py[WARNING]: Failed to rename devices: [nic not present] Cannot rename mac=fa:16:3e:5f:c5:a3 to ens3, not available.
[[0;32m  OK  [0m] Finished [0;1;39mInitial cloud-init job (pre-networking)[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mNetwork (Pre)[0m.
         Starting [0;1;39mNetwork Service[0m...
[[0;32m  OK  [0m] Started [0;1;39mNetwork Service[0m.
         Starting [0;1;39mWait for Network to be Configured[0m...
         Starting [0;1;39mNetwork Name Resolution[0m...
[[0;32m  OK  [0m] Finished [0;1;39mWait for Network to be Configured[0m.
         Starting [0;1;39mInitial cloud-ini��� (metadata service crawler)[0m...
[[0;32m  OK  [0m] Started [0;1;39mNetwork Name Resolution[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mNetwork[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mHost and Network Name Lookups[0m.
[   18.702674] cloud-init[638]: Cloud-init v. 21.4-0ubuntu1~20.04.1 running 'init' at Tue, 11 Jan 2022 17:11:51 +0000. Up 18.50 seconds.
[   18.706923] cloud-init[638]: ci-info: +++++++++++++++++++++++++++Net device info++++++++++++++++++++++++++++
[   18.710320] cloud-init[638]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
[   18.713541] cloud-init[638]: ci-info: | Device |   Up  |  Address  |    Mask   | Scope |     Hw-Address    |
[   18.716788] cloud-init[638]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
[   18.719333] cloud-init[638]: ci-info: |  ens3  | False |     .     |     .     |   .   | fa:16:3e:db:2c:9b |
[   18.722036] cloud-init[638]: ci-info: |   lo   |  True | 127.0.0.1 | 255.0.0.0 |  host |         .         |
[   18.725660] cloud-init[638]: ci-info: |   lo   |  True |  ::1/128  |     .     |  host |         .         |
[   18.728025] cloud-init[638]: ci-info: +--------+-------+-----------+-----------+-------+-------------------+
[   18.730341] cloud-init[638]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++
[   18.732360] cloud-init[638]: ci-info: +-------+-------------+---------+-----------+-------+
[   18.734362] cloud-init[638]: ci-info: | Route | Destination | Gateway | Interface | Flags |
[   18.737230] cloud-init[638]: ci-info: +-------+-------------+---------+-----------+-------+
[   18.739237] cloud-init[638]: ci-info: +-------+-------------+---------+-----------+-------+
[   18.742121] cloud-init[638]: 2022-01-11 17:11:52,003 - stages.py[WARNING]: Failed to rename devices: [nic not present] Cannot rename mac=fa:16:3e:5f:c5:a3 to ens3, not available.
[[0;32m  OK  [0m] Finished [0;1;39mInitial cloud-ini���ob (metadata service crawler)[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mCloud-config availability[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mNetwork is Online[0m.
[[0;32m  OK  [0m] Reached target [0;1;39mSystem Initialization[0m.
1 Answers

I answer myself in case it helps someone in the future. The metadata service doesn't seem to work well to overwrite the config from cloud-init although in the cloud-init logs it was seen that it recovered http://controller:8775/openstack/2016-10-06/network_data.json... Anyway, to get past this problem I just mounted the disk and directly edited ....etc/netplan/50-cloud-init.yaml with the expected MAC and then was binded properly.

Related