Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1527605

Summary: python-rtslib is missing RPM dependency on python-pyudev in ceph-tools repos
Product: Red Hat OpenStack Reporter: Eric Harney <eharney>
Component: openstack-cinderAssignee: Eric Harney <eharney>
Status: CLOSED ERRATA QA Contact: Avi Avraham <aavraham>
Severity: high Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: abishop, ceph-eng-bugs, ceph-qe-bugs, cschwede, eharney, kdreyer, mariel, mchristi, pgrist, scohen, srevivo, tchandra, tshefi, tvignaud
Target Milestone: z1Keywords: Triaged, ZStream
Target Release: 12.0 (Pike)   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: openstack-cinder-11.0.1-2.el7ost.noarch Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1520637 Environment:
Last Closed: 2018-01-30 20:13:01 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:
Attachments:
Description Flags
Cinder docker's logs none

Description Eric Harney 2017-12-19 15:56:45 UTC
+++ This bug was initially created as a clone of Bug #1520637 +++

The python-rtslib package requires python-pyudev, and that dependency is
properly noted in the RPM in the rhel-7.4 repo. However, the corresponding
RPMs in the ceph-2-rhel-7 and ceph-3.0-rhel-7 ceph-tools repos are missing
that dependency.

This issue is affecting containers built for Openstack. Specifically, when the
cinder-volume container is built, it pulls in python-rtslib from the ceph-2
ceph-tools repo. But when the container runs, it crashes because the
python-pyudev package is missing.

Comment 6 Tzach Shefi 2018-01-15 13:36:46 UTC
Created attachment 1381441 [details]
Cinder docker's logs

Comment 7 Alan Bishop 2018-01-15 13:56:55 UTC
The problem is apparent near the top of cinder-volume's log:

Stderr: u'/usr/lib/python2.7/site-packages/cinder/cmd/rtstool.py:25: UserWarning: \'rtslib\' package name for rtslib-fb is deprecated, please instead import \'rtslib_fb\'\n  import rtslib as rtslib_fb\nTraceback (most recent call last):\n  File "/usr/bin/cinder-rtstool", line 6, in <module>\n    from cinder.cmd.rtstool import main\n  File "/usr/lib/python2.7/site-packages/cinder/cmd/rtstool.py", line 25, in <module>\n    import rtslib as rtslib_fb\n  File "/usr/lib/python2.7/site-packages/rtslib/__init__.py", line 24, in <module>\n    from .root import RTSRoot\n  File "/usr/lib/python2.7/site-packages/rtslib/root.py", line 25, in <module>\n    from .node import CFSNode\n  File "/usr/lib/python2.7/site-packages/rtslib/node.py", line 23, in <module>\n    from .utils import fread, fwrite, RTSLibError, RTSLibNotInCFS\n  File "/usr/lib/python2.7/site-packages/rtslib/utils.py", line 30, in <module>\n    import pyudev\nImportError: No module named pyudev\n'

"No module named pyudev" means the cinder-volume container does not contain the fix.

Please attach the YAML file that shows the tag (i.e. version info) for the containers used in the deployment. You should also confirm the version matches what's available in the very latest z1 puddle (which appears to be rhosp12/openstack-cinder-volume:12.0-20180113.1).

Comment 8 Tzach Shefi 2018-01-16 08:53:48 UTC
Duh, focused on the head of error, missed that obvious bit.

I'm not sure which yaml you'd like me to attach, path/name ? 

Docker inspect cinder_volume->
"name": "rhosp12/openstack-cinder-volume",
                "release": "20180104.2",


Is there any way to force a newer docker image (is it)?
Or just wait for next build, bug fixed-in is correct: 
openstack-cinder-11.0.1-2.el7ost.
 
What indication would we have of a docker "fixed-in"/version to know when to recheck?

Comment 9 Alan Bishop 2018-01-16 12:47:41 UTC
The yaml file I was referring to is the one that specifies all the container images (I don't know the file name in your deployment), but the "release": "20180104.2" tells me what I need to know. That version is old, and predates the fix.

My understanding is all formally announced puddles (as opposed to internal test puddles) should have container images that match the RPM version found in that puddle.

The 10z1 puddle was announced yesterday, and the container_images.yaml file in the puddle indicates the cinder-volume container rev is "2.0-20180113.1" (much newer). Please retest using the z1 puddle.

Comment 10 Tzach Shefi 2018-01-18 08:15:13 UTC
Yesterday installed a new "latest" build:
12   -p 2018-01-16.2
puppet-cinder-11.3.0-2.el7ost.noarch
python-cinder-11.0.1-2.el7ost.noarch
python-cinderclient-3.1.0-1.el7ost.noarch
openstack-cinder-11.0.1-2.el7ost.noarch


Version still insufficient to verify
 "version-release": "12.0-20180104.2"

Comment 20 Tzach Shefi 2018-01-29 09:21:07 UTC
Verified on:
openstack-cinder-11.0.1-2.el7ost.noarch
openstack-cinder-base   12.0-20180124.1

On an HA system, ran tempest volume tests. 
Less backup and migration as these were expected to fail,
Alan found a new backup bug 1539090, only had 1 compute. 
Multibackup also skipped, only 1 backend.  

Ran 223 (+3) tests in 5392.949s (+750.685s)
PASSED (id=2, skips=22)

Deployment also worked on a none HA system, 
yet I don't have tempest results for that system.

Comment 24 errata-xmlrpc 2018-01-30 20:13:01 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-2018:0244