From: Benoît Knecht Date: Wed, 15 Jul 2020 13:14:51 +0000 (+0200) Subject: mgr/diskprediction_local: Fix array size error X-Git-Tag: v16.1.0~1625^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ab0e5ae928d4fc15cf812957541c02770d13ab26;p=ceph.git mgr/diskprediction_local: Fix array size error The disk predictor assumes that it has at least 6 days worth of data to work with, and the code ensures that `health_data` contains at least 6 elements. However, it then gets fitlered down into a `predict_datas` array that can contain less than 6 elements in some cases. This commit ensures that `predict_datas` contains 6 elements or more before passing it on to the disk predictor. Fixes: https://tracker.ceph.com/issues/46549 Signed-off-by: Benoît Knecht --- diff --git a/src/pybind/mgr/diskprediction_local/module.py b/src/pybind/mgr/diskprediction_local/module.py index 61f3cc1f6dc..948c59bd7ed 100644 --- a/src/pybind/mgr/diskprediction_local/module.py +++ b/src/pybind/mgr/diskprediction_local/module.py @@ -218,7 +218,7 @@ class Module(MgrModule): else: self.log.error('unable to predict device due to health data records less than 6 days') - if predict_datas: + if len(predict_datas) >= 6: predicted_result = obj_predictor.predict(predict_datas) return predicted_result