install hook failed installing MarkupSafe module

Bug #1937267 reported by Jeff Hillman
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Docker Subordinate Charm
Fix Released
High
Cory Johns

Bug Description

Kubernetes 1.19 on bionic
Charms latest/stable
Docker charmstore rev 95
Substrate = Openstack (focal + ussuri)

When attempting to install docker, the install hook fails installing the MarkupSafe module.

```
unit-docker-3: 13:02:34 DEBUG unit.docker/3.install Looking in links: wheelhouse
unit-docker-3: 13:02:34 DEBUG unit.docker/3.install Requirement already up-to-date: pip in /var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages (18.1)
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Looking in links: wheelhouse
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Requirement already up-to-date: setuptools in /var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages (39.0.1)
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Looking in links: wheelhouse
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Requirement already up-to-date: setuptools-scm in /var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages (1.17.0)
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Looking in links: wheelhouse
unit-docker-3: 13:02:35 DEBUG unit.docker/3.install Collecting Tempita
unit-docker-3: 13:02:36 DEBUG unit.docker/3.install Collecting requests
unit-docker-3: 13:02:36 DEBUG unit.docker/3.install Collecting idna
unit-docker-3: 13:02:36 DEBUG unit.docker/3.install Collecting charms.docker
unit-docker-3: 13:02:36 DEBUG unit.docker/3.install Collecting MarkupSafe
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install Complete output from command python setup.py egg_info:
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install Traceback (most recent call last):
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "<string>", line 1, in <module>
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/tmp/pip-install-y8nleww0/MarkupSafe/setup.py", line 61, in <module>
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install run_setup(True)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/tmp/pip-install-y8nleww0/MarkupSafe/setup.py", line 44, in run_setup
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install ext_modules=ext_modules if with_binary else [],
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/__init__.py", line 129, in setup
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install return distutils.core.setup(**attrs)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/usr/lib/python3.6/distutils/core.py", line 121, in setup
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install dist.parse_config_files()
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/dist.py", line 494, in parse_config_files
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install ignore_option_errors=ignore_option_errors)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 106, in parse_configuration
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install meta.parse()
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 382, in parse
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install section_parser_method(section_options)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 355, in parse_section
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install self[name] = value
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 173, in __setitem__
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install value = parser(value)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 430, in _parse_version
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install version = self._parse_attr(value)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/site-packages/setuptools/config.py", line 305, in _parse_attr
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install module = import_module(module_name)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/.venv/lib/python3.6/importlib/__init__.py", line 126, in import_module
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install return _bootstrap._gcd_import(name[level:], package, level)
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "<frozen importlib._bootstrap>", line 994, in _gcd_import
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "<frozen importlib._bootstrap>", line 971, in _find_and_load
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install ModuleNotFoundError: No module named 'markupsafe'
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install
unit-docker-3: 13:02:37 DEBUG unit.docker/3.install ----------------------------------------
unit-docker-3: 13:02:37 WARNING unit.docker/3.install Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-y8nleww0/MarkupSafe/
unit-docker-3: 13:02:37 WARNING unit.docker/3.install Traceback (most recent call last):
unit-docker-3: 13:02:37 WARNING unit.docker/3.install File "/var/lib/juju/agents/unit-docker-3/charm/hooks/install", line 8, in <module>
unit-docker-3: 13:02:37 WARNING unit.docker/3.install basic.bootstrap_charm_deps()
unit-docker-3: 13:02:37 WARNING unit.docker/3.install File "lib/charms/layer/basic.py", line 208, in bootstrap_charm_deps
unit-docker-3: 13:02:37 WARNING unit.docker/3.install env=_get_subprocess_env())
unit-docker-3: 13:02:37 WARNING unit.docker/3.install File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
unit-docker-3: 13:02:37 WARNING unit.docker/3.install raise CalledProcessError(retcode, cmd)
unit-docker-3: 13:02:37 WARNING unit.docker/3.install subprocess.CalledProcessError: Command '['/var/lib/juju/agents/unit-docker-3/.venv/bin/pip', 'install', '-U', '--force-reinstall', '--no-index', '--no-cache-dir', '-f', 'wheelhouse', 'Tempita', 'requests', 'idna', 'charms.docker', 'MarkupSafe', 'pyaml', 'pbr', 'charms.templating.jinja2', 'certifi', 'charms.reactive', 'Jinja2', 'urllib3', 'PyYAML', 'charmhelpers', 'wheel', 'netaddr', 'chardet', 'vcversioner', 'six']' returned non-zero exit status 1.
unit-docker-3: 13:02:37 ERROR juju.worker.uniter.operation hook "install" (via explicit, bespoke hook script) failed: exit status 1
unit-docker-3: 13:02:37 DEBUG juju.machinelock machine lock released for docker/3 uniter (run install hook)
unit-docker-3: 13:02:37 DEBUG juju.worker.uniter.operation lock released for docker/3
unit-docker-3: 13:02:37 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-docker-3: 13:02:37 DEBUG juju.worker.uniter [AGENT-STATUS] error: hook failed: "install"
unit-docker-3: 13:02:47 DEBUG juju.worker.uniter.remotestate retry hook timer triggered for docker/3
unit-docker-3: 13:02:47 INFO juju.worker.uniter awaiting error resolution for "install" hook
unit-docker-3: 13:02:47 DEBUG juju.worker.uniter.operation running operation run install hook for docker/3
unit-docker-3: 13:02:47 DEBUG juju.machinelock acquire machine lock for docker/3 uniter (run install hook)
unit-docker-3: 13:02:51 DEBUG juju.machinelock machine lock acquired for docker/3 uniter (run install hook)
unit-docker-3: 13:02:51 DEBUG juju.worker.uniter.operation preparing operation "run install hook" for docker/3
unit-docker-3: 13:02:51 DEBUG juju.worker.uniter.operation executing operation "run install hook" for docker/3
unit-docker-3: 13:02:51 DEBUG juju.worker.uniter [AGENT-STATUS] executing: running install hook
unit-docker-3: 13:02:51 DEBUG juju.worker.uniter.runner starting jujuc server {unix @/var/lib/juju/agents/unit-docker-3/agent.socket <nil>}
```

This doesn't happen with revs 89 and 91 of the charm.

Tags: cpe-onsite
Revision history for this message
Jeff Hillman (jhillman) wrote :

subscribed field-high. blocking customer deploy

George Kraft (cynerva)
Changed in charm-docker:
importance: Undecided → High
Cory Johns (johnsca)
Changed in charm-docker:
assignee: nobody → Cory Johns (johnsca)
George Kraft (cynerva)
Changed in charm-docker:
status: New → Triaged
Revision history for this message
Cory Johns (johnsca) wrote :

This was actually already fixed in https://github.com/juju-solutions/layer-basic/pull/197 but that needs to get backported into our stable and a new build released with it.

Changed in charm-docker:
status: Triaged → In Progress
milestone: none → 1.21+ck3
Revision history for this message
Cory Johns (johnsca) wrote :

For reference, I confirmed that a build of the docker subordinate charm without that fix fails with the mentioned error while one with that fix does not.

Revision history for this message
Cory Johns (johnsca) wrote :
Changed in charm-docker:
status: In Progress → Fix Committed
Revision history for this message
Cory Johns (johnsca) wrote :

This is now available in edge, as cs:~containers/docker-96 (https://jaas.ai/u/containers/docker/96).

Changed in charm-docker:
status: Fix Committed → 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.