Project

General

Profile

Actions

Bug #44948

closed

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

Added by Tobias Fischer about 4 years ago. Updated about 1 year 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 2 (1 open1 closed)

Related to Ceph - Cleanup #38088: Add dependencies for missing Python packagesNewDan Mick01/29/2019

Actions
Copied to mgr - Backport #47097: octopus: Module 'diskprediction_local' has failed: No module named 'sklearn' - ceph docker v15RejectedActions
Actions #1

Updated by Josh Durgin about 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.

Actions #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

Actions #3

Updated by Josh Durgin almost 4 years ago

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

Updated by Josh Durgin almost 4 years ago

  • Assignee set to Deepika Upadhyay
Actions #5

Updated by Deepika Upadhyay almost 4 years ago

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

Updated by Deepika Upadhyay almost 4 years ago

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

Updated by Deepika Upadhyay almost 4 years ago

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

Updated by Kefu Chai almost 4 years ago

  • Status changed from In Progress to Resolved
Actions #9

Updated by Kefu Chai almost 4 years ago

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

Updated by Kefu Chai almost 4 years ago

  • Status changed from Pending Backport to In Progress
Actions #12

Updated by Neha Ojha over 3 years ago

  • Status changed from In Progress to Pending Backport
Actions #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
Actions #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.

Actions #16

Updated by Yaarit Hatuka over 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.

Actions #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)

Actions #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

Actions #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
Actions #20

Updated by Konstantin Shalygin about 1 year ago

  • Status changed from Pending Backport to Resolved
Actions

Also available in: Atom PDF