# 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(
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
It contains a dict with {collection: <str>, filter: {}, path: <str>},
e.g. {collection: "nsrs", filter: {_id: <nsd-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
"""
: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,