Feature 11022,11025: Advanced Cluster Management
Change-Id: I4168366f79b11de15f6808977fb15a3ff270f519
Signed-off-by: yshah <shahithya.y@tataelxsi.co.in>
diff --git a/osm_nbi/engine.py b/osm_nbi/engine.py
index e419e8a..bac0802 100644
--- a/osm_nbi/engine.py
+++ b/osm_nbi/engine.py
@@ -60,6 +60,8 @@
AppTopic,
ResourceTopic,
K8saddTopic,
+ KsusTopic,
+ OkaTopic,
)
from osm_nbi.vnf_instance_topics import VnfInstances, VnfLcmOpTopic
from osm_nbi.pmjobs_topics import PmJobsTopic
@@ -106,6 +108,8 @@
"apps": AppTopic,
"resources": ResourceTopic,
"k8sops": K8saddTopic,
+ "ksus": KsusTopic,
+ "oka_packages": OkaTopic,
# [NEW_TOPIC]: add an entry here
# "pm_jobs": PmJobsTopic will be added manually because it needs other parameters
}
@@ -319,6 +323,51 @@
session, _id, indata, kwargs, headers
)
+ def clone(
+ self, rollback, session, topic, _id, indata=None, kwargs=None, headers=None
+ ):
+ if topic not in self.map_topic:
+ raise EngineException(
+ "Unknown topic {}!!!".format(topic), HTTPStatus.INTERNAL_SERVER_ERROR
+ )
+ with self.write_lock:
+ return self.map_topic[topic].clone(
+ rollback, session, _id, indata, kwargs, headers
+ )
+
+ def move_ksu(self, session, topic, _id, indata=None, kwargs=None):
+ if topic not in self.map_topic:
+ raise EngineException(
+ "Unknown topic {}!!!".format(topic), HTTPStatus.INTERNAL_SERVER_ERROR
+ )
+
+ with self.write_lock:
+ return self.map_topic[topic].move_ksu(session, _id, indata, kwargs)
+
+ def get_cluster_info(self, session, topic, _id, item):
+ if topic not in self.map_topic:
+ raise EngineException(
+ "Unknown topic {}!!!".format(topic), HTTPStatus.INTERNAL_SERVER_ERROR
+ )
+ return self.map_topic[topic].get_cluster_info(session, _id, item)
+
+ def update_cluster(self, session, topic, _id, item, indata):
+ if topic not in self.map_topic:
+ raise EngineException(
+ "Unknown topic {}!!!".format(topic), HTTPStatus.INTERNAL_SERVER_ERROR
+ )
+ return self.map_topic[topic].update_cluster(session, _id, item, indata)
+
+ def delete_ksu(self, session, topic, _id, indata):
+ if topic not in self.map_topic:
+ raise EngineException(
+ "Unknown topic {}!!!".format(topic), HTTPStatus.INTERNAL_SERVER_ERROR
+ )
+ with self.write_lock:
+ return self.map_topic[topic].delete_ksu(
+ session, _id, indata, not_send_msg=None
+ )
+
def get_item_list(self, session, topic, filter_q=None, api_req=False):
"""
Get a list of items