X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Flcm_helm_conn.py;h=555613e1030370049ed72a23333c50717e3a7f13;hb=9a1e6fd04806a5ae74ddf277579144a91015620b;hp=c7ea476a8f9679dec0397249f7fdbd7e6120da73;hpb=1a3a4c95298f6f77e2b60a9f66a8cb43a0823d8f;p=osm%2FLCM.git diff --git a/osm_lcm/lcm_helm_conn.py b/osm_lcm/lcm_helm_conn.py index c7ea476..555613e 100644 --- a/osm_lcm/lcm_helm_conn.py +++ b/osm_lcm/lcm_helm_conn.py @@ -123,6 +123,7 @@ class LCMHelmConn(N2VCConnector): reuse_ee_id: str = None, progress_timeout: float = None, total_timeout: float = None, + config: dict = None, artifact_path: str = None, vca_type: str = None) -> (str, dict): """ @@ -137,8 +138,9 @@ class LCMHelmConn(N2VCConnector): :param str reuse_ee_id: ee id from an older execution. TODO - right now this params is not used :param float progress_timeout: :param float total_timeout: - :param str artifact_path path of package content - :param str vca_type Type of vca, not used as assumed of type helm + :param dict config: General variables to instantiate KDU + :param str artifact_path: path of package content + :param str vca_type: Type of vca, not used as assumed of type helm :returns str, dict: id of the new execution environment including namespace.helm_id and credentials object set to None as all credentials should be osm kubernetes .kubeconfig """ @@ -177,15 +179,23 @@ class LCMHelmConn(N2VCConnector): # Call helm conn install # Obtain system cluster id from database system_cluster_uuid = self._get_system_cluster_id() + # Add parameter osm if exist to global + if config and config.get("osm"): + if not config.get("global"): + config["global"] = {} + config["global"]["osm"] = config.get("osm") self.log.debug("install helm chart: {}".format(full_path)) helm_id = await self._k8sclusterhelm.install(system_cluster_uuid, kdu_model=full_path, namespace=self._KUBECTL_OSM_NAMESPACE, + params=config, db_dict=db_dict, timeout=progress_timeout) ee_id = "{}.{}".format(self._KUBECTL_OSM_NAMESPACE, helm_id) return ee_id, None + except N2VCException: + raise except Exception as e: self.log.error("Error deploying chart ee: {}".format(e), exc_info=True) raise N2VCException("Error deploying chart ee: {}".format(e)) @@ -202,6 +212,8 @@ class LCMHelmConn(N2VCConnector): progress_timeout: float = None, total_timeout: float = None, config: dict = None, + num_units: int = 1, + vca_type: str = None ): # nothing to do pass @@ -389,6 +401,8 @@ class LCMHelmConn(N2VCConnector): # Uninstall chart await self._k8sclusterhelm.uninstall(system_cluster_uuid, helm_id) self.log.info("ee_id: {} deleted".format(ee_id)) + except N2VCException: + raise except Exception as e: self.log.error("Error deleting ee id: {}: {}".format(ee_id, e), exc_info=True) raise N2VCException("Error deleting ee id {}: {}".format(ee_id, e)) @@ -476,6 +490,10 @@ class LCMHelmConn(N2VCConnector): if not self._system_cluster_id: db_k8cluster = self.db.get_one("k8sclusters", {"name": self._KUBECTL_OSM_CLUSTER_NAME}) k8s_hc_id = deep_get(db_k8cluster, ("_admin", "helm-chart", "id")) + if not k8s_hc_id: + self.log.error("osm system cluster has not been properly initialized for helm connector, " + "helm-chart id is not defined") + raise N2VCException("osm system cluster has not been properly initialized for helm connector") self._system_cluster_id = k8s_hc_id return self._system_cluster_id