X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_conn.py;h=89805b3211fdef9f0998a9b22121aee261d53078;hp=058f5bafe418ee5dff238913cf5e50bc7eb648be;hb=4395cfa6c7d0d80980c00d9f078440e0333fd826;hpb=c4da25cc55411e6cea1e83d29c206bce421f0728 diff --git a/n2vc/k8s_conn.py b/n2vc/k8s_conn.py index 058f5ba..89805b3 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") @@ -207,6 +208,45 @@ class K8sConnector(abc.ABC, Loggable): :return: reference to the new revision number of the KDU instance """ + @abc.abstractmethod + async def scale( + self, + kdu_instance: str, + scale: int, + resource_name: str, + total_timeout: float = 1800, + **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 + """ + + @abc.abstractmethod + async def get_scale_count( + self, + resource_name: str, + kdu_instance: str, + **kwargs, + ) -> int: + """ + Get an application scale count. + + :param: resource_name str: Resource name (Application name) + :param: kdu_instance str: KDU instance name + :param kwargs: Additional parameters + + :return: Return application instance count + """ + @abc.abstractmethod async def rollback( self, cluster_uuid: str, kdu_instance: str, revision=0, db_dict: dict = None @@ -318,10 +358,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. @@ -339,10 +378,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.