The cfgupgrade tool now adds the disks_active flag during upgrades and
removes it during downgrades.

Signed-off-by: Thomas Thrainer <[email protected]>
---
 tools/cfgupgrade | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/tools/cfgupgrade b/tools/cfgupgrade
index 0526b1a..dcb9fc7 100755
--- a/tools/cfgupgrade
+++ b/tools/cfgupgrade
@@ -183,6 +183,9 @@ def UpgradeInstances(config_data):
                         instance, idx, current, expected)
         dobj["iv_name"] = expected
 
+    if "disks_active" not in iobj:
+      iobj["disks_active"] = iobj["admin_state"] == constants.ADMINST_UP
+
 
 def UpgradeRapiUsers():
   if (os.path.isfile(options.RAPI_USERS_FILE_PRE24) and
@@ -309,11 +312,21 @@ def DowngradeCluster(config_data):
     DowngradeIPolicy(ipolicy, "cluster")
 
 
+def DowngradeInstances(config_data):
+  if "instances" not in config_data:
+    raise Error("Can't find the 'instances' key in the configuration!")
+
+  for _, iobj in config_data["instances"].items():
+    if "disks_active" in iobj:
+      del iobj["disks_active"]
+
+
 def DowngradeAll(config_data):
   # Any code specific to a particular version should be labeled that way, so
   # it can be removed when updating to the next version.
   DowngradeCluster(config_data)
   DowngradeGroups(config_data)
+  DowngradeInstances(config_data)
 
 
 def main():
-- 
1.8.2.1

Reply via email to