In https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#using-predictable-nic-names-preparing-undercloud there is a playbook to rename the network interfaces to use predictable names. This only implements the changes to the configuration files and therefore requires a reboot in order to activate it. We could, and perhaps should, also rename the running interface at the same time so that we can avoid the reboot. As seen in https://unix.stackexchange.com/a/219277 this is possible by using ip link. <snip> /sbin/ip link set eth1 down /sbin/ip link set eth1 name eno1 /sbin/ip link set eno1 up <snip> The reboot adds a considerable amount of time to the upgrade process, so it really needs to be avoided.
Various approaches were attempted in https://review.opendev.org/801085 which did not work. Given that this requires restarting the network stack the risk of data plane problems between renaming the network interfaces and eventually running the leapp is something that we thought we'd rather not do. Instead, we'll opt to remove the leapp actor that blocks the upgrade. More to follow in a subsequent update once I have the details of that worked out.
--- begin change 1 --- In https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#using-predictable-nic-names-preparing-undercloud Remove: Reboot the undercloud node using the standard reboot procedures. For more information, see "Rebooting nodes". In https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#performing-a-leapp-upgrade-on-the-undercloud Add: Remove the persistent network names actor from the leapp process so that leapp will skip that check and proceed. This can be done safely due to completing the rename already in "4.3. Using predictable NIC names for the undercloud node". This step is key to avoiding a reboot before proceeding with the leapp process. NB: If the network interface renaming has not been completed, then the interface names may change after the upgrade to RHEL8.x is complete. $ sudo rm -rf /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py --- end change 1 --- --- begin change 2 --- In https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#using-predictable-nic-names-overcloud-leapp Remove: Reboot overcloud nodes using the standard reboot procedures. For more information, see "Rebooting nodes". In https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#creating-an-upgrades-environment-file-overcloud-leapp Add another line to LeappInitCommand: sudo rm -rf /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/persistentnetnamesdisable/actor.py --- end change 2 ---
The changes are now published on the Customer Portal: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#using-predictable-nic-names-preparing-undercloud https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#performing-a-leapp-upgrade-on-the-undercloud https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#creating-an-upgrades-environment-file-overcloud-leapp https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html-single/framework_for_upgrades_13_to_16.1/index#using-predictable-nic-names-overcloud-leapp Thank you