Bug 1821834 - [OSP16.1] Rebase to RDO's python-etcd3gw-0.2.5-1
Summary: [OSP16.1] Rebase to RDO's python-etcd3gw-0.2.5-1
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-etcd3gw
Version: 16.0 (Train)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: beta
: 16.1 (Train on RHEL 8.2)
Assignee: Alan Bishop
QA Contact: Tzach Shefi
URL:
Whiteboard:
Depends On:
Blocks: 1700402 1804445
TreeView+ depends on / blocked
 
Reported: 2020-04-07 17:12 UTC by Alan Bishop
Modified: 2020-07-29 07:51 UTC (History)
4 users (show)

Fixed In Version: python-etcd3gw-0.2.5-1.el8ost
Doc Type: No Doc Update
Doc Text:
Clone Of: 1804445
Environment:
Last Closed: 2020-07-29 07:51:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2020:3148 0 None None None 2020-07-29 07:51:53 UTC

Description Alan Bishop 2020-04-07 17:12:40 UTC
+++ This bug was initially created as a clone of Bug #1804445 +++

The python-etcd3gw 0.2.4 package is missing this fix:

https://github.com/dims/etcd3-gateway/issues/24

which appears to be significant for running on Python 3.

--- Additional comment from John Eckersberg on 2020-02-21 14:13:34 UTC ---

I looked into this a bit.  I was able to use mock to rebuild python-etcd3gw-0.2.5 from rawhide (https://koji.fedoraproject.org/koji/buildinfo?buildID=1436305) against cbs with centos7, but I couldn't get it to work with centos8 due to some weird metadata error with modular python.  But the changes to rebase up to 0.2.5 and get the python3 fix is minor, if we can get the cbs builds in place that should be sufficient.

--- Additional comment from John Eckersberg on 2020-02-28 22:21:06 UTC ---

(In reply to John Eckersberg from comment #1)
> I looked into this a bit.  I was able to use mock to rebuild
> python-etcd3gw-0.2.5 from rawhide
> (https://koji.fedoraproject.org/koji/buildinfo?buildID=1436305) against cbs
> with centos7, but I couldn't get it to work with centos8 due to some weird
> metadata error with modular python.  But the changes to rebase up to 0.2.5
> and get the python3 fix is minor, if we can get the cbs builds in place that
> should be sufficient.

I looked into this a bit more today.  I got past the previous error with modular python by tweaking the mock config to explicitly include the base centos8 repo.

However, there is a conflict with the tests.

The cloud8-openstack repos for train and ussuri include python3-pluggy=0.13.0, whereas the base centos8 AppStream repo has python3-pluggy=0.6.0.

The version of python3-pytest in centos8 has an unversioned rpm requires on python3-pluggy, but the included requires.txt is more confined:

[root@centos8 ~]# grep pluggy /usr/lib/python3.6/site-packages/pytest-3.4.2-py3.6.egg-info/requires.txt
pluggy<0.7,>=0.5

So we end up with python3-pluggy=0.13.0 installed from the openstack repo, but then pytest cannot run because of the mismatch with the error:

Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.l8Wmat                                                                                                                                                                                                          
+ umask 022                                                                                                                                                                                                                                                    
+ cd /builddir/build/BUILD                                                                                                                                                                                                                                     
+ cd etcd3gw-0.2.5                                                                                                                                                                                                                                             
+ export PYTHON=/usr/libexec/platform-python                                                                                                                                                                                                                   
+ PYTHON=/usr/libexec/platform-python                                                                                                                                                                                                                          
+ rm -rf .testrepository/times.dbm                                                                                                                                                                                                                             
+ py.test-3                                                                                                                                                                                                                                                    
Traceback (most recent call last):                                                                                                                                                                                                                             
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 583, in _build_master                                                                                                                                                                
    ws.require(__requires__)                                                                                                                                                                                                                                   
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 900, in require                                                                                                                                                                      
    needed = self.resolve(parse_requirements(requirements))                                                                                                                                                                                                    
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 791, in resolve                                                                                                                                                                      
    raise VersionConflict(dist, req).with_context(dependent_req)                                                                                                                                                                                               
pkg_resources.ContextualVersionConflict: (pluggy 0.13.0 (/usr/lib/python3.6/site-packages), Requirement.parse('pluggy<0.7,>=0.5'), {'pytest'})                                                                                                                 

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/py.test-3", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3251, in <module>
    @_call_aside
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3235, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3264, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 585, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 598, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.6/site-packages/pkg_resources/__init__.py", line 786, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'pluggy<0.7,>=0.5' distribution was not found and is required by pytest


RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.l8Wmat (%check)

--- Additional comment from Alan Bishop on 2020-03-11 17:03:54 UTC ---

Can we get a newer version of python3-pytest added to the cloud8-openstack repos? I notice that downstream osp-16 repo contains python3-pytest-3.5.1-1

--- Additional comment from John Eckersberg on 2020-04-01 21:02:12 UTC ---

overdue updates:

Got updated builds for train/el7 and ussuri/el8:

- rdoinfo PR merged - https://review.rdoproject.org/r/#/c/26186/

- train/el7 build - https://cbs.centos.org/koji/buildinfo?buildID=29200

- ussuri/el8 build - https://cbs.centos.org/koji/buildinfo?buildID=29202

Getting builds updated in -testing is currently broken, seems to be something wrong with the package mirror.  Here's the review, I'm expecting this to just sort itself out when the mirror resyncs:

https://review.rdoproject.org/r/#/c/26203/

Comment 5 Tzach Shefi 2020-06-16 07:43:16 UTC
Verified on:
python3-etcd3gw-0.2.5-1.el8ost.noarch


Build:
16.1  -p RHOS-16.1-RHEL-8-20200609.n.0
Produced required file version:

()[root@central-controller0-0 /]#  rpm -qa | grep etcd3
python3-etcd3gw-0.2.5-1.el8ost.noarch

Comment 6 Alex McLeod 2020-06-16 12:32:13 UTC
If this bug requires doc text for errata release, please set the 'Doc Type' and provide draft text according to the template in the 'Doc Text' field. The documentation team will review, edit, and approve the text.

If this bug does not require doc text, please set the 'requires_doc_text' flag to '-'.

Comment 8 errata-xmlrpc 2020-07-29 07:51:29 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/RHBA-2020:3148


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