Bug 1741244

Summary: Warn when attempting to upgrade until upgrades are supported
Product: Red Hat OpenStack Reporter: Jiri Stransky <jstransk>
Component: python-tripleoclientAssignee: Jiri Stransky <jstransk>
Status: CLOSED ERRATA QA Contact: Sasha Smolyak <ssmolyak>
Severity: high Docs Contact:
Priority: high    
Version: 15.0 (Stein)CC: gregraka, hbrock, jslagle, lbezdick, mburns, morazi, sclewis
Target Milestone: rcKeywords: Triaged
Target Release: 15.0 (Stein)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tripleoclient-11.5.1-0.20190822030432.4d0c4ab.el8ost Doc Type: Known Issue
Doc Text:
Red Hat OpenStack Platform (RHOSP) does not yet support upgrading to version 15 from earlier RHOSP versions. Support for upgrading will be added to a future update of RHOSP 15.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-09-21 11:24:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jiri Stransky 2019-08-14 14:53:50 UTC
Description of problem:

We should warn that upgrades aren't yet supported when attempting to run the upgrade, just in case someone attempts to run the upgrade before instructions are released.

Comment 1 Jiri Stransky 2019-08-15 15:13:36 UTC
To handle this issue with overcloud upgrade, we can outright disable "openstack overcloud upgrade prepare" command, which has been the initial step of the upgrade workflow for quite some time now. This should make it clear for the user that they shouldn't attempt to upgrade the overcloud.


With undercloud, the situation is tricky, because in the undercloud upgrade code path there is no distinction between minor update and major upgrade. We always run `openstack undercloud upgrade` which essentially tries to perform a major upgrade. In case the command is being used in a minor update context, the DB syncs are essentially no-ops, but they are still being run.

Implementing a heuristic approach for the undercloud might be unreliable. We'd probably go along the lines of "if there is an existing OSP 15 undercloud present already, allow the upgrade". However, detecting the undercloud presence is not straightforward. E.g. if Satellite was used, the images loaded in Podman might not have "osp15" in their names. Or there could have been a problem which forced the user to clean the containers/images in Podman, and how would we then tell if the undercloud was already installed or not... Maybe go look at mariadb directory presence... This gets into hacky solutions and probably is best not attempted.

What we want to do for undercloud is to only allow running `openstack undercloud upgrade` on RHEL 8, not RHEL 7. This way, if a user manages to install the OSP 15 tripleoclient while still on RHEL 7, they will get an error message that they ran "openstack undercloud upgrade" on incompatible OS. If they haven't looked into upgrade docs yet by any chance, now they should go look, and we would ideally have a note in the docs that the upgrade isn't supported yet, until it is.

Comment 5 Jiri Stransky 2019-08-19 14:54:02 UTC
The way to force overcloud upgrade prepare to happen with the patched client is (applicable for preliminary testing):

OVERCLOUD_SKIP_UPGRADE_SUPPORT_CHECK=1 openstack overcloud upgrade prepare <args>

----

The way to force undercloud upgrade on RHEL 7 (i don't see why would ever someone want to do this except for the RHEL 8 check perhaps producing a false positive):

UNDERCLOUD_SKIP_OS_CHECK=1 openstack undercloud upgrade

Comment 19 errata-xmlrpc 2019-09-21 11:24:25 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, 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-2019:2811