swift proxy with ceilometer pipeline fails to start version conflict

Bug #1515409 reported by Matt Wear on 2015-11-11
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Cloud Archive
Critical
Unassigned
Kilo
Critical
Unassigned
ceilometer (Ubuntu)
Undecided
Unassigned
Vivid
Critical
Corey Bryant
python-ceilometerclient (Ubuntu)
Undecided
Unassigned
Vivid
Undecided
Unassigned
python-neutronclient (Ubuntu)
Undecided
Unassigned
Vivid
Undecided
Unassigned
python-oslo.concurrency (Ubuntu)
Undecided
Unassigned
Vivid
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

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
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.

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)
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)
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
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...

Corey Bryant (corey.bryant) wrote :

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

tags: added: vefiication-done
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

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  Edit
Everyone can see this information.

Other bug subscribers