aboutsummaryrefslogtreecommitdiffstats
path: root/app/utils/inventory_mgr.py
diff options
context:
space:
mode:
authoryayogev <yaronyogev@gmail.com>2018-02-27 17:00:05 +0200
committeryayogev <yaronyogev@gmail.com>2018-02-27 17:00:05 +0200
commit648a394f7a318443dfd82f790f83a79616c26905 (patch)
tree719508e9d99771c3de056a9c2914d461c35fb967 /app/utils/inventory_mgr.py
parent100add41cfe2b987524b190c1c92771a3c4f1d5f (diff)
US3541 merge various fixes to OPNFV branch
timestamp of last commit tt was merged: 26-Jan-2018 16:25. Change-Id: I7b0bf7885d7d0badb81c794a52c480b905d78459 Signed-off-by: yayogev <yaronyogev@gmail.com>
Diffstat (limited to 'app/utils/inventory_mgr.py')
-rw-r--r--app/utils/inventory_mgr.py71
1 files changed, 39 insertions, 32 deletions
diff --git a/app/utils/inventory_mgr.py b/app/utils/inventory_mgr.py
index bbc5542..97b6cd4 100644
--- a/app/utils/inventory_mgr.py
+++ b/app/utils/inventory_mgr.py
@@ -389,38 +389,9 @@ class InventoryMgr(MongoAccess, metaclass=Singleton):
parent_id_path = parent.get("id_path", "/{}".format(environment))
parent_name_path = parent.get("name_path", "/{}".format(environment))
- try:
- # case of dynamic folder added by need
- master_parent_type = o["master_parent_type"]
- master_parent_id = o["master_parent_id"]
- master_parent = self.get_by_id(environment, master_parent_id)
- if not master_parent:
- self.log.error("failed to find master parent " +
- master_parent_id)
+ if 'master_parent_type' in o:
+ if not self.create_parent_folder(o, parent):
return False
- folder_id_path = "/".join((master_parent["id_path"],
- o["parent_id"]))
- folder_name_path = "/".join((master_parent["name_path"],
- o["parent_text"]))
- folder = {
- "environment": parent["environment"],
- "parent_id": master_parent_id,
- "parent_type": master_parent_type,
- "id": o["parent_id"],
- "id_path": folder_id_path,
- "show_in_tree": True,
- "name_path": folder_name_path,
- "name": o["parent_id"],
- "type": o["parent_type"],
- "text": o["parent_text"]
- }
- # remove master_parent_type & master_parent_id after use,
- # as they're there just ro help create the dynamic folder
- o.pop("master_parent_type", True)
- o.pop("master_parent_id", True)
- self.set(folder)
- except KeyError:
- pass
if o.get("text"):
o["name"] = o["text"]
@@ -459,6 +430,42 @@ class InventoryMgr(MongoAccess, metaclass=Singleton):
if "create_object" not in o or o["create_object"]:
# add/update object in DB
self.set(o)
- if self.is_feature_supported(environment, EnvironmentFeatures.MONITORING):
+ if self.is_feature_supported(environment,
+ EnvironmentFeatures.MONITORING):
self.monitoring_setup_manager.create_setup(o)
return True
+
+ def create_parent_folder(self, o, parent) -> bool:
+ # case of dynamic folder added by need
+ master_parent_type = o["master_parent_type"]
+ master_parent_id = o["master_parent_id"]
+ env_path = '/{}'.format(parent['environment'])
+ master_parent = {'id_path': env_path, 'name_path': env_path} \
+ if master_parent_type == 'environment' \
+ else self.get_by_id(o['environment'], master_parent_id)
+ if not master_parent:
+ self.log.error("failed to find master parent " +
+ master_parent_id)
+ return False
+ folder_id_path = "/".join((master_parent['id_path'],
+ o["parent_id"]))
+ folder_name_path = "/".join((master_parent["name_path"],
+ o["parent_text"]))
+ folder = {
+ "environment": parent["environment"],
+ "parent_id": master_parent_id,
+ "parent_type": master_parent_type,
+ "id": o["parent_id"],
+ "id_path": folder_id_path,
+ "show_in_tree": True,
+ "name_path": folder_name_path,
+ "name": o["parent_id"],
+ "type": o["parent_type"],
+ "text": o["parent_text"]
+ }
+ # remove master_parent_type & master_parent_id after use,
+ # as they're there just ro help create the dynamic folder
+ o.pop("master_parent_type", True)
+ o.pop("master_parent_id", True)
+ self.set(folder)
+ return True