]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/pg_autoscaler: Fix python3 incompatibility 27079/head
authorMarius Schiffer <marius@mschiffer.de>
Wed, 20 Mar 2019 17:42:45 +0000 (18:42 +0100)
committerMarius Schiffer <marius@mschiffer.de>
Fri, 22 Mar 2019 11:27:00 +0000 (12:27 +0100)
Fixes: http://tracker.ceph.com/issues/38626
Signed-off-by: Marius Schiffer <marius@mschiffer.de>
src/pybind/mgr/pg_autoscaler/module.py

index e92377eb4bdbbb8e86e11b8128e55a2920389224..4c6bbffeb321efcb2e06bc06d45536c984b5ce72 100644 (file)
@@ -7,6 +7,7 @@ import json
 import mgr_util
 import threading
 import uuid
+from six import itervalues, iteritems
 from collections import defaultdict
 from prettytable import PrettyTable
 
@@ -189,7 +190,7 @@ class PgAutoscaler(MgrModule):
 
             # do we intersect an existing root?
             s = None
-            for prev in result.itervalues():
+            for prev in itervalues(result):
                 if osds & prev.osds:
                     s = prev
                     break
@@ -248,7 +249,7 @@ class PgAutoscaler(MgrModule):
         ret = []
 
         # iterate over all pools to determine how they should be sized
-        for pool_name, p in pools.iteritems():
+        for pool_name, p in iteritems(pools):
             pool_id = p['pool']
 
             # FIXME: we assume there is only one take per pool, but that
@@ -335,13 +336,13 @@ class PgAutoscaler(MgrModule):
         too_many = []
         health_checks = {}
 
-        total_ratio = dict([(r, 0.0) for r in root_map.iterkeys()])
-        total_target_ratio = dict([(r, 0.0) for r in root_map.iterkeys()])
-        target_ratio_pools = dict([(r, []) for r in root_map.iterkeys()])
+        total_ratio = dict([(r, 0.0) for r in iter(root_map)])
+        total_target_ratio = dict([(r, 0.0) for r in iter(root_map)])
+        target_ratio_pools = dict([(r, []) for r in iter(root_map)])
 
-        total_bytes = dict([(r, 0) for r in root_map.iterkeys()])
-        total_target_bytes = dict([(r, 0.0) for r in root_map.iterkeys()])
-        target_bytes_pools = dict([(r, []) for r in root_map.iterkeys()])
+        total_bytes = dict([(r, 0) for r in iter(root_map)])
+        total_target_bytes = dict([(r, 0.0) for r in iter(root_map)])
+        target_bytes_pools = dict([(r, []) for r in iter(root_map)])
 
         for p in ps:
             total_ratio[p['crush_root_id']] += max(p['actual_capacity_ratio'],
@@ -404,7 +405,7 @@ class PgAutoscaler(MgrModule):
             }
 
         too_much_target_ratio = []
-        for root_id, total in total_ratio.iteritems():
+        for root_id, total in iteritems(total_ratio):
             total_target = total_target_ratio[root_id]
             if total > 1.0:
                 too_much_target_ratio.append(
@@ -431,7 +432,7 @@ class PgAutoscaler(MgrModule):
             }
 
         too_much_target_bytes = []
-        for root_id, total in total_bytes.iteritems():
+        for root_id, total in iteritems(total_bytes):
             total_target = total_target_bytes[root_id]
             if total > root_map[root_id].capacity:
                 too_much_target_bytes.append(