Bug 2051627

Summary: [OSP13->OSP16.1] Leapp actors directory change impacting in the upgrade
Product: Red Hat OpenStack Reporter: Jesse Pretorius <jpretori>
Component: openstack-tripleo-heat-templatesAssignee: Sergii Golovatiuk <sgolovat>
Status: CLOSED ERRATA QA Contact: Jason Grosso <jgrosso>
Severity: medium Docs Contact:
Priority: medium    
Version: 16.1 (Train)CC: mburns, spower
Target Milestone: z8Keywords: Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-11.3.2-1.20220114223344.el8ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-03-24 11:03:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jesse Pretorius 2022-02-07 16:21:05 UTC
This bug was initially created as a copy of Bug #2046211

I am copying this bug because: 

The same bug applies to OSP 16.1

Description of problem:

The mechanism used by Leapp to identify issues during the RHEL upgrade relies on some python clases named as actors. These actors block the upgrade in case of wrong configuration, or wrong interface names ,etc ... However, RHOSP required to workaround some of these actors to allow customers continue with their upgrade in specific situations, as well as to make faster our CI testing.

For that reason, a block of code was included in tht that would allow us, if required, to remove some of these actors at the time of upgrading Overcloud nodes:
https://github.com/openstack/tripleo-heat-templates/blob/stable/train/deployment/tripleo-packages/tripleo-packages-baremetal-puppet.yaml#L408

            - name: Remove leapp actors to prevent them inhibiting the upgrade
              vars:
                actors_to_remove: { get_attr: [RoleParametersValue, value, 'upgrade_leapp_actors_to_remove']}
              file:
                path: /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/{{ item }}/actor.py
                state: absent
              loop: "{{ actors_to_remove }}"

This code was introduced in:
16.2: https://bugzilla.redhat.com/show_bug.cgi?id=1984875
16.1: https://bugzilla.redhat.com/show_bug.cgi?id=1984873

In version leapp-0.13.0-100 the location of these actors was changed from:

/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/
into
/usr/share/leapp-repository/repositories/system_upgrade/common/actors/

making the block of code referenced above irrelevant, as no file will be removed from that directory and at the same time, making fail the other mechanism put in place to allow the upgrade with unsupported drivers:

https://github.com/openstack/tripleo-heat-templates/blob/stable/train/deployment/tripleo-packages/tripleo-packages-baremetal-puppet.yaml#L404-L411

We need to change the references to the directories or come up with a more robust solution which will work even if there are directory changes in the future.

This BZ impacts to all our CI jobs, making them fail:

http://rhos-ci-logs.lab.eng.tlv2.redhat.com/logs/rcj/DFG-upgrades-ffu-16.1-from-13-latest_cdn-3cont_3hci-ipv4-ovs_dvr/249/undercloud-0/home/stack/overcloud_system_upgrade-controller-0.log.gz


Version-Release number of selected component (if applicable):


How reproducible:

Run any FFU CI job from OSP13 to OSP16.1

Comment 13 errata-xmlrpc 2022-03-24 11:03:13 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Red Hat OpenStack Platform 16.1.8 bug fix and enhancement advisory), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:0986