Skip to content

Commit

Permalink
Merge branch 'master' into add-build-url-ocm
Browse files Browse the repository at this point in the history
  • Loading branch information
chentex authored Jul 4, 2024
2 parents 65ebbcd + 9ed28ca commit f176aca
Show file tree
Hide file tree
Showing 68 changed files with 1,688 additions and 977 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
name: Release Airflow Images
on:
schedule: # triggers every midnight
- cron: '0 0 * * *'
push:
branches:
- master
tags:
- "*" # triggers only if push new tag version
- "*" # triggers on a push event

jobs:
containers:
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
QUAY_ACCOUNT ?= quay.io/cloud-bulldozer
IMAGE_BUILDER ?= podman
AIRFLOW_VERSION ?= 2.3.2
AIRFLOW_VERSION ?= 2.6.2
AIRFLOW_PYTHON_VERSION ?= python3.8
AIRFLOW_IMAGE_TAG ?= $(AIRFLOW_VERSION)-$(AIRFLOW_PYTHON_VERSION)
IMAGE_TAG ?= $(AIRFLOW_VERSION)
Expand Down
2 changes: 1 addition & 1 deletion dags/common/models/dag_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ class DagConfig:
})
executor_image: Optional[dict] = field(default_factory=lambda: {
"repository": "quay.io/cloud-bulldozer",
"tag": "2.3.2"
"tag": "2.6.2"
})
dependencies: Optional[dict] = field(default_factory=lambda: {})
1 change: 0 additions & 1 deletion dags/nocp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ This DAG is used for OCM testing. Modules in this DAG -
* Each test is called with a timeout.
```Timeout = test duration + 10 minutes```
This extra 10 minutes help test to create necessary result files after running the test for given duration
* ```Automation.py``` uploads all result files to snappy server
* Kube burner is used to pull metrics from clusters and account manager services and push to observability ES.
* Finally it displays dashboard URLs for these metrics
* At the end, this script returns UUID and test result to airflow. UUID is used in the next task (i.e cleanup task)
Expand Down
2 changes: 1 addition & 1 deletion dags/nocp/docs/nocp_benchmarks.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Some workloads doesn't need OCP environemnt. For example, ocm-api-load which tes
* tool is run from the jump host
* user has to manually setup needed packages in the jump host
* airflow will run only one task i.e benchmark task
* user provided script for benchmark task should handle everything like triggering the tool on jump host, scrapping metrics, pushing data to snappy and cleanup.
* user provided script for benchmark task should handle everything like triggering the tool on jump host or scrapping metrics


## Adding the new workload
Expand Down
2 changes: 1 addition & 1 deletion dags/nocp/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ dagConfig:
cleanupOnSuccess: true
executorImages:
repository: quay.io/cloud-bulldozer
tag: 2.3.2
tag: 2.6.2
5 changes: 1 addition & 4 deletions dags/nocp/scripts/run_ocm_api_load.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,15 +89,12 @@ run_ocm_api_load(){

# Timeout runs ocm-load-test for the specified duration even if airflow killed this script (when user wants to stop benchmark execution). This helps in ocm-load-test to cleanup resources it created. 10 minutes extra timeout is set so that test can prepare results after running for the given duration.
# kill-after option needs sudo permissions
timeout --kill-after=60s --preserve-status $(((tduration + 10) * 60)) $TESTDIR/build/ocm-load-test --aws-region $AWS_DEFAULT_REGION --aws-account-id $AWS_ACCOUNT_ID --aws-access-key $AWS_OSDCCADMIN_KEY --aws-access-secret $AWS_OSDCCADMIN_SECRET --cooldown $COOLDOWN --duration $tduration --elastic-index ocm-request-test --elastic-insecure-skip-verify=true --elastic-server $ES_SERVER --gateway-url $GATEWAY_URL --ocm-token $OCM_TOKEN --ocm-token-url $OCM_TOKEN_URL --output-path $TESTDIR/results --rate $trate --test-id $UUID --test-names $tname $rampoptions
timeout --kill-after=60s --preserve-status $(((tduration + 10) * 60)) $TESTDIR/build/ocm-load-test --aws-region $AWS_DEFAULT_REGION --aws-account-id $AWS_ACCOUNT_ID --aws-access-key $AWS_OSDCCADMIN_KEY --aws-access-secret $AWS_OSDCCADMIN_SECRET --cooldown $COOLDOWN --duration $tduration --elastic-index ocm-load-metrics --elastic-insecure-skip-verify=true --elastic-server $ES_SERVER --gateway-url $GATEWAY_URL --ocm-token $OCM_TOKEN --ocm-token-url $OCM_TOKEN_URL --output-path $TESTDIR/results --rate $trate --test-id $UUID --test-names $tname $rampoptions
sleep $COOLDOWN
done
benchmark_rv=$?
end_time=$(date +%s)

echo "Uploading Result files..."
python3 $TESTDIR/automation.py upload --dir $TESTDIR/results --server ${SNAPPY_DATA_SERVER_URL} --user ${SNAPPY_DATA_SERVER_USERNAME} --password ${SNAPPY_DATA_SERVER_PASSWORD}

# scraping metrics
export KUBE_ES_INDEX=ocm-uhc-acct-mngr
envsubst < $TESTDIR/ci/templates/kube-burner-config.yaml > $TESTDIR/kube-burner-am-config.yaml
Expand Down
5 changes: 0 additions & 5 deletions dags/nocp/tasks/benchmarks/nocp.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,13 @@ def __init__(self, app, dag, config: DagConfig, task_group="benchmarks"):
self.dag = dag
self.task_group = task_group
self.dag_config = config
self.snappy_creds = var_loader.get_secret("snappy_creds", deserialize_json=True)
self.es_server_baseline = var_loader.get_secret("es_server_baseline")

# Specific Task Configuration
self.vars = nocp_var_loader.build_nocp_task_vars(
app, task=self.task_group)
self.git_name=self._git_name()
self.env = {
"SNAPPY_DATA_SERVER_URL": self.snappy_creds['server'],
"SNAPPY_DATA_SERVER_USERNAME": self.snappy_creds['username'],
"SNAPPY_DATA_SERVER_PASSWORD": self.snappy_creds['password'],
"SNAPPY_USER_FOLDER": self.git_name,
"GIT_USER": self.git_name,
"TASK_GROUP": self.task_group,
"ES_SERVER_BASELINE": self.es_server_baseline,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
"env": {
"WORKLOAD": "pod2svc",
"COMPARE": "false",
"ENABLE_SNAPPY_BACKUP": "false",
"MULTI_AZ": "false"
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"command": "./run.sh",
"env": {
"BASELINE_UUID": "rosa-4.12-9w-2r-c5.4xlarge",
"CONFIG": "config/aws-standard.yml",
"CONFIG": "config/standard.yml",
"ES_INDEX": "ingress-performance",
"BASELINE_INDEX": "ingress-performance-baseline",
"TOLERANCY": "20"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{
"benchmarks": [
{
"name": "node-density",
"workload": "kube-burner-ocp-wrapper",
"trigger_rule": "all_done",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"LOG_LEVEL": "debug"
}
},
{
"name": "node-desnity-cni",
"workload": "kube-burner-ocp-wrapper",
"trigger_rule": "all_done",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density-cni",
"LOG_LEVEL": "debug"
}
},
{
"name": "cluster-density-v2",
"workload": "kube-burner-ocp-wrapper",
"trigger_rule": "all_done",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "500",
"LOG_LEVEL": "debug",
"CHURN": "true",
"EXTRA_FLAGS": "--churn-duration=1h --churn-percent=10 --churn-delay=30s"
}
}
]
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
{
"benchmarks": [
{
"name": "cluster-density-ms-p75",
"workload": "kube-burner",
"name": "cluster-density-v2-p75",
"workload": "kube-burner-ocp-wrapper",
"trigger_rule": "all_done",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-ms",
"JOB_ITERATIONS": "75",
"JOB_TIMEOUT": "18000",
"STEP_SIZE": "2m",
"HYPERSHIFT": "true",
"METRICS_PROFILE": "metrics-profiles/hypershift-metrics.yaml",
"QPS": "20",
"BURST": "20",
"LOG_LEVEL": "info",
"PLATFORM_ALERTS": "false",
"CLEANUP_WHEN_FINISH": "true",
"CLEANUP": "true"
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "63",
"LOG_LEVEL": "debug",
"EXTRA_FLAGS": "--churn-duration=1h --churn-percent=10 --churn-delay=30s"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
{
"benchmarks": [
{
"name": "cluster-density-ms-p90",
"workload": "kube-burner",
"name": "cluster-density-v2-p90",
"workload": "kube-burner-ocp-wrapper",
"trigger_rule": "all_done",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-ms",
"JOB_ITERATIONS": "100",
"JOB_TIMEOUT": "18000",
"STEP_SIZE": "2m",
"HYPERSHIFT": "true",
"METRICS_PROFILE": "metrics-profiles/hypershift-metrics.yaml",
"QPS": "20",
"BURST": "20",
"LOG_LEVEL": "info",
"PLATFORM_ALERTS": "false",
"CLEANUP_WHEN_FINISH": "true",
"CLEANUP": "true"
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "84",
"LOG_LEVEL": "debug",
"EXTRA_FLAGS": "--churn-duration=1h --churn-percent=10 --churn-delay=30s"
}
}
]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
"benchmarks": [
{
"name": "node-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp node-density --uuid=${UUID} --pods-per-node=245 --timeout=2h --pod-ready-threshold=10s --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
},
{
"name": "cluster-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density --uuid=${UUID} --iterations=4000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"EXTRA_FLAGS": "--pod-ready-threshold=10s"
}
},
{
"name": "cluster-density-v2",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density-v2 --uuid=${UUID} --iterations=3000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "2268",
"EXTRA_FLAGS": "--timeout=6h"
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,22 @@
},
{
"name": "node-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp node-density --uuid=${UUID} --pods-per-node=245 --timeout=2h --pod-ready-threshold=10s --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
},
{
"name": "cluster-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density --uuid=${UUID} --iterations=4000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"EXTRA_FLAGS": "--pod-ready-threshold=10s"
}
},
{
"name": "cluster-density-v2",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density-v2 --uuid=${UUID} --iterations=3000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "2268",
"EXTRA_FLAGS": "--timeout=6h"
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
"benchmarks": [
{
"name": "node-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp node-density --uuid=${UUID} --pods-per-node=245 --timeout=2h --pod-ready-threshold=5s --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
},
{
"name": "cluster-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density --uuid=${UUID} --iterations=1000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"EXTRA_FLAGS": "--pod-ready-threshold=10s"
}
},
{
"name": "cluster-density-v2",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density-v2 --uuid=${UUID} --iterations=750 --timeout=5h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "1080",
"EXTRA_FLAGS": "--timeout=5h"
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,18 +22,22 @@
},
{
"name": "node-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp node-density --uuid=${UUID} --pods-per-node=245 --timeout=2h --pod-ready-threshold=5s --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
},
{
"name": "cluster-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density --uuid=${UUID} --iterations=1000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"EXTRA_FLAGS": "--pod-ready-threshold=10s"
}
},
{
"name": "cluster-density-v2",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density-v2 --uuid=${UUID} --iterations=750 --timeout=3h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "1080",
"EXTRA_FLAGS": "--timeout=5h"
}
}
]
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,22 @@
},
{
"name": "node-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp node-density --uuid=${UUID} --pods-per-node=245 --timeout=2h --pod-ready-threshold=10s --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "node-density",
"EXTRA_FLAGS": "--pod-ready-threshold=10s"
}
},
{
"name": "cluster-density",
"workload": "kube-burner",
"custom_cmd": "kube-burner ocp cluster-density --uuid=${UUID} --iterations=3000 --timeout=6h --es-server=${ES_SERVER} --es-index=ripsaw-kube-burner --user-metadata=metadata.yml"
"name": "cluster-density-v2",
"workload": "kube-burner-ocp-wrapper",
"command": "./run.sh",
"env": {
"WORKLOAD": "cluster-density-v2",
"ITERATIONS": "2268",
"EXTRA_FLAGS": "--timeout=5h"
}
}
]
}
Loading

0 comments on commit f176aca

Please sign in to comment.