Bug 1874795

Summary: Switch validator.py code to python3-validations-libs
Product: Red Hat OpenStack Reporter: Cédric Jeanneret <cjeanner>
Component: python-tripleoclientAssignee: Cédric Jeanneret <cjeanner>
Status: CLOSED ERRATA QA Contact: David Rosenfeld <drosenfe>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 16.1 (Train)CC: aschultz, drosenfe, gchamoul, hbrock, jbuchta, jslagle, lhh, mbarnett, mbultel, mburns, mgarciac, nwolf, spower
Target Milestone: z2Keywords: FeatureBackport, Triaged
Target Release: 16.1 (Train on RHEL 8.2)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tripleoclient-12.3.2-1.20200914164927.72161e0.el8ost Doc Type: Release Note
Doc Text:
If this bug requires documentation, please select an appropriate Doc Type value.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-10-28 15:39:26 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:
Bug Depends On:    
Bug Blocks: 1858825    

Description Cédric Jeanneret 2020-09-02 09:16:39 UTC
Description of problem:

In order to keep a consistent and clear responsibilities separation, it would make sense to move the tripleo_validtor.py out of tripleoclient, and inject it from the tripleo-validations package.
That way, we can ensure we manage things properly, and get proper unit-testing on that CLI option.

Why wasn’t the new code directly integrated
We’re short in people resources, and had to make decisions in order to ensure we, at least, were able to deliver working solutions for our customers, other DFGs and internal teams that are using Validation Framework.
While we could have pushed the newer version, the schedule was too tight to ensure stable code and risk was evaluated to be too great to take.

Pros
- Only one version of the framework to maintain
- Faster bug fixes
- Easier to understand for newcomers
- Cleaner integration
- Better testing (via the unit-testing and upstream functional tests in the libs)
- Both packages (validations-common and python3-validations-libs) already exist in the tree (introduced for 16.1 GA)

Cons
- 2 new packages will be installed on the undercloud (validations-common and python3-validations-libs).
- A bit of work will be needed on the QE side, but we’re already in touch with them regarding the regression and functional testing

Comment 2 spower 2020-09-02 10:39:14 UTC
This one needs PM/Dev/QE acks to get the 16.1 flag +

Comment 4 spower 2020-09-03 12:04:52 UTC
This has been conditionally approved for 16.1.2 if the fix is available by Sept 08. If not it will be moved to 16.1.3.

Comment 6 Lon Hohberger 2020-09-15 15:10:30 UTC
This did not make the cutoff, so moved out.

Comment 7 Cédric Jeanneret 2020-09-16 05:45:19 UTC
actually it made in, before the deadline. Putting back z2 and exception?.

Comment 11 David Rosenfeld 2020-09-23 12:46:24 UTC
This is seen when a validator is executed:

openstack tripleo validator list
Exception raised: No module named 'validations_libs'

Comment 12 mathieu bultel 2020-09-23 20:02:52 UTC
So after a quick look, it appear that the 16.1 deployment is missing the validations-common and python3-validations-libs packages.

I guess the python-tripleoclient doesn't depends on those two packages or tripleo-validations.

Comment 13 Gaël Chamoulaud 2020-09-24 07:11:50 UTC
Hi, python-tripleoclient have to get the validations-common package as BuildRequire and Require in the spec file like we have in rhos-17.0-rhel-8.

Unfortunately we miss that in rhos-16.[1|2]-rhel-8.

Comment 22 David Rosenfeld 2020-10-12 14:32:21 UTC
Validator regression performed. Packages were seen in build:

yum list installed | grep validations
openstack-tripleo-validations.noarch              11.3.2-1.20200914170825.el8ost                  @rhelosp-16.1            
python3-validations-libs.noarch                   1.0.5-1.20200914174429.4a660ec.el8ost           @rhelosp-16.1            
validations-common.noarch                         1.1.2-1.20200914180304.7f3c565.el8ost           @rhelosp-16.1 

Note: Some non-blocking validator issues were seen in regression. See:

https://bugzilla.redhat.com/show_bug.cgi?id=1887437   IndexError: list index out of range when using an empty validation group in "run" subcommand
https://bugzilla.redhat.com/show_bug.cgi?id=1887444   Running "openstack tripleo validator" without any overcloud leads to an inventory error and crash

Comment 23 David Rosenfeld 2020-10-12 14:49:20 UTC
Validator regression performed. Packages were seen in build:

yum list installed | grep validations
openstack-tripleo-validations.noarch              11.3.2-1.20200914170825.el8ost                  @rhelosp-16.1            
python3-validations-libs.noarch                   1.0.5-1.20200914174429.4a660ec.el8ost           @rhelosp-16.1            
validations-common.noarch                         1.1.2-1.20200914180304.7f3c565.el8ost           @rhelosp-16.1 

Note: Some non-blocking validator issues were seen in regression. See:

https://bugzilla.redhat.com/show_bug.cgi?id=1887437   IndexError: list index out of range when using an empty validation group in "run" subcommand
https://bugzilla.redhat.com/show_bug.cgi?id=1887444   Running "openstack tripleo validator" without any overcloud leads to an inventory error and crash
https://bugzilla.redhat.com/show_bug.cgi?id=1887467   Unclosed resource warning when running validator commands

Comment 28 errata-xmlrpc 2020-10-28 15:39:26 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 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:4284