changes in dependencies of dependencies of charm-tools have broken usage on trusty venvs #246

Closed
ryan-beisner opened this Issue Aug 18, 2016 · 2 comments

Comments

Projects
None yet
1 participant

On Aug 16, this worked:

virtualenv .venv
. .venv/bin/activate
pip install charm-tools
charm version
charm unavailable
charm-tools 2.1.3

As of Aug 17, it doesn't:

virtualenv .venv
. .venv/bin/activate
pip install charm-tools
charm version
Traceback (most recent call last):
  File "/tmp/venv/bin/charm-version", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/tmp/venv/local/lib/python2.7/site-packages/pkg_resources.py", line 2720, in <module>
    parse_requirements(__requires__), Environment()
  File "/tmp/venv/local/lib/python2.7/site-packages/pkg_resources.py", line 592, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
pkg_resources.VersionConflict: (setuptools 2.2 (/tmp/venv/lib/python2.7/site-packages), Requirement.parse('setuptools>=11.3'))

This appears to be because secretstorage revved up on Aug 17:
https://pypi.python.org/pypi/SecretStorage

And the reqs lineage goes like so:
cryptography->secretstorage->keyring->launchpadlib->charm-tools

Setting an upper constraint for secretstorage seems to resolve the issue:

virtualenv venv
. .venv/bin/activate
pip install 'secretstorage<2.3.0'
pip install charm-tools
charm version
charm unavailable
charm-tools 2.1.3

I am using: Trusty

Issue/Feature

I expect/expected the following

Charm-tools should successfully install in a virtualenv on Trusty.

What I got

Charm-tools has a dependency of a dependency that has changed, causing virtualenv charm-tools installations to break on Trusty.

Another way to look at this:

setuptools 2.2 is the default in a Trusty virtualenv.
setuptools 25.2.0 is the default in a Xenial virtualenv.

If setuptools is forced to >=11.3 (or ==25.2.0 as I just confirmed on a Trusty venv), this issue is also resolved.

openstack-gerrit pushed a commit to openstack/charm-cinder that referenced this issue Aug 18, 2016

Update requirements.txt for setuptools
Trusty venvs have setuptools 2.2, whereas Xenial venvs have
setuptools 25.2.0.  This has begun to cause issues, such as
in juju/charm-tools#246.

This change pins the setuptools version to 25.2.0 to both
address the issues that have appeared in charm-tools reqs,
and to ensure the same setuptools version across Trusty and
Xenial virtualenvs.

Change-Id: I322f6733a3f54a6a308b399564c55935a0140bb9

FYI, the OSCI amulet test gate is currently blocked on this.

While it's possible to work around this by modifying the test-requirements.txt in all of the OpenStack Charms, charm-tools is the right place to fix it IMHO (secretstorage<2.3.0).

marcoceppi added a commit to marcoceppi/charm-tools that referenced this issue Aug 19, 2016

@marcoceppi marcoceppi closed this in #248 Aug 19, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment