Red Hat Bugzilla – 1791949 – [B&R] After controller restore using ReaR cloud-init fails with error 'Failed to start Initial cloud-init job (metadata service crawler)' - 'RuntimeError: duplicate mac found! both 'br-ex' and 'ens5' have mac...'
[B&R] After controller restore using ReaR cloud-init fails with error 'Failed to start Initial cloud-init job (metadata service crawler)' - 'RuntimeError: duplicate mac found! both 'br-ex' and 'ens5' have mac...'
Description of problem:
After doing a restore using ReaR as per the procedure described at [1], upon looking at the console for the restored controller, it is evident that cloud-init failed [2]. Stack shows "RuntimeError: duplicate mac found! both 'br-ex' and 'ens5' have mac..."
oddly, pcs status shows nothing wrong.
Version-Release number of selected component (if applicable):
How reproducible:
100% with every systemctl restart cloud-init.service
Steps to Reproduce:
1. [In a virtual monolithic deployment] Use the tripleo-ansible role to create a backup of all controllers on the hypervisor
2. Restore one of the controllers as per [1]
3. reboot the restored controller and see the failure in the console
Actual results:
cloud-init fails to run
Expected results:
Cloud init should run successfully
Additional info:
[1] https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/13/html-single/undercloud_and_control_plane_back_up_and_restore/index
[2] http://pastebin.test.redhat.com/828099
Not sure why the component is python-ironic-lib but this looks more like an upgrade issue. Including Upgrades DFG.
Eliad - is it possible to get an sosreport?
Greetings,
I suspect I know what is happening (Mainly I had the same bug in another case long ago.) Essentially, upon restore the instance-id is different. Because cloud-init identifies the different id value from it's last configuration run, it attempts to reconfigure the machine as if it is a brand new cloned machine. Obviously this can be problematic with system that has undergone configuration from another tool set. Ideally, post initial configuration, we would disable cloud-init so it can never run again. That may not be the actual solution though.
-Julia