Bug 2215 fixed
[osm/MON.git] / osm_mon / core / common_db.py
index df8db60..66f81fe 100644 (file)
@@ -17,7 +17,6 @@
 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 # License for the specific language governing permissions and limitations
 # under the License.
-
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact: bdiaz@whitestack.com or glavado@whitestack.com
 ##
@@ -144,6 +143,15 @@ class CommonDbClient:
                     )
         return vim_account
 
+    def set_vim_account(self, vim_account_id: str, update_dict: dict) -> bool:
+        try:
+            # Set vim_account resources in mongo
+            self.common_db.set_one("vim_accounts", {"_id": vim_account_id}, update_dict)
+            # self.common_db.set_one('vim_accounts', {"name": "test-vim"}, update_dict)
+            return True
+        except Exception:
+            return False
+
     def get_sdncs(self):
         return self.common_db.get_list("sdns")
 
@@ -156,10 +164,16 @@ class CommonDbClient:
     def get_project(self, project_id: str):
         return self.common_db.get_one("projects", {"_id": project_id})
 
+    def get_k8sclusters(self):
+        return self.common_db.get_list("k8sclusters")
+
     def create_alarm(self, alarm: Alarm):
+        action_data = {"uuid": alarm.uuid, "action": alarm.action}
+        self.common_db.create("alarms_action", action_data)
         return self.common_db.create("alarms", alarm.to_dict())
 
     def delete_alarm(self, alarm_uuid: str):
+        self.common_db.del_one("alarms_action", {"uuid": alarm_uuid})
         return self.common_db.del_one("alarms", {"uuid": alarm_uuid})
 
     def get_alarms(self) -> List[Alarm]:
@@ -169,6 +183,21 @@ class CommonDbClient:
             alarms.append(Alarm.from_dict(alarm_dict))
         return alarms
 
+    def update_alarm_status(self, alarm_state: str, uuid):
+        modified_count = self.common_db.set_one(
+            "alarms", {"uuid": uuid}, {"alarm_status": alarm_state}
+        )
+        return modified_count
+
+    def update_alarm_extra_labels(self, alarm_labels: dict, uuid):
+        modified_count = self.common_db.set_one(
+            "alarms", {"uuid": uuid}, {"extra_labels": alarm_labels}
+        )
+        return modified_count
+
+    def get_alarm_by_uuid(self, uuid: str):
+        return self.common_db.get_one("alarms", {"uuid": uuid})
+
     def get_user(self, username: str):
         return self.common_db.get_one("users", {"username": username})