Bug 1875489 - [OSP13->OSP16.1] Validations can't be run before the undercloud-upgrade
Summary: [OSP13->OSP16.1] Validations can't be run before the undercloud-upgrade
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient
Version: 16.1 (Train)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: z2
: 16.1 (Train on RHEL 8.2)
Assignee: Cédric Jeanneret
QA Contact: nlevinki
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-03 15:26 UTC by Jose Luis Franco
Modified: 2020-12-15 18:37 UTC (History)
11 users (show)

Fixed In Version: python-tripleoclient-12.3.2-1.20200914164930.el8ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-12-15 18:36:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 749915 0 None MERGED Allow to pass a static inventory to the validator CLI 2021-02-12 15:29:35 UTC
OpenStack gerrit 750331 0 None MERGED Allow to pass a static inventory to the validator CLI 2021-02-12 15:29:35 UTC
OpenStack gerrit 750354 0 None MERGED Allow to pass a static inventory to the validator CLI 2021-02-12 15:29:35 UTC
Red Hat Product Errata RHEA-2020:5413 0 None None None 2020-12-15 18:37:03 UTC

Description Jose Luis Franco 2020-09-03 15:26:27 UTC
Description of problem:

One of the benefits of the tripleo-validations is to catch issues in advance, mostly in 2nd day operations like upgrades/updates. However, in the FFU (13 to 16.1) workflow there are a set of operations in which the validations don't work due to the upgrade workflow itself.

In the undercloud upgrade we have two stages: the RHEL upgrade and the OpenStack services upgrade.

To tackle the pre RHEL upgrade requirement checks we can rely on the "leapp preupgrade" check command, which will simulate a leapp upgrade and say if there are any issues with your system. This should be managed in the docs: https://bugzilla.redhat.com/show_bug.cgi?id=1874852

Then, the second step, is once we are in RHEL8 but no OSP services were installed yet. At this step, we install python3-tripleoclient which will bring us tripleo-validations packages with the VF. But, when trying to run one of the validations we get an error because tripleo validator can't contant Heat service. This heat service is required to build the inventory. This blocks us from running any check at this stage (which is one with common issues, like misconfigured undercloud.conf or wrong containers-prepare-parameters.yaml , etc...).

The requirement would be to allow running the Validations Framework with a static inventory, so that we can build such an inventory before starting the whole upgrade (when all OSP services are run) and then use it for the validations, passing it with "--static-inventory tripleo-inventory.yaml".

This way VF can skip the need to contact heat to build the inventory, letting us run the validations before issuing "openstack undercloud upgrade".


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


How reproducible:


Steps to Reproduce:
1. Upgrade the Undercloud using FFU docs https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/framework_for_upgrades_13_to_16.1/upgrading_the_undercloud
2. Try to run one validation before the step: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.1/html/framework_for_upgrades_13_to_16.1/upgrading-director#running-the-director-upgrade
3.

Actual results:


Expected results:


Additional info:

Comment 1 Cédric Jeanneret 2020-09-04 09:06:18 UTC
Hello Jose,

Thanks for this report! That's more or less what I understood yesterday :).

So, couple of things:
- we're working hard in order to switch osp-16.1 validator code to the new packages (python3-validations-libs, validations-common). Those packages provide a script that might be used instead of the validator CLI
- we can probably do a train-only patch *now* in order to ensure it's at least available in 16.1.2 so that we're clearing your current issue in any cases. Later we can do the master/ussuri patch (code-base is different, hence point 1)

I'll check about our availabilities and capacities, and link things accordingly.

Cheers,

C.

Comment 3 Cédric Jeanneret 2020-09-04 09:46:19 UTC
Quick update:

A train-only patch is up: https://review.opendev.org/749909
A master patch is up as well: https://review.opendev.org/749915

So we're covered. Have to wait a bit in order to know which one will actually land, depending on the exception we've requested[1].

Cheers,

C.


[1] https://bugzilla.redhat.com/show_bug.cgi?id=1874795

Comment 4 mathieu bultel 2020-09-22 08:26:33 UTC
Patched merged on each branch

Comment 5 Cédric Jeanneret 2020-11-24 15:33:52 UTC
Moving to ON_QA with valid FIV, just checked the package on a live env.

To verify:
- install an undercloud
- check the output of "openstack tripleo validator run --help" and ensure it has a "--static-inventory STATIC_INVENTORY" option

Comment 15 errata-xmlrpc 2020-12-15 18:36:32 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.3 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/RHEA-2020:5413


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