Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

@ryan-beisner
Copy link
Contributor

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.

@ryan-beisner
Copy link
Contributor Author

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
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
@ryan-beisner
Copy link
Contributor Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant