- db_dict['errorDescription'] = error_description
- if current_ns_status == 'READY' and is_degraded:
- db_dict['nsState'] = 'DEGRADED'
- if current_ns_status == 'DEGRADED' and not is_degraded:
- db_dict['nsState'] = 'READY'
+ db_dict["errorDescription"] = error_description
+ if current_ns_status == "READY" and is_degraded:
+ db_dict["nsState"] = "DEGRADED"
+ if current_ns_status == "DEGRADED" and not is_degraded:
+ db_dict["nsState"] = "READY"
+
+ # write to database
+ self.update_db_2("nsrs", nsr_id, db_dict)
+
+ except (asyncio.CancelledError, asyncio.TimeoutError):
+ raise
+ except Exception as e:
+ self.logger.warn("Error updating NS state for ns={}: {}".format(nsr_id, e))
+
+ async def _on_update_k8s_db(
+ self, cluster_uuid, kdu_instance, filter=None, vca_id=None
+ ):
+ """
+ Updating vca status in NSR record
+ :param cluster_uuid: UUID of a k8s cluster
+ :param kdu_instance: The unique name of the KDU instance
+ :param filter: To get nsr_id
+ :return: none
+ """
+
+ # self.logger.debug("_on_update_k8s_db(cluster_uuid={}, kdu_instance={}, filter={}"
+ # .format(cluster_uuid, kdu_instance, filter))
+
+ try:
+ nsr_id = filter.get("_id")
+
+ # get vca status for NS
+ vca_status = await self.k8sclusterjuju.status_kdu(
+ cluster_uuid,
+ kdu_instance,
+ complete_status=True,
+ yaml_format=False,
+ vca_id=vca_id,
+ )
+ # vcaStatus
+ db_dict = dict()
+ db_dict["vcaStatus"] = {nsr_id: vca_status}
+
+ await self.k8sclusterjuju.update_vca_status(
+ db_dict["vcaStatus"],
+ kdu_instance,
+ vca_id=vca_id,
+ )