X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FN2VC.git;a=blobdiff_plain;f=n2vc%2Fk8s_conn.py;h=b1f3230c07ba36724bd6aa236679105f32362454;hp=e49e49731868509b80b44f1d3cbcd26ab1284cd8;hb=fc796cc98009d16e124dd47c0596c5541dc10f4d;hpb=f9bed35a0acf26a93eb2f6d0f146fa71579af74a diff --git a/n2vc/k8s_conn.py b/n2vc/k8s_conn.py index e49e497..b1f3230 100644 --- a/n2vc/k8s_conn.py +++ b/n2vc/k8s_conn.py @@ -50,13 +50,13 @@ class K8sConnector(abc.ABC, Loggable): # parent class Loggable.__init__(self, log=log, log_to_console=True, prefix='\nK8S') - self.log.info('Initializing generic K8S connector') + # self.log.info('Initializing generic K8S connector') # the database and update callback self.db = db self.on_update_db = on_update_db - self.log.info('K8S generic connector initialized') + # self.log.info('K8S generic connector initialized') @abc.abstractmethod async def init_env( @@ -162,7 +162,8 @@ class K8sConnector(abc.ABC, Loggable): timeout: float = 300, params: dict = None, db_dict: dict = None, - kdu_name: str = None + kdu_name: str = None, + namespace: str = None ): """ Deploys of a new KDU instance. It would implicitly rely on the `install` call to deploy the Chart/Bundle @@ -183,6 +184,7 @@ class K8sConnector(abc.ABC, Loggable): It contains a dict with {collection: , filter: {}, path: }, e.g. {collection: "nsrs", filter: {_id: , path: "_admin.deployed.K8S.3"} :param kdu_name: Name of the KDU instance to be installed + :param namespace: K8s namespace to use for the KDU instance :return: True if successful """ @@ -251,6 +253,28 @@ class K8sConnector(abc.ABC, Loggable): :return: True if successful """ + @abc.abstractmethod + async def exec_primitive( + self, + cluster_uuid: str = None, + kdu_instance: str = None, + primitive_name: str = None, + timeout: float = 300, + params: dict = None, + db_dict: dict = None, + ) -> str: + """Exec primitive (Juju action) + + :param cluster_uuid str: The UUID of the cluster + :param kdu_instance str: The unique name of the KDU instance + :param primitive_name: Name of action that will be executed + :param timeout: Timeout for action execution + :param params: Dictionary of all the parameters needed for the action + :db_dict: Dictionary for any additional data + + :return: Returns the output of the action + """ + @abc.abstractmethod async def inspect_kdu( self,