################################### P U B L I C ####################################
####################################################################################
"""
+ @staticmethod
+ def generate_kdu_instance_name(**kwargs):
+ raise NotImplementedError("Method not implemented")
def __init__(self, db: object, log: object = None, on_update_db=None):
"""
self,
cluster_uuid: str,
kdu_model: str,
+ kdu_instance: str,
atomic: bool = True,
timeout: float = 300,
params: dict = None,
- a name of chart/bundle available via the repos known by OSM
- a path to a packaged chart/bundle
- a path to an unpacked chart/bundle directory or a URL
+ :param kdu_instance: Kdu instance name
:param atomic: If set, installation process purges chart/bundle on fail, also
will wait until all the K8s objects are active
:param timeout: Time in seconds to wait for the install of the chart/bundle
: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