Project

General

Profile

Bug #44948

Module 'diskprediction_local' has failed: No module named 'sklearn' - ceph docker v15

Added by Tobias Fischer over 1 year ago. Updated 8 months ago.

Status:
Pending Backport
Priority:
Normal
Category:
diskprediction_local
Target version:
-
% Done:

0%

Source:
Tags:
mgr diskprediction_local octopus v15
Backport:
octopus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

Installed v15 Octopus via cephadm - v15.2.0

after activating mgr module "diskprediction_local" I get following Health Error:

[ERR] MGR_MODULE_ERROR: Module 'diskprediction_local' has failed: No module named 'sklearn'


Related issues

Related to Ceph - Cleanup #38088: Add dependencies for missing Python packages New 01/29/2019
Copied to mgr - Backport #47097: octopus: Module 'diskprediction_local' has failed: No module named 'sklearn' - ceph docker v15 Need More Info

History

#1 Updated by Josh Durgin over 1 year ago

Looks like ceph-mgr-diskprediction-local needs a dependency on that package. It may have been missed since it's not used directly, but is referenced from the model's pkl files.

#2 Updated by K Jarrett over 1 year ago

Of note, I also experienced this on a containerised install of Nautilus and originally raised an issue about it on the ceph-container repository [0], but neglected to file a bug report as I mentioned - apologies.

As a requirements.txt file for diskprediction_local had made it into the v15.2.2 tag [1], I had hoped that this would ensure the dependencies were installed when I upgraded to Octopus. However, it appears they haven't been and I am still encountering the issue Tobias has submitted here.

[0]: https://github.com/ceph/ceph-container/issues/1523
[1]: https://github.com/ceph/ceph/blob/v15.2.2/src/pybind/mgr/diskprediction_local/requirements.txt

#3 Updated by Josh Durgin over 1 year ago

  • Related to Cleanup #38088: Add dependencies for missing Python packages added

#4 Updated by Josh Durgin over 1 year ago

  • Assignee set to Deepika Upadhyay

#5 Updated by Deepika Upadhyay over 1 year ago

  • Related to deleted (Cleanup #38088: Add dependencies for missing Python packages)

#6 Updated by Deepika Upadhyay over 1 year ago

  • Related to Cleanup #38088: Add dependencies for missing Python packages added

#7 Updated by Deepika Upadhyay over 1 year ago

  • Status changed from New to In Progress
  • Pull request ID set to 35648

#8 Updated by Kefu Chai over 1 year ago

  • Status changed from In Progress to Resolved

#9 Updated by Kefu Chai over 1 year ago

  • Status changed from Resolved to Pending Backport
  • Backport set to octopus, nautilus

#10 Updated by Kefu Chai over 1 year ago

  • Status changed from Pending Backport to In Progress

#12 Updated by Neha Ojha about 1 year ago

  • Status changed from In Progress to Pending Backport

#13 Updated by Nathan Cutler about 1 year ago

  • Copied to Backport #47097: octopus: Module 'diskprediction_local' has failed: No module named 'sklearn' - ceph docker v15 added

#15 Updated by Nathan Cutler 12 months ago

  • Backport changed from octopus, nautilus to octopus

The "Affected Versions" field does not include any Nautilus versions, so I removed the nautilus backport.

Introducing a new runtime dependency - a potentially destabilizing event - does not seem like a good idea at this (late) stage in the Nautilus life cycle.

#16 Updated by Yaarit Hatuka 10 months ago

I emailed scikit-learn maintainer (Sergio Pasra), asking if he can maintain EPEL (7 and 8) versions.
Once the packages are available in that repository, we can add them to the build in master and backport as needed.

#17 Updated by Tom Verhaeg 8 months ago

Yaarit Hatuka wrote:

I emailed scikit-learn maintainer (Sergio Pasra), asking if he can maintain EPEL (7 and 8) versions.
Once the packages are available in that repository, we can add them to the build in master and backport as needed.

We are also facing this issue (CentOS Linux release 8.3.2011 - kernel 4.18.0-240.10.1.el8_3.x86_64)

#18 Updated by Chris K 8 months ago

Apologies if this isn't helpful... but in case it is, my mgr container is also encountering this problem.

I'm running
  • version: 15.2.9
  • image: docker.io/ceph/ceph:v15
  • OS: Ubuntu 20.04.2 LTS
  • kernel: 5.4.0-65-generic

traceback

2021-02-28T00:02:40.662+0000 7f6671a38700 -1 Remote method threw exception: Traceback (most recent call last):
  File "/usr/share/ceph/mgr/diskprediction_local/module.py", line 279, in predict_all_devices
    result = self._predict_life_expentancy(devInfo['devid'])
  File "/usr/share/ceph/mgr/diskprediction_local/module.py", line 222, in _predict_life_expentancy
    predicted_result = obj_predictor.predict(predict_datas)
  File "/usr/share/ceph/mgr/diskprediction_local/predictor.py", line 450, in predict
    clf = pickle.load(f_model)
ModuleNotFoundError: No module named 'sklearn'

Package info
Package: python3-sklearn
Version: 0.22.2.post1+dfsg-5
Priority: optional
Section: universe/python
Source: scikit-learn
Origin: Ubuntu

Also available in: Atom PDF