Remove memory-ratio ipolicy on downgrading if exists.

Also fix cfgupgrade unittest to represent empty ipolicy with empty
dictionary instead of NoneType object.

Signed-off-by: Oleg Ponomarev <[email protected]>
---
 lib/tools/cfgupgrade.py        | 4 ++++
 test/py/cfgupgrade_unittest.py | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/tools/cfgupgrade.py b/lib/tools/cfgupgrade.py
index cca8bbf..cbcb675 100644
--- a/lib/tools/cfgupgrade.py
+++ b/lib/tools/cfgupgrade.py
@@ -722,6 +722,10 @@ class CfgUpgrade(object):
              cluster["data_collectors"]):
         del (cluster["data_collectors"]
                 [constants.DATA_COLLECTOR_DIAGNOSE])
+      if "ipolicy" in cluster:
+        ipolicy = cluster["ipolicy"]
+        if "memory-ratio" in ipolicy:
+          del ipolicy["memory-ratio"]
     self.config_data["version"] = version.BuildVersion(DOWNGRADE_MAJOR,
                                                        DOWNGRADE_MINOR, 0)
     return True
diff --git a/test/py/cfgupgrade_unittest.py b/test/py/cfgupgrade_unittest.py
index 4c8a8ff..d5e6563 100755
--- a/test/py/cfgupgrade_unittest.py
+++ b/test/py/cfgupgrade_unittest.py
@@ -56,7 +56,7 @@ def GetMinimalConfig():
     "version": constants.CONFIG_VERSION,
     "cluster": {
       "master_node": "node1-uuid",
-      "ipolicy": None,
+      "ipolicy": {},
       "default_iallocator_params": {},
       "diskparams": {},
       "ndparams": {},
-- 
2.6.0.rc2.230.g3dd15c0

Reply via email to