Fix 1539: Add --skip-repo option for Helm
[osm/N2VC.git] / n2vc / k8s_conn.py
index 058f5ba..89805b3 100644 (file)
@@ -33,6 +33,7 @@ class K8sConnector(abc.ABC, Loggable):
     ################################### P U B L I C ####################################
     ####################################################################################
     """
     ################################### P U B L I C ####################################
     ####################################################################################
     """
+
     @staticmethod
     def generate_kdu_instance_name(**kwargs):
         raise NotImplementedError("Method not implemented")
     @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
         """
 
         :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
     @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
         """
 
     @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.
 
         """
         Returns a list of services defined for the specified kdu instance.
 
@@ -339,10 +378,9 @@ class K8sConnector(abc.ABC, Loggable):
         """
 
     @abc.abstractmethod
         """
 
     @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.
 
         """
         Obtains the data of the specified service in the k8cluster.