X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_conn.py;h=55b340ac60d8fd853ab152509f6a8d919e3dd9ae;hp=f82e032b23adc61d82a25764036e426a10dede6d;hb=ed0ff05f09f276c753e5aa5439a3a1252b6a07e4;hpb=2962f3e7aba84b4584d2deac30d1c163f6441a03 diff --git a/n2vc/k8s_conn.py b/n2vc/k8s_conn.py index f82e032..55b340a 100644 --- a/n2vc/k8s_conn.py +++ b/n2vc/k8s_conn.py @@ -33,6 +33,7 @@ class K8sConnector(abc.ABC, Loggable): ################################### P U B L I C #################################### #################################################################################### """ + @staticmethod def generate_kdu_instance_name(**kwargs): raise NotImplementedError("Method not implemented") @@ -209,40 +210,59 @@ class K8sConnector(abc.ABC, Loggable): @abc.abstractmethod async def scale( - self, kdu_instance: str, - scale: int, - resource_name: str, - total_timeout: float = 1800, - **kwargs, + self, + kdu_instance: str, + scale: int, + resource_name: str, + total_timeout: float = 1800, + cluster_uuid: str = None, + kdu_model: str = None, + atomic: bool = True, + db_dict: dict = None, + **kwargs, ) -> bool: - """ - Scales an application in KDU instance. - - :param: kdu_instance str: KDU instance name - :param: scale int: Scale to which to set this application - :param: resource_name str: Resource name (Application name) - :param: timeout float: The time, in seconds, to wait for the install - to finish - :param kwargs: Additional parameters - - :return: If successful, returns True + """Scale a resource in a KDU instance. + + Args: + kdu_instance: KDU instance name + scale: Scale to which to set the resource + resource_name: Resource name + total_timeout: The time, in seconds, to wait for the install + to finish + cluster_uuid: The UUID of the cluster + kdu_model: The chart/bundle reference + atomic: if set, upgrade process rolls back changes made in case of failed upgrade. + The --wait flag will be set automatically if --atomic is used + db_dict: Dictionary for any additional data + kwargs: Additional parameters + vca_id (str): VCA ID + + Returns: + True if successful, False otherwise """ @abc.abstractmethod async def get_scale_count( - self, - resource_name: str, - kdu_instance: str, - **kwargs, + self, + resource_name: str, + kdu_instance: str, + cluster_uuid: str, + kdu_model: str, + timeout: float = 300, + **kwargs, ) -> int: - """ - Get an application scale count. + """Get a resource scale count in a KDU instance. - :param: resource_name str: Resource name (Application name) - :param: kdu_instance str: KDU instance name - :param kwargs: Additional parameters + Args: + resource_name: Resource name + kdu_instance: KDU instance name + cluster_uuid: The UUID of the cluster + kdu_model: chart/bundle reference + timeout: The time, in seconds, to wait + kwargs: Additional parameters - :return: Return application instance count + Returns: + Resource instance count """ @abc.abstractmethod @@ -356,10 +376,9 @@ class K8sConnector(abc.ABC, Loggable): """ @abc.abstractmethod - async def get_services(self, - cluster_uuid: str, - kdu_instance: str, - namespace: str) -> list: + async def get_services( + self, cluster_uuid: str, kdu_instance: str, namespace: str + ) -> list: """ Returns a list of services defined for the specified kdu instance. @@ -377,10 +396,9 @@ class K8sConnector(abc.ABC, Loggable): """ @abc.abstractmethod - async def get_service(self, - cluster_uuid: str, - service_name: str, - namespace: str = None) -> object: + async def get_service( + self, cluster_uuid: str, service_name: str, namespace: str = None + ) -> object: """ Obtains the data of the specified service in the k8cluster.