]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mgr/diskprediction_local: Fix array size error
authorBenoît Knecht <bknecht@protonmail.ch>
Wed, 15 Jul 2020 13:14:51 +0000 (15:14 +0200)
committerBenoît Knecht <bknecht@protonmail.ch>
Wed, 15 Jul 2020 13:24:12 +0000 (15:24 +0200)
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 <bknecht@protonmail.ch>
src/pybind/mgr/diskprediction_local/module.py

index 61f3cc1f6dcc72f9145bdf2ee77f26d6d844ac82..948c59bd7edf0a3090b61df6327e0143da80d89e 100644 (file)
@@ -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