[Bug 2150665] Re: cephadm: missing Depends on python3-ceph-common
Luciano Lo Giudice
2150665 at bugs.launchpad.net
Tue Jul 7 22:29:30 UTC 2026
** Description changed:
[ Impact ]
- * cephadm fails to run due to missing dependencies. In particular, the Ceph
- Python ceph-common package is missing.
+ * cephadm fails to run due to the following missing dependencies:
+ python3-ceph-common, python3-jmespath and python3-xmltodict.
- * The new packages will solve this by adding the necessary
+ * The new packages will solve this by adding the necessary
dependencies.
[ Test Plan ]
- * In order to test this, the functional tests for Canonical's Ceph containers
- repository will be run (https://github.com/canonical/ceph-containers).
+ * In order to test this, the functional tests for Canonical's Ceph containers
+ repository will be run (https://github.com/canonical/ceph-containers).
- * These tests involve using the cephadm tool for cluster deployment using
- Canonical's custom Ceph images.
+ * These tests involve using the cephadm tool for cluster deployment using
+ Canonical's custom Ceph images.
- * If the new packages fix this issue, the tests will run to completion.
+ * If the new packages fix this issue, the tests will run to completion.
[ Where problems could occur ]
- * cephadm is used as a simple tool to deploy Ceph clusters. Notably, neither
- the Ceph charms nor Microceph make use of it, but users of Ubuntu can make
- use of it independently.
+ * cephadm is used as a simple tool to deploy Ceph clusters. Notably, neither
+ the Ceph charms nor Microceph make use of it, but users of Ubuntu can make
+ use of it independently.
- * Any problems with cephadm will thus prevent users from deploying their own
- Ceph clusters with the exceptions noted above
-
+ * Any problems with cephadm will thus prevent users from deploying their own
+ Ceph clusters with the exceptions noted above
+
[ Original description ]
The cephadm binary package in resolute (20.2.0-0ubuntu2) imports
ceph.cephadm.images at startup but does not declare a Depends on
python3-ceph-common which provides that module. Running
`cephadm bootstrap` (or any cephadm subcommand) on a fresh install
fails immediately with:
- Traceback (most recent call last):
- File "/usr/sbin/cephadm", line 141, in <module>
- from cephadmlib import runscripts
- File "/usr/lib/python3/dist-packages/cephadmlib/runscripts.py", line 10, in <module>
- ...
- File "/usr/lib/python3/dist-packages/cephadmlib/container_types.py", line 12, in <module>
- from ceph.cephadm.images import DefaultImages
- ModuleNotFoundError: No module named 'ceph'
+ Traceback (most recent call last):
+ File "/usr/sbin/cephadm", line 141, in <module>
+ from cephadmlib import runscripts
+ File "/usr/lib/python3/dist-packages/cephadmlib/runscripts.py", line 10, in <module>
+ ...
+ File "/usr/lib/python3/dist-packages/cephadmlib/container_types.py", line 12, in <module>
+ from ceph.cephadm.images import DefaultImages
+ ModuleNotFoundError: No module named 'ceph'
Currently declared Depends are only `lvm2 | python3` per
https://packages.ubuntu.com/resolute/cephadm.
Reproducer (LXD VM):
- $ lxc launch --vm ubuntu:26.04 c1
- $ lxc shell c1 -- apt-get update
- $ lxc shell c1 -- apt-get install -y cephadm
- $ lxc shell c1 -- cephadm version
- ModuleNotFoundError: No module named 'ceph'
+ $ lxc launch --vm ubuntu:26.04 c1
+ $ lxc shell c1 -- apt-get update
+ $ lxc shell c1 -- apt-get install -y cephadm
+ $ lxc shell c1 -- cephadm version
+ ModuleNotFoundError: No module named 'ceph'
Workaround:
- apt-get install -y cephadm python3-ceph-common
+ apt-get install -y cephadm python3-ceph-common
Expected fix: add `python3-ceph-common (>= ${binary:Version})` to
cephadm's Depends in debian/control. The squid (19.x) cephadm in noble
shipped as a single-file script with no Python imports beyond the
stdlib, so this regression is specific to the Tentacle refactor that
moved logic into cephadmlib/ and ceph/cephadm/.
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to ceph in Ubuntu.
https://bugs.launchpad.net/bugs/2150665
Title:
cephadm: missing Depends on python3-ceph-common
Status in ceph package in Ubuntu:
In Progress
Status in ceph source package in Resolute:
In Progress
Status in ceph source package in Stonking:
In Progress
Bug description:
[ Impact ]
* cephadm fails to run due to the following missing dependencies:
python3-ceph-common, python3-jmespath and python3-xmltodict.
* The new packages will solve this by adding the necessary
dependencies.
[ Test Plan ]
* In order to test this, the functional tests for Canonical's Ceph containers
repository will be run (https://github.com/canonical/ceph-containers).
* These tests involve using the cephadm tool for cluster deployment using
Canonical's custom Ceph images.
* If the new packages fix this issue, the tests will run to
completion.
[ Where problems could occur ]
* cephadm is used as a simple tool to deploy Ceph clusters. Notably, neither
the Ceph charms nor Microceph make use of it, but users of Ubuntu can make
use of it independently.
* Any problems with cephadm will thus prevent users from deploying their own
Ceph clusters with the exceptions noted above
[ Original description ]
The cephadm binary package in resolute (20.2.0-0ubuntu2) imports
ceph.cephadm.images at startup but does not declare a Depends on
python3-ceph-common which provides that module. Running
`cephadm bootstrap` (or any cephadm subcommand) on a fresh install
fails immediately with:
Traceback (most recent call last):
File "/usr/sbin/cephadm", line 141, in <module>
from cephadmlib import runscripts
File "/usr/lib/python3/dist-packages/cephadmlib/runscripts.py", line 10, in <module>
...
File "/usr/lib/python3/dist-packages/cephadmlib/container_types.py", line 12, in <module>
from ceph.cephadm.images import DefaultImages
ModuleNotFoundError: No module named 'ceph'
Currently declared Depends are only `lvm2 | python3` per
https://packages.ubuntu.com/resolute/cephadm.
Reproducer (LXD VM):
$ lxc launch --vm ubuntu:26.04 c1
$ lxc shell c1 -- apt-get update
$ lxc shell c1 -- apt-get install -y cephadm
$ lxc shell c1 -- cephadm version
ModuleNotFoundError: No module named 'ceph'
Workaround:
apt-get install -y cephadm python3-ceph-common
Expected fix: add `python3-ceph-common (>= ${binary:Version})` to
cephadm's Depends in debian/control. The squid (19.x) cephadm in noble
shipped as a single-file script with no Python imports beyond the
stdlib, so this regression is specific to the Tentacle refactor that
moved logic into cephadmlib/ and ceph/cephadm/.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/2150665/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list