From b9c08a45db08ed8b96c583ce1c7d0c72e29a6022 Mon Sep 17 00:00:00 2001 From: Tullio Sebastiani Date: Mon, 15 May 2023 18:24:23 +0200 Subject: [PATCH] extracted the namespace as scenario input (#419) fixed sub-workflow and input Co-authored-by: Naga Ravi Chaitanya Elluri --- docs/arcaflow_scenarios/cpu_hog.md | 1 + docs/arcaflow_scenarios/io_hog.md | 1 + docs/arcaflow_scenarios/memory_hog.md | 1 + scenarios/arcaflow/cpu-hog/input.yaml | 1 + scenarios/arcaflow/cpu-hog/sub-workflow.yaml | 9 ++++++++- scenarios/arcaflow/cpu-hog/workflow.yaml | 7 +++++++ scenarios/arcaflow/io-hog/input.yaml | 1 + scenarios/arcaflow/io-hog/sub-workflow.yaml | 9 ++++++++- scenarios/arcaflow/io-hog/workflow.yaml | 7 +++++++ scenarios/arcaflow/memory-hog/input.yaml | 3 ++- scenarios/arcaflow/memory-hog/sub-workflow.yaml | 9 ++++++++- scenarios/arcaflow/memory-hog/workflow.yaml | 7 +++++++ 12 files changed, 52 insertions(+), 4 deletions(-) diff --git a/docs/arcaflow_scenarios/cpu_hog.md b/docs/arcaflow_scenarios/cpu_hog.md index c29f7a90..981a3ae4 100644 --- a/docs/arcaflow_scenarios/cpu_hog.md +++ b/docs/arcaflow_scenarios/cpu_hog.md @@ -6,6 +6,7 @@ Usage section. This scenario takes a list of objects named `input_list` with the following properties: - **kubeconfig :** *string* the kubeconfig needed by the deployer to deploy the sysbench plugin in the target cluster +- **namespace :** *string* the namespace where the scenario container will be deployed **Note:** this parameter will be automatically filled by kraken if the `kubeconfig_path` property is correctly set - **node_selector :** *key-value map* the node label that will be used as `nodeSelector` by the pod to target a specific cluster node - **duration :** *string* stop stress test after N seconds. One can also specify the units of time in seconds, minutes, hours, days or years with the suffix s, m, h, d or y. diff --git a/docs/arcaflow_scenarios/io_hog.md b/docs/arcaflow_scenarios/io_hog.md index d87fce84..d6ebb698 100644 --- a/docs/arcaflow_scenarios/io_hog.md +++ b/docs/arcaflow_scenarios/io_hog.md @@ -7,6 +7,7 @@ Usage section. This scenario takes a list of objects named `input_list` with the following properties: - **kubeconfig :** *string* the kubeconfig needed by the deployer to deploy the sysbench plugin in the target cluster +- **namespace :** *string* the namespace where the scenario container will be deployed **Note:** this parameter will be automatically filled by kraken if the `kubeconfig_path` property is correctly set - **node_selector :** *key-value map* the node label that will be used as `nodeSelector` by the pod to target a specific cluster node - **duration :** *string* stop stress test after N seconds. One can also specify the units of time in seconds, minutes, hours, days or years with the suffix s, m, h, d or y. diff --git a/docs/arcaflow_scenarios/memory_hog.md b/docs/arcaflow_scenarios/memory_hog.md index ff59b6fb..2eee25f4 100644 --- a/docs/arcaflow_scenarios/memory_hog.md +++ b/docs/arcaflow_scenarios/memory_hog.md @@ -6,6 +6,7 @@ Usage section. This scenario takes a list of objects named `input_list` with the following properties: - **kubeconfig :** *string* the kubeconfig needed by the deployer to deploy the sysbench plugin in the target cluster +- **namespace :** *string* the namespace where the scenario container will be deployed **Note:** this parameter will be automatically filled by kraken if the `kubeconfig_path` property is correctly set - **node_selector :** *key-value map* the node label that will be used as `nodeSelector` by the pod to target a specific cluster node - **duration :** *string* stop stress test after N seconds. One can also specify the units of time in seconds, minutes, hours, days or years with the suffix s, m, h, d or y. diff --git a/scenarios/arcaflow/cpu-hog/input.yaml b/scenarios/arcaflow/cpu-hog/input.yaml index 47daf0c3..3bcbece9 100644 --- a/scenarios/arcaflow/cpu-hog/input.yaml +++ b/scenarios/arcaflow/cpu-hog/input.yaml @@ -8,6 +8,7 @@ input_list: # node_selector: # kubernetes.io/hostname: master kubeconfig: "" + namespace: default # duplicate this section to run simultaneous stressors in the same run diff --git a/scenarios/arcaflow/cpu-hog/sub-workflow.yaml b/scenarios/arcaflow/cpu-hog/sub-workflow.yaml index b52d552a..e0516c55 100644 --- a/scenarios/arcaflow/cpu-hog/sub-workflow.yaml +++ b/scenarios/arcaflow/cpu-hog/sub-workflow.yaml @@ -11,6 +11,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed @@ -73,7 +80,7 @@ steps: connection: !expr $.steps.kubeconfig.outputs.success.connection pod: metadata: - namespace: default + namespace: !expr $.input.namespace labels: arcaflow: stressng spec: diff --git a/scenarios/arcaflow/cpu-hog/workflow.yaml b/scenarios/arcaflow/cpu-hog/workflow.yaml index 9acd4aea..a2940e4f 100644 --- a/scenarios/arcaflow/cpu-hog/workflow.yaml +++ b/scenarios/arcaflow/cpu-hog/workflow.yaml @@ -18,6 +18,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed diff --git a/scenarios/arcaflow/io-hog/input.yaml b/scenarios/arcaflow/io-hog/input.yaml index 430a1f8d..caa2cd50 100644 --- a/scenarios/arcaflow/io-hog/input.yaml +++ b/scenarios/arcaflow/io-hog/input.yaml @@ -13,6 +13,7 @@ input_list: # node_selector: # kubernetes.io/hostname: master kubeconfig: "" + namespace: default # duplicate this section to run simultaneous stressors in the same run diff --git a/scenarios/arcaflow/io-hog/sub-workflow.yaml b/scenarios/arcaflow/io-hog/sub-workflow.yaml index 3c9854ca..caa6755a 100644 --- a/scenarios/arcaflow/io-hog/sub-workflow.yaml +++ b/scenarios/arcaflow/io-hog/sub-workflow.yaml @@ -11,6 +11,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed @@ -110,7 +117,7 @@ steps: connection: !expr $.steps.kubeconfig.outputs.success.connection pod: metadata: - namespace: default + namespace: !expr $.input.namespace labels: arcaflow: stressng spec: diff --git a/scenarios/arcaflow/io-hog/workflow.yaml b/scenarios/arcaflow/io-hog/workflow.yaml index 27a8fad5..694e9eb3 100644 --- a/scenarios/arcaflow/io-hog/workflow.yaml +++ b/scenarios/arcaflow/io-hog/workflow.yaml @@ -18,6 +18,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed diff --git a/scenarios/arcaflow/memory-hog/input.yaml b/scenarios/arcaflow/memory-hog/input.yaml index 8315c207..70b72c96 100644 --- a/scenarios/arcaflow/memory-hog/input.yaml +++ b/scenarios/arcaflow/memory-hog/input.yaml @@ -6,7 +6,8 @@ input_list: # node selector example # node_selector: # kubernetes.io/hostname: master - kubeconfig: { } + kubeconfig: "" + namespace: default # duplicate this section to run simultaneous stressors in the same run diff --git a/scenarios/arcaflow/memory-hog/sub-workflow.yaml b/scenarios/arcaflow/memory-hog/sub-workflow.yaml index 85f89572..eeb1be5b 100644 --- a/scenarios/arcaflow/memory-hog/sub-workflow.yaml +++ b/scenarios/arcaflow/memory-hog/sub-workflow.yaml @@ -11,6 +11,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed @@ -64,7 +71,7 @@ steps: connection: !expr $.steps.kubeconfig.outputs.success.connection pod: metadata: - namespace: default + namespace: !expr $.input.namespace labels: arcaflow: stressng spec: diff --git a/scenarios/arcaflow/memory-hog/workflow.yaml b/scenarios/arcaflow/memory-hog/workflow.yaml index 528f92d5..0f27ddcd 100644 --- a/scenarios/arcaflow/memory-hog/workflow.yaml +++ b/scenarios/arcaflow/memory-hog/workflow.yaml @@ -18,6 +18,13 @@ input: type: type_id: string required: true + namespace: + display: + description: The namespace where the container will be deployed + name: Namespace + type: + type_id: string + required: true node_selector: display: description: kubernetes node name where the plugin must be deployed