Project

General

Profile

Bug #44948

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

Added by Tobias Fischer almost 4 years ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Category:
diskprediction_local
Target version:
-
% Done:

0%

Source:
Tags:
mgr diskprediction_local octopus v15 backport_processed
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 Rejected

History

#1 Updated by Josh Durgin almost 4 years 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 almost 4 years 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 almost 4 years ago

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

#4 Updated by Josh Durgin almost 4 years ago

  • Assignee set to Deepika Upadhyay

#5 Updated by Deepika Upadhyay almost 4 years ago

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

#6 Updated by Deepika Upadhyay almost 4 years ago

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

#7 Updated by Deepika Upadhyay almost 4 years ago

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

#8 Updated by Kefu Chai almost 4 years ago

  • Status changed from In Progress to Resolved

#9 Updated by Kefu Chai almost 4 years ago

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

#10 Updated by Kefu Chai almost 4 years ago

  • Status changed from Pending Backport to In Progress

#12 Updated by Neha Ojha over 3 years ago

  • Status changed from In Progress to Pending Backport

#13 Updated by Nathan Cutler over 3 years ago

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

#15 Updated by Nathan Cutler over 3 years 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 about 3 years 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 about 3 years 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 about 3 years 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

#19 Updated by Backport Bot over 1 year ago

  • Tags changed from mgr diskprediction_local octopus v15 to mgr diskprediction_local octopus v15 backport_processed

#20 Updated by Konstantin Shalygin 11 months ago

  • Status changed from Pending Backport to Resolved

Also available in: Atom PDF