def run_plugins_for_function()

in ansible/roles/slurm/files/scripts/slurm_gcp_plugins/__init__.py [0:0]


def run_plugins_for_function(plugin_function_name, pos_args, keyword_args):
    if "lkp" not in keyword_args:
        logging.error(
            (
                f"Plugin callback {plugin_function_name} called"
                + 'without a "lkp" argument need to get obtain deployment'
                + "information"
            )
        )
        return

    if not keyword_args["lkp"].cfg:
        logging.error(
            (
                f"Plugin callback {plugin_function_name} called"
                + 'with "lkp.cfg" unpopulated. lkp.cfg is needed'
                + "to argument need to get obtain deployment"
                + "information"
            )
        )
        return

    cfg = keyword_args["lkp"].cfg
    if cfg.enable_slurm_gcp_plugins:
        for plugin, function in get_plugins_function(plugin_function_name).items():
            if plugin in cfg.enable_slurm_gcp_plugins:
                logging.debug(f"Running {function} from plugin {plugin}")
                try:
                    function(*pos_args, **keyword_args)
                except BaseException as e:
                    logging.error(
                        f"Plugin callback {plugin}:{function} caused an exception: {e}"
                    )
            else:
                logging.debug(
                    f"Not running {function} from non-enabled plugin {plugin}"
                )