Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 1694286

Summary: python-cloudkittyclient requires PyYAML>=3.12 and python2-jsonpath-rw-ext>=1.1.1 but no RPM packages available
Product: [Community] RDO Reporter: angeiv.zhang
Component: python-openstackclientAssignee: Jakub Ruzicka <jruzicka>
Status: NEW --- QA Contact: Shai Revivo <srevivo>
Severity: low Docs Contact:
Priority: unspecified    
Version: trunkCC: angeiv.zhang, apevec, jruzicka
Target Milestone: ---   
Target Release: trunk   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
reproduce and error log none

Description angeiv.zhang 2019-03-30 05:31:43 UTC
Created attachment 1549639 [details]
reproduce and error log

Description of problem:
python-cloudkitty could not use because of PyYAML dependency,
it requires PyYAML 3.12 but there is only PyYAML 3.10 present


Version-Release number of selected component (if applicable):
python2-cloudkittyclient-2.0.0-1.el7.noarch
PyYAML-3.10-11.el7.x86_64


How reproducible:
Install OpenStack Rocky repository and install python-cloudkittyclient,
then execute cloudkitty cli.


Steps to Reproduce:
1. yum install centos-release-openstack-rocky
2. yum install python-cloudkittyclient
3. cloudkitty --debug -h
   or
   openstack --debug -h

Actual results:
Could not load EntryPoint.parse('collector_disable = cloudkittyclient.v1.collector_cli:CliCollectorDisable')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 43, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2407, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2430, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 875, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
VersionConflict: (PyYAML 3.10 (/usr/lib64/python2.7/site-packages), Requirement.parse('PyYAML<4.0,>=3.12'))


Expected results:
cli executes as normal as novaclient or others.


Additional info:
openstack -h

Comment 1 angeiv.zhang 2019-03-31 02:50:13 UTC
When upgrade PyYAML to 3.12 by using pip,
a new error occurred:

Could not load EntryPoint.parse('pyscript_list = cloudkittyclient.v1.rating.pyscripts_cli:CliListScripts')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 43, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2407, in load
    self.require(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2430, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/usr/lib/python2.7/site-packages/pkg_resources/__init__.py", line 875, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
ContextualVersionConflict: (pbr 4.1.0 (/usr/lib/python2.7/site-packages), Requirement.parse('pbr<2.0,>=1.4'), set(['jsonpath-rw-ext']))


[root@219a0e085016 /]# yum info python2-jsonpath-rw-ext
Installed Packages
Name        : python2-jsonpath-rw-ext
Arch        : noarch
Version     : 1.0.0
Release     : 1.el7
Size        : 120 k
Repo        : installed
From repo   : centos-openstack-rocky
Summary     : Extensions for JSONPath RW
URL         : https://github.com/sileht/python-jsonpath-rw-ext
License     : ASL 2.0
Description : Extensions for JSONPath RW

jsonpath-rw-ext 1.1.1 changes requirements pbr from pbr<2.0,>=1.4 to pbr>=1.8,
after pip install jsonpath-rw-ext==1.1.1,
cloudkitty client works normal:

[root@219a0e085016 /]# source admin-openrc
[root@219a0e085016 /]# cloudkitty module list
+-----------+---------+----------+
| Module    | Enabled | Priority |
+-----------+---------+----------+
| noop      | True    |        1 |
| hashmap   | True    |        1 |
| pyscripts | False   |        1 |
+-----------+---------+----------+

But I have no idea about upgrade PyYAML and jsonpath-rw-ext will affect other components or not.