Unable to install charm on Ubuntu Disco/Eoan

Bug #1824112 reported by Frode Nordahl on 2019-04-10
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Charm Helpers
High
Frode Nordahl
OpenStack Octavia Charm
High
Frode Nordahl
charm-octavia-diskimage-retrofit
High
Frode Nordahl
charms.openstack
High
Frode Nordahl

Bug Description

2019-04-10 05:31:44 DEBUG install Already using interpreter /usr/bin/python3
2019-04-10 05:31:44 DEBUG install Using base prefix '/usr'
2019-04-10 05:31:44 DEBUG install New python executable in /var/lib/juju/agents/unit-octavia-0/.venv/bin/python3
2019-04-10 05:31:44 DEBUG install Also creating executable in /var/lib/juju/agents/unit-octavia-0/.venv/bin/python
2019-04-10 05:31:44 DEBUG install Please make sure you remove any previous custom paths from your /root/.pydistutils.cfg file.
2019-04-10 05:31:46 DEBUG install Installing setuptools, pkg_resources, pip, wheel...done.
2019-04-10 05:31:47 DEBUG install Looking in links: wheelhouse
2019-04-10 05:31:47 DEBUG install Requirement already up-to-date: pip in /var/lib/juju/agents/unit-octavia-0/.venv/lib/python3.7/site-packages (18.1)
2019-04-10 05:31:49 DEBUG install Looking in links: wheelhouse
2019-04-10 05:31:49 DEBUG install Requirement already up-to-date: setuptools in /var/lib/juju/agents/unit-octavia-0/.venv/lib/python3.7/site-packages (40.8.0)
2019-04-10 05:31:49 DEBUG install Collecting setuptools-scm
2019-04-10 05:31:49 DEBUG install Building wheels for collected packages: setuptools-scm
2019-04-10 05:31:49 DEBUG install Running setup.py bdist_wheel for setuptools-scm: started
2019-04-10 05:31:49 DEBUG install Running setup.py bdist_wheel for setuptools-scm: finished with status 'done'
2019-04-10 05:31:49 DEBUG install Stored in directory: /root/.cache/pip/wheels/d0/41/33/3ee677192909a6e54e11a7e45ef54cd0aad4afe894b054f6fd
2019-04-10 05:31:49 DEBUG install Successfully built setuptools-scm
2019-04-10 05:31:50 DEBUG install Installing collected packages: setuptools-scm
2019-04-10 05:31:50 DEBUG install Successfully installed setuptools-scm-1.17.0
2019-04-10 05:31:51 DEBUG install Looking in links: wheelhouse
2019-04-10 05:31:51 DEBUG install Processing ./wheelhouse/pyaml-18.11.0.tar.gz
2019-04-10 05:31:51 DEBUG install Processing ./wheelhouse/asn1crypto-0.24.0.tar.gz
2019-04-10 05:31:52 DEBUG install Processing ./wheelhouse/cryptography-2.6.1.tar.gz
2019-04-10 05:31:52 DEBUG install Installing build dependencies: started
2019-04-10 05:31:54 DEBUG install Installing build dependencies: finished with status 'error'
2019-04-10 05:31:54 DEBUG install Complete output from command /var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rixj1g44 --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=18.5 wheel "cffi>=1.8,!=1.11.3; python_implementation != 'PyPy'":
2019-04-10 05:31:54 DEBUG install Looking in links: wheelhouse
2019-04-10 05:31:54 DEBUG install Collecting setuptools>=18.5
2019-04-10 05:31:54 DEBUG install Collecting wheel
2019-04-10 05:31:54 DEBUG install Could not find a version that satisfies the requirement wheel (from versions: )
2019-04-10 05:31:54 DEBUG install No matching distribution found for wheel
2019-04-10 05:31:54 DEBUG install
2019-04-10 05:31:54 DEBUG install ----------------------------------------
2019-04-10 05:31:54 DEBUG install Command "/var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --ignore-installed --no-user --prefix /tmp/pip-build-env-rixj1g44 --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=18.5 wheel "cffi>=1.8,!=1.11.3; python_implementation != 'PyPy'"" failed with error code 1 in None
2019-04-10 05:31:54 DEBUG install Traceback (most recent call last):
2019-04-10 05:31:54 DEBUG install File "/var/lib/juju/agents/unit-octavia-0/charm/hooks/install", line 8, in <module>
2019-04-10 05:31:54 DEBUG install basic.bootstrap_charm_deps()
2019-04-10 05:31:54 DEBUG install File "lib/charms/layer/basic.py", line 114, in bootstrap_charm_deps
2019-04-10 05:31:54 DEBUG install glob('wheelhouse/*'))
2019-04-10 05:31:54 DEBUG install File "/usr/lib/python3.7/subprocess.py", line 347, in check_call
2019-04-10 05:31:54 DEBUG install raise CalledProcessError(retcode, cmd)
2019-04-10 05:31:54 DEBUG install subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-octavia-0/.venv/bin/pip', 'install', '-U', '--no-index', '-f', 'wheelhouse', 'wheelhouse/pyaml-18.11.0.tar.gz', 'wheelhouse/asn1crypto-0.24.0.tar.gz', 'wheelhouse/cryptography-2.6.1.tar.gz', 'wheelhouse/python-keystoneclient-3.19.0.tar.gz', 'wheelhouse/oslo.config-6.8.1.tar.gz', 'wheelhouse/cliff-2.14.1.tar.gz', 'wheelhouse/jsonpatch-1.23.tar.gz', 'wheelhouse/prettytable-0.7.2.tar.bz2', 'wheelhouse/oslo.utils-3.40.3.tar.gz', 'wheelhouse/cmd2-0.9.11.tar.gz', 'wheelhouse/decorator-4.4.0.tar.gz', 'wheelhouse/appdirs-1.4.3.tar.gz', 'wheelhouse/pyinotify-0.9.6.tar.gz', 'wheelhouse/Jinja2-2.10.1.tar.gz', 'wheelhouse/oslo.context-2.22.1.tar.gz', 'wheelhouse/cffi-1.12.2.tar.gz', 'wheelhouse/six-1.12.0.tar.gz', 'wheelhouse/iso8601-0.1.12.tar.gz', 'wheelhouse/attrs-19.1.0.tar.gz', 'wheelhouse/monotonic-1.5.tar.gz', 'wheelhouse/certifi-2019.3.9.tar.gz', 'wheelhouse/oslo.serialization-2.28.2.tar.gz', 'wheelhouse/colorama-0.4.1.tar.gz', 'wheelhouse/pbr-5.1.3.tar.gz', 'wheelhouse/jsonpointer-2.0.tar.gz', 'wheelhouse/wrapt-1.11.1.tar.gz', 'wheelhouse/Babel-2.6.0.tar.gz', 'wheelhouse/pip-8.1.2.tar.gz', 'wheelhouse/keystoneauth1-3.13.1.tar.gz', 'wheelhouse/chardet-3.0.4.tar.gz', 'wheelhouse/Tempita-0.5.2.tar.gz', 'wheelhouse/urllib3-1.24.1.tar.gz', 'wheelhouse/os-service-types-1.6.0.tar.gz', 'wheelhouse/requestsexceptions-1.4.0.tar.gz', 'wheelhouse/PyYAML-5.1.tar.gz', 'wheelhouse/idna-2.8.tar.gz', 'wheelhouse/python-dateutil-2.8.0.tar.gz', 'wheelhouse/stevedore-1.30.1.tar.gz', 'wheelhouse/charms.reactive-1.2.1.tar.gz', 'wheelhouse/pyperclip-1.7.0.tar.gz', 'wheelhouse/python-novaclient-13.0.0.tar.gz', 'wheelhouse/rfc3986-1.2.0.tar.gz', 'wheelhouse/pycparser-2.19.tar.gz', 'wheelhouse/dogpile.cache-0.7.1.tar.gz', 'wheelhouse/netifaces-0.10.9.tar.gz', 'wheelhouse/osc-lib-1.12.1.tar.gz', 'wheelhouse/requests-2.21.0.tar.gz', 'wheelhouse/setuptools_scm-1.17.0.tar.gz', 'wheelhouse/python-neutronclient-6.12.0.tar.gz', 'wheelhouse/wcwidth-0.1.7.tar.gz', 'wheelhouse/MarkupSafe-1.1.1.tar.gz', 'wheelhouse/munch-2.3.2.tar.gz', 'wheelhouse/pytz-2019.1.tar.gz', 'wheelhouse/setuptools-39.0.1.zip', 'wheelhouse/os-client-config-1.32.0.tar.gz', 'wheelhouse/charmhelpers-0.19.13.tar.gz', 'wheelhouse/simplejson-3.16.0.tar.gz', 'wheelhouse/oslo.log-3.42.3.tar.gz', 'wheelhouse/oslo.i18n-3.23.1.tar.gz', 'wheelhouse/jmespath-0.9.4.tar.gz', 'wheelhouse/netaddr-0.7.19.tar.gz', 'wheelhouse/openstacksdk-0.27.0.tar.gz', 'wheelhouse/msgpack-0.6.1.tar.gz', 'wheelhouse/pyparsing-2.4.0.tar.gz', 'wheelhouse/charms.openstack-0.0.1.dev1.zip', 'wheelhouse/debtcollector-1.21.0.tar.gz']' returned non-zero exit status 1.
2019-04-10 05:31:54 ERROR juju.worker.uniter.operation runhook.go:132 hook "install" failed: exit status 1

Frode Nordahl (fnordahl) wrote :
Download full text (13.7 KiB)

# /var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --verbose --log /tmp/pip --ignore-installed --no-user --prefix /tmp/pip-build-env-mf66uthh --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=18.5 wheel "cffi>=1.8,!=1.11.3; python_implementation != 'PyPy'"
  Could not find a version that satisfies the requirement wheel (from versions: )
No matching distribution found for wheel
# cat /tmp/pip
Ignoring indexes: https://pypi.org/simple
Created temporary directory: /tmp/pip-ephem-wheel-cache-q9sr7v7k
Created temporary directory: /tmp/pip-req-tracker-helce6r8
Created requirements tracker '/tmp/pip-req-tracker-helce6r8'
Created temporary directory: /tmp/pip-install-fb08ewql
Looking in links: wheelhouse
Collecting setuptools
  0 location(s) to search for versions of setuptools:
  Skipping link wheelhouse (from -f); not a file
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/pyaml-18.11.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/asn1crypto-0.24.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cryptography-2.6.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/python-keystoneclient-3.19.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.config-6.8.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cliff-2.14.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/jsonpatch-1.23.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/prettytable-0.7.2.tar.bz2; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.utils-3.40.3.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cmd2-0.9.11.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/decorator-4.4.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/appdirs-1.4.3.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/pyinotify-0.9.6.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/Jinja2-2.10.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.context-2.22.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cffi-1.12.2.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/uni...

Frode Nordahl (fnordahl) wrote :
Download full text (36.6 KiB)

SUCCESS

# /var/lib/juju/agents/unit-octavia-0/.venv/bin/python3 -m pip install --verbose --log /tmp/pip --ignore-installed --no-user --prefix /tmp/pip-build-env-mf66uthh --no-warn-script-location --no-binary :none: --only-binary :none: --no-index --find-links wheelhouse -- setuptools>=18.5 "cffi>=1.8,!=1.11.3; python_implementation != 'PyPy'"
# cat /tmp/pip
Ignoring indexes: https://pypi.org/simple
Created temporary directory: /tmp/pip-ephem-wheel-cache-6eh2g0rz
Created temporary directory: /tmp/pip-req-tracker-_4fr2fb7
Created requirements tracker '/tmp/pip-req-tracker-_4fr2fb7'
Created temporary directory: /tmp/pip-install-8p4m7yis
Looking in links: wheelhouse
Collecting setuptools
  0 location(s) to search for versions of setuptools:
  Skipping link wheelhouse (from -f); not a file
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/pyaml-18.11.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/asn1crypto-0.24.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cryptography-2.6.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/python-keystoneclient-3.19.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.config-6.8.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cliff-2.14.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/jsonpatch-1.23.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/prettytable-0.7.2.tar.bz2; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.utils-3.40.3.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cmd2-0.9.11.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/decorator-4.4.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/appdirs-1.4.3.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/pyinotify-0.9.6.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/Jinja2-2.10.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/oslo.context-2.22.1.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/cffi-1.12.2.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/juju/agents/unit-octavia-0/charm/wheelhouse/six-1.12.0.tar.gz; Missing project version for setuptools
  Skipping link file:///var/lib/j...

Frode Nordahl (fnordahl) wrote :

Looking at this some more reveals that it is a difference in what version of Python package dependencies we need on the different distributions, so we will need to find a good set of lower/upper constraints that works across all supported distributions and include those in the Octavia charm wheelhouse.txt.

We might need to override the constraints on setuptools too. This is currently set in ``layer-basic``. My testing shows that we will be able to override it by specifying it in the charm wheelhouse.txt, but we might look into upstreaming that change as soon as we find a good constraints combination.

The reason this hits the Octavia charm and not other reactive charms is because we have a larger wheelhouse to provide the necessary clients for the charm itself to talk to Neutron, Nova etc. without being dependent on system installed packages.

Flipping the ``include_system_packages`` bit does not help on the issue, but we should indeed look into removing it from this and all of our reactive charms non-the-less.

Cory Johns (johnsca) wrote :

I was able to replicate this on Bionic simply by unpinning the pip requirement in layer:basic's wheelhouse.txt. So it seems that it may have something to do with the newer version of pip that the charm starts out using to bootstrap itself when deploying on Disco.

Frode Nordahl (fnordahl) wrote :

Adding this to the wheelhouse.txt appears to fix the issue on Disco:
    setuptools>=40.6.0
    wheel

When building dependencies there are one or more dependencies requesting setuptools>=40.6.0.

Also while building dependencies, for some reason pip is attempting to collect ``wheel`` from the wheelhouse although it is already in the venv.

Currently testing the above combination on a different charm that supports all series from Trusty -> Disco to see how it fares.

Changed in charm-octavia:
status: New → Triaged
importance: Undecided → High
Frode Nordahl (fnordahl) on 2019-07-12
Changed in charm-octavia-diskimage-retrofit:
status: New → Triaged
importance: Undecided → High
Frode Nordahl (fnordahl) wrote :

Fixing this issue is a bit entangled as it involves changing the ``layer-basic`` configuration to not include system python packages and updating ``layer-basic``'s wheelhouse. A consequence of not including system python packages is that we no longer can use the ``python-apt`` library as it is not feasible to distribute as a wheel with support for multiple Ubuntu releases.

Work to address this is under way and will likely land after the release of the ``19.07`` charms to give bake time before the ``19.10`` release.

https://github.com/juju/charm-helpers/pull/341
https://github.com/juju-solutions/layer-basic/pull/135

Frode Nordahl (fnordahl) wrote :
Changed in charms.openstack:
status: New → Fix Committed
importance: Undecided → High
assignee: nobody → Frode Nordahl (fnordahl)
Changed in charm-helpers:
status: New → Fix Released
importance: Undecided → High
assignee: nobody → Frode Nordahl (fnordahl)
Frode Nordahl (fnordahl) wrote :
Changed in charm-octavia:
status: Triaged → In Progress
assignee: nobody → Frode Nordahl (fnordahl)
Changed in charm-octavia-diskimage-retrofit:
status: Triaged → In Progress
assignee: nobody → Frode Nordahl (fnordahl)
Frode Nordahl (fnordahl) on 2019-08-16
Changed in charm-octavia:
milestone: none → 19.10
status: In Progress → Fix Committed
Changed in charm-octavia-diskimage-retrofit:
status: In Progress → Fix Committed
Frode Nordahl (fnordahl) on 2019-08-16
summary: - Unable to install charm on Ubuntu Disco
+ Unable to install charm on Ubuntu Disco/Eoan
David Ames (thedac) on 2019-10-24
Changed in charm-octavia:
status: Fix Committed → Fix Released
David Ames (thedac) on 2019-10-24
Changed in charm-octavia-diskimage-retrofit:
milestone: none → 19.10
David Ames (thedac) on 2019-10-24
Changed in charm-octavia-diskimage-retrofit:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers