diff --git a/.github/workflows/create-demo-clusters.yml b/.github/workflows/create-demo-clusters.yml index 1c9a0bb..955581c 100644 --- a/.github/workflows/create-demo-clusters.yml +++ b/.github/workflows/create-demo-clusters.yml @@ -31,6 +31,14 @@ on: kube-burner-config-repo: description: The repository where the kube-burner config files can be found type: string + berserker-config-repo: + description: The repository where the berserker kube-burner config files can be found + type: string + default: JoukoVirtanen/kube-burner-ocp + berserker-config-ref: + description: Ref of where the berserker kube-burner config files can be found + type: string + default: jv-fix-runOnce cluster-with-fake-load-name: description: "The name of the long running cluster where the central deployment is run with a sensor that creates its own fake workload. Must comply to the regex: [a-z][a-z0-9-]{1,26}[a-z0-9]" type: string @@ -46,7 +54,7 @@ env: GH_TOKEN: ${{ github.token }} GH_NO_UPDATE_NOTIFIER: 1 TIMEOUT_WAIT_FOR_IMAGES_SECONDS: 3600 - LONG_RUNNING_CLUSTER_LIFESPAN: "168h" + LONG_RUNNING_CLUSTER_LIFESPAN: "6h" METRICS_COLLECTION_TIME: "30m" jobs: @@ -480,6 +488,12 @@ jobs: repository: stackrox/${{ inputs.kube-burner-config-repo }} path: .kube-burner-config ref: ${{ needs.parse-refs.outputs.burner-ref }} + - name: Check out berserker config repository code + uses: actions/checkout@v4 + with: + repository: ${{ inputs.berserker-config-repo }} + path: .berserker-config + ref: ${{ inputs.berserker-config-ref }} # TODO(ROX-29223): Remove once old versions don't use the benchmark-operator - name: Check out cloud-bulldozer/benchmark-operator code run: | @@ -509,9 +523,12 @@ jobs: REGISTRY_USERNAME: ${{ secrets.QUAY_RHACS_ENG_RO_USERNAME }} REGISTRY_PASSWORD: ${{ secrets.QUAY_RHACS_ENG_RO_PASSWORD }} ELASTICSEARCH_URL: "https://${{ secrets.K6_ELASTICSEARCH_USER }}:${{ secrets.K6_ELASTICSEARCH_PASSWORD }}@${{ secrets.K6_ELASTICSEARCH_URL }}" + BERSERKER_CONFIGMAP_TEMPLATE: "https://raw.githubusercontent.com/${{ inputs.berserker-config-repo }}/${{ inputs.berserker-config-ref }}/cmd/config/berserker-load/berserker-configmap.yml" + BERSERKER_SERVICE_TEMPLATE: "https://raw.githubusercontent.com/${{ inputs.berserker-config-repo }}/${{ inputs.berserker-config-ref }}/cmd/config/berserker-load/service.yml" + BERSERKER_CONTAINERS_FILE: "berserker-default-containers.yml" uses: ./.actions/release/start-kube-burner with: - kube-burner-config-dir: ./.kube-burner-config/scripts/release-tools/kube-burner-configs/berserker-load + kube-burner-config-dir: ./.berserker-config/cmd/config/berserker-load benchmark-operator-dir: ${{ github.workspace }}/benchmark-operator start-kube-burner-for-central: diff --git a/release/start-kube-burner/kube-burner.yaml b/release/start-kube-burner/kube-burner.yaml index bb099b1..7469710 100644 --- a/release/start-kube-burner/kube-burner.yaml +++ b/release/start-kube-burner/kube-burner.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: kube-burner - image: quay.io/kube-burner/kube-burner:v1.4.3 + image: quay.io/kube-burner/kube-burner:v2.6.2 command: ["/bin/sh", "-c"] args: - | @@ -23,15 +23,39 @@ spec: curl -G --silent http://monitoring.stackrox.svc.cluster.local:9090/api/v1/query --data-urlencode 'query=time()' | sed 's|.*\[||' | sed 's|\..*||' } cd /etc/kube-burner - config=config.yml + config=berserker-load.yml metrics_profile=/etc/kube-burner-metrics/metrics.yml prometheus_url="http://monitoring.stackrox.svc.cluster.local:9090" - (kube-burner init --config="$config" --metrics-profile="$metrics_profile" --prometheus-url="$prometheus_url" --timeout=1000h || true) & + cat > /tmp/vars.yml < "$secret_file" +if [ -f "$secret_template" ]; then + gh_log notice "Patching $secret_template" + sed "s|__DOCKERCONFIGJSON__|$dockerconfigjson|" "$secret_template" > "$secret_file" +fi kubectl create ns kube-burner @@ -43,6 +45,9 @@ kubectl create secret generic kube-burner-secret \ --from-literal=UUID="$uuid" \ --from-literal=METRICS_COLLECTION_TIME="$METRICS_COLLECTION_TIME" \ --from-literal=METRICS_TIME_STEP="5m" \ + --from-literal=BERSERKER_CONFIGMAP_TEMPLATE="${BERSERKER_CONFIGMAP_TEMPLATE}" \ + --from-literal=BERSERKER_SERVICE_TEMPLATE="${BERSERKER_SERVICE_TEMPLATE}" \ + --from-literal=BERSERKER_CONTAINERS_FILE="${BERSERKER_CONTAINERS_FILE}" \ --namespace=kube-burner kubectl create -f "${DIR}"/kube-burner.yaml