fix bug 802 decrypt vrops_password at vim_account for schema_version>=1.1 31/7831/3
authortierno <alfonso.tiernosepulveda@telefonica.com>
Thu, 1 Aug 2019 16:32:56 +0000 (16:32 +0000)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Wed, 7 Aug 2019 09:04:55 +0000 (09:04 +0000)
Change-Id: I80ac8bd9d437a044aafcbb89af5d3c93730da3cd
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
osm_lcm/vim_sdn.py

index ed25820..3fb24aa 100644 (file)
@@ -29,7 +29,8 @@ __author__ = "Alfonso Tierno"
 
 class VimLcm(LcmBase):
     # values that are encrypted at vim config because they are passwords
-    vim_config_encrypted = ("admin_password", "nsx_password", "vcenter_password")
+    vim_config_encrypted = {"1.1": ("admin_password", "nsx_password", "vcenter_password"),
+                            "default": ("admin_password", "nsx_password", "vcenter_password", "vrops_password")}
 
     def __init__(self, db, msg, fs, lcm_tasks, ro_config, loop):
         """
@@ -105,7 +106,9 @@ class VimLcm(LcmBase):
                     del vim_account_RO["config"]["sdn-controller"]
                 if "sdn-port-mapping" in vim_account_RO["config"]:
                     del vim_account_RO["config"]["sdn-port-mapping"]
-                for p in self.vim_config_encrypted:
+                vim_config_encrypted_keys = self.vim_config_encrypted.get(schema_version) or \
+                    self.vim_config_encrypted.get("default")
+                for p in vim_config_encrypted_keys:
                     if vim_account_RO["config"].get(p):
                         vim_account_RO["config"][p] = self.db.decrypt(vim_account_RO["config"][p],
                                                                       schema_version=schema_version,
@@ -223,7 +226,9 @@ class VimLcm(LcmBase):
                 if "config" in vim_content:
                     vim_account_RO["config"] = vim_content["config"]
                 if vim_content.get("config"):
-                    for p in self.vim_config_encrypted:
+                    vim_config_encrypted_keys = self.vim_config_encrypted.get(schema_version) or \
+                        self.vim_config_encrypted.get("default")
+                    for p in vim_config_encrypted_keys:
                         if vim_content["config"].get(p):
                             vim_account_RO["config"][p] = self.db.decrypt(vim_content["config"][p],
                                                                           schema_version=schema_version,