[Bug 2065867] Re: mgr: failed dependency - no module named distutils

James Page 2065867 at bugs.launchpad.net
Thu May 16 14:28:13 UTC 2024


** Description changed:

- When running on noble with the snapshot of squid, the ceph-mgr has
- errors on enabling specific modules - volume and dashboard.
+ [ Impact ] 
+ dashboard and volume ceph mgr modules fail to activate under Python 3.12 due to use of distutils.
+ 
+ [ Test Plan ]
+ Deploy ceph-mon charm to three machines using Juju on Ubuntu 24.04.
+ sudo ceph status
+ "Module 'volumes' has failed dependency: No module named 'distutils'" present in output (this is the last module to fail loading"
+ 
+ [ Where problems could occur ]
+ The proposed patch switches to using the vendored distutils in setuptools for the two imports in the ceph mgr modules that exhibit this issue - this is a minimal fix; codebase really needs refactoring to drop all use of distutils but that's outside of the scope on an SRU update.
+ 
+ Other distutils usage gets caught by the distutils_hack that setuptools
+ uses to inject its vendored copy into the distutils module location.
+ 
+ [ Original Bug Report ]
+ When running on noble with the snapshot of squid, the ceph-mgr has errors on enabling specific modules - volume and dashboard.
  
  $ sudo microceph.ceph status
-   cluster:
-     id:     4e3ff87c-5320-4494-9d3c-42e69cc11398
-     health: HEALTH_WARN
-             Module 'volumes' has failed dependency: No module named 'distutils'
-             OSD count 0 < osd_pool_default_size 3
-  
-   services:
-     mon: 1 daemons, quorum joplin.glenview.com (age 5s)
-     mgr: joplin.glenview.com(active, starting, since 0.942931s)
-     osd: 0 osds: 0 up, 0 in
-  
-   data:
-     pools:   0 pools, 0 pgs
-     objects: 0 objects, 0 B
-     usage:   0 B used, 0 B / 0 B avail
-     pgs:   
+   cluster:
+     id:     4e3ff87c-5320-4494-9d3c-42e69cc11398
+     health: HEALTH_WARN
+             Module 'volumes' has failed dependency: No module named 'distutils'
+             OSD count 0 < osd_pool_default_size 3
+ 
+   services:
+     mon: 1 daemons, quorum joplin.glenview.com (age 5s)
+     mgr: joplin.glenview.com(active, starting, since 0.942931s)
+     osd: 0 osds: 0 up, 0 in
+ 
+   data:
+     pools:   0 pools, 0 pgs
+     objects: 0 objects, 0 B
+     usage:   0 B used, 0 B / 0 B avail
+     pgs:
  
  distutils as a standalone package was removed from noble - the ceph
  codebase makes quite a bit of use of distuils still which gets picked up
  by the distutils_hack in setuptools but not in the context of the mgr
  daemon.

-- 
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/2065867

Title:
  mgr: failed dependency - no module named distutils

Status in ceph package in Ubuntu:
  Triaged
Status in ceph source package in Noble:
  Triaged
Status in ceph source package in Oracular:
  Triaged

Bug description:
  [ Impact ] 
  dashboard and volume ceph mgr modules fail to activate under Python 3.12 due to use of distutils.

  [ Test Plan ]
  Deploy ceph-mon charm to three machines using Juju on Ubuntu 24.04.
  sudo ceph status
  "Module 'volumes' has failed dependency: No module named 'distutils'" present in output (this is the last module to fail loading"

  [ Where problems could occur ]
  The proposed patch switches to using the vendored distutils in setuptools for the two imports in the ceph mgr modules that exhibit this issue - this is a minimal fix; codebase really needs refactoring to drop all use of distutils but that's outside of the scope on an SRU update.

  Other distutils usage gets caught by the distutils_hack that
  setuptools uses to inject its vendored copy into the distutils module
  location.

  [ Original Bug Report ]
  When running on noble with the snapshot of squid, the ceph-mgr has errors on enabling specific modules - volume and dashboard.

  $ sudo microceph.ceph status
    cluster:
      id:     4e3ff87c-5320-4494-9d3c-42e69cc11398
      health: HEALTH_WARN
              Module 'volumes' has failed dependency: No module named 'distutils'
              OSD count 0 < osd_pool_default_size 3

    services:
      mon: 1 daemons, quorum joplin.glenview.com (age 5s)
      mgr: joplin.glenview.com(active, starting, since 0.942931s)
      osd: 0 osds: 0 up, 0 in

    data:
      pools:   0 pools, 0 pgs
      objects: 0 objects, 0 B
      usage:   0 B used, 0 B / 0 B avail
      pgs:

  distutils as a standalone package was removed from noble - the ceph
  codebase makes quite a bit of use of distuils still which gets picked
  up by the distutils_hack in setuptools but not in the context of the
  mgr daemon.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/2065867/+subscriptions




More information about the Ubuntu-openstack-bugs mailing list