swift proxy with ceilometer pipeline fails to start version conflict

Bug #1515409 reported by Matt Wear
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Fix Released
Critical
Unassigned
Kilo
Fix Released
Critical
Unassigned
ceilometer (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
Fix Released
Critical
Corey Bryant
python-ceilometerclient (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
New
Undecided
Unassigned
python-neutronclient (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
New
Undecided
Unassigned
python-oslo.concurrency (Ubuntu)
Invalid
Undecided
Unassigned
Vivid
New
Undecided
Unassigned

Bug Description

on a swift proxy server using ceilometer in the pipeline I get the following error after doing updates in kilo from the cloud archive from python-ceilometer 2015.1.0-0ubuntu1~cloud0 to 2015.1.2-0ubuntu1~cloud0

root@labproxy02:~# swift-init proxy start
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', **options))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 445, in run_wsgi
    loadapp(conf_path, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 354, in loadapp
    ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 338, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 725, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 632, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (python-neutronclient 2.3.11 (/usr/lib/python2.7/dist-packages), Requirement.parse('python-neutronclient>=2.4.0,<2.5.0'))

If i pull ceilometer out of the pipeline swift-init proxy start processes without issue. If I install the updated dependancies with pip I am able to start the proxy server without issues:
pip install python-neutronclient==2.4.0
pip install python-ceilometerclient==1.1.1
pip install oslo.concurrency==1.8.2

after updating those packages I am able to start the swift-proxy server. Can these dependencies be reviewed / updated in the cloud archive?
Thanks,
-Matt

Revision history for this message
James Page (james-page) wrote :

The latest update to ceilometer changed:

python-neutronclient<2.5.0,>=2.3.11

to

python-neutronclient<2.5.0,>=2.4.0

that should not have happened; looking into it now

Changed in cloud-archive:
status: New → Confirmed
importance: Undecided → Critical
Changed in ceilometer (Ubuntu):
status: New → Invalid
Changed in ceilometer (Ubuntu Vivid):
status: New → Triaged
importance: Undecided → Critical
Changed in cloud-archive:
status: Confirmed → Triaged
Revision history for this message
James Page (james-page) wrote :
Revision history for this message
James Page (james-page) wrote :
Revision history for this message
James Page (james-page) wrote :

All three of these are tricky post release in Ubuntu:

pip install python-neutronclient==2.4.0
pip install python-ceilometerclient==1.1.1
pip install oslo.concurrency==1.8.2

but I'm sure we can fix this up.

Revision history for this message
James Page (james-page) wrote :

All of these fixes where made due to gate issues upstream which don't impact into Ubuntu in any way so I think we can just revert the changes to requirements.txt in ceilometer to deal with this.

Changed in ceilometer (Ubuntu Vivid):
assignee: nobody → Corey Bryant (corey.bryant)
Revision history for this message
James Page (james-page) wrote :

Hmm - interestingly upstream have been minor version bumping on stable branches for clients; this is awkward for distro where we tend to try to cherry pick fixes, at which point things explode like this on a new point release.

Changed in python-ceilometerclient (Ubuntu):
status: New → Invalid
no longer affects: python-oslo.utils (Ubuntu)
Changed in python-oslo.concurrency (Ubuntu):
status: New → Invalid
Changed in python-neutronclient (Ubuntu):
status: New → Invalid
no longer affects: python-oslo.utils (Ubuntu Vivid)
Revision history for this message
Chris J Arges (arges) wrote :

Hello Matt Wear, or anyone else affected,

Accepted ceilometer into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ceilometer/2015.1.2-0ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in ceilometer (Ubuntu Vivid):
status: Triaged → Fix Committed
Revision history for this message
Matt Wear (wearmg) wrote :
Download full text (3.7 KiB)

Hi Chris,
That fixed my problem. swift-proxy is now able to start with ceilometer in the pipeline. The No Handlers message was there previously and is unrelated:

root@labproxy01:~# swift-init proxy start
Starting proxy-server...(/etc/swift/proxy-server.conf)
Traceback (most recent call last):
  File "/usr/bin/swift-proxy-server", line 23, in <module>
    sys.exit(run_wsgi(conf_file, 'proxy-server', **options))
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 445, in run_wsgi
    loadapp(conf_path, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 354, in loadapp
    ctx = loadcontext(loadwsgi.APP, conf_file, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 338, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 320, in _loadconfig
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 450, in get_context
    global_additions=global_additions)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 562, in _pipeline_app_context
    for name in pipeline[:-1]]
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 454, in get_context
    section)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 476, in _context_from_use
    object_type, name=use, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/swift/common/wsgi.py", line 61, in get_context
    object_type, name=name, global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 406, in get_context
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 296, in loadcontext
    global_conf=global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 328, in _loadegg
    return loader.get_context(object_type, name, global_conf)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 620, in get_context
    object_type, name=name)
  File "/usr/lib/python2.7/dist-packages/paste/deploy/loadwsgi.py", line 640, in find_egg_entry_point
    pkg_resources.require(self.spec)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 725, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 632, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (python-neutronclient 2.3.11 (/usr/lib/python2.7/dist-packages), Requirement.parse('python-neutronclient>=2.4.0,<2.5.0'))

root@labproxy01:~# dpkg -i /tmp/python-ceilometer_2015.1....

Read more...

Revision history for this message
Corey Bryant (corey.bryant) wrote :

Tagging this as verification-done for the ceilometer SRU, according to comment #8.

tags: added: vefiication-done
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ceilometer - 2015.1.2-0ubuntu1.1

---------------
ceilometer (2015.1.2-0ubuntu1.1) vivid; urgency=medium

  * d/p/fix-requirements.patch: Revert requirements bumps that occurred
    to oslo.concurrency, python-ceilometerclient, and python-neutronclient
    during stable point release of kilo (2015.1.2). (LP: #1515409).

 -- Corey Bryant <email address hidden> Thu, 12 Nov 2015 08:48:08 -0500

Changed in ceilometer (Ubuntu Vivid):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for ceilometer has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in cloud-archive:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.