Bug 1983033 - Running playbook-nics.yaml should not require a reboot
Summary: Running playbook-nics.yaml should not require a reboot
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: documentation
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: z6
: 16.1 (Train on RHEL 8.2)
Assignee: Vlada Grosu
QA Contact: Jesse Pretorius
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-07-16 09:55 UTC by Jesse Pretorius
Modified: 2022-08-02 12:30 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-07-27 13:16:19 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 801085 0 None ABANDONED [upgrade] Rename running interfaces too 2021-07-21 17:40:48 UTC
Red Hat Issue Tracker OSP-6272 0 None None None 2022-08-02 12:30:31 UTC

Internal Links: 1984873 1984875

Description Jesse Pretorius 2021-07-16 09:55:39 UTC
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.

Comment 1 Jesse Pretorius 2021-07-21 17:43:05 UTC
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.

Comment 2 Jesse Pretorius 2021-07-22 11:18:02 UTC
--- 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 ---


Note You need to log in before you can comment on or make changes to this bug.