From 765de81ada7d3c34b6dc67cb5c3a1515718fbb65 Mon Sep 17 00:00:00 2001 From: Brandon Squizzato <35474886+bsquizz@users.noreply.github.com> Date: Mon, 21 Mar 2022 10:17:32 -0400 Subject: [PATCH] Add ability to set 'plugins' on CJI (#197) --- bonfire/bonfire.py | 11 +++++++++++ bonfire/processor.py | 2 ++ bonfire/resources/default-iqe-cji.yaml | 3 +++ cicd/cji_smoke_test.sh | 3 +++ 4 files changed, 19 insertions(+) diff --git a/bonfire/bonfire.py b/bonfire/bonfire.py index c63d3f35..1edd174c 100755 --- a/bonfire/bonfire.py +++ b/bonfire/bonfire.py @@ -522,6 +522,13 @@ def _validate_opposing_opts(ctx, param, value): type=str, default="", ), + click.option( + "--plugins", + "-p", + help="comma,separated,list of IQE plugins (default: determined by ClowdApp)", + type=str, + default="", + ), click.option( "--filter", "-k", @@ -1114,6 +1121,7 @@ def _cmd_process_iqe_cji( requirements, requirements_priority, test_importance, + plugins, local, ): """Process IQE ClowdJobInvocation template and print output""" @@ -1129,6 +1137,7 @@ def _cmd_process_iqe_cji( requirements, requirements_priority, test_importance, + plugins, local, ) print(json.dumps(cji_config, indent=2)) @@ -1154,6 +1163,7 @@ def _cmd_deploy_iqe_cji( requirements, requirements_priority, test_importance, + plugins, name, requester, duration, @@ -1177,6 +1187,7 @@ def _cmd_deploy_iqe_cji( requirements, requirements_priority, test_importance, + plugins, local, ) diff --git a/bonfire/processor.py b/bonfire/processor.py index 40724723..6ee610b4 100644 --- a/bonfire/processor.py +++ b/bonfire/processor.py @@ -119,6 +119,7 @@ def process_iqe_cji( requirements="", requirements_priority="", test_importance="", + plugins="", local=True, ): log.info("processing IQE ClowdJobInvocation") @@ -141,6 +142,7 @@ def process_iqe_cji( params["FILTER"] = filter params["ENV_NAME"] = env params["IMAGE_TAG"] = image_tag + params["PLUGINS"] = plugins params["NAME"] = cji_name or f"iqe-{str(uuid.uuid4()).split('-')[0]}" params["APP_NAME"] = clowd_app_name params["REQUIREMENTS"] = json.dumps(requirements) diff --git a/bonfire/resources/default-iqe-cji.yaml b/bonfire/resources/default-iqe-cji.yaml index 8590f6bd..2289045e 100644 --- a/bonfire/resources/default-iqe-cji.yaml +++ b/bonfire/resources/default-iqe-cji.yaml @@ -16,6 +16,7 @@ objects: imageTag: ${IMAGE_TAG} marker: ${MARKER} filter: ${FILTER} + plugins: ${PLUGINS} dynaconfEnvName: ${ENV_NAME} requirements: ${{REQUIREMENTS}} requirementsPriority: ${{REQUIREMENTS_PRIORITY}} @@ -43,3 +44,5 @@ parameters: value: "[]" - name: TEST_IMPORTANCE value: "[]" +- name: PLUGINS + value: "" diff --git a/cicd/cji_smoke_test.sh b/cicd/cji_smoke_test.sh index 394d609d..63014237 100644 --- a/cicd/cji_smoke_test.sh +++ b/cicd/cji_smoke_test.sh @@ -24,6 +24,8 @@ set -e : "${IQE_REQUIREMENTS:='""'}" : "${IQE_REQUIREMENTS_PRIORITY:='""'}" : "${IQE_TEST_IMPORTANCE:='""'}" +: "${IQE_PLUGINS:='""'}" + # minio client is used to fetch test artifacts from minio in the ephemeral ns MC_IMAGE="quay.io/cloudservices/mc:latest" @@ -46,6 +48,7 @@ POD=$( --requirements "$IQE_REQUIREMENTS" \ --requirements-priority "$IQE_REQUIREMENTS_PRIORITY" \ --test-importance "$IQE_TEST_IMPORTANCE" \ + --plugins "$IQE_PLUGINS" \ --env "clowder_smoke" \ --cji-name $CJI_NAME \ --namespace $NAMESPACE)