diff --git a/ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__metal-x86.yaml b/ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__metal-x86.yaml index 105a5e86730a6..2c33a92a20b7a 100644 --- a/ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__metal-x86.yaml +++ b/ci-operator/config/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main__metal-x86.yaml @@ -46,6 +46,18 @@ tests: - ref: openshift-qe-installer-bm-ping - ref: openshift-qe-installer-bm-load-kubeconfig - ref: redhat-chaos-pod-scenarios-etcd-disruption +- always_run: false + as: orion-ingress + capabilities: + - intranet + restrict_network_access: false + steps: + cluster_profile: metal-perfscale-cpt + env: + RUN_ORION: "true" + VERSION: "4.21" + test: + - ref: openshift-qe-orion-ingress - always_run: false as: data-path-6nodes capabilities: diff --git a/ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-presubmits.yaml b/ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-presubmits.yaml index bff2d1ccec5f4..f41cd0ecd3200 100644 --- a/ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-presubmits.yaml +++ b/ci-operator/jobs/openshift-eng/ocp-qe-perfscale-ci/openshift-eng-ocp-qe-perfscale-ci-main-presubmits.yaml @@ -8793,6 +8793,92 @@ presubmits: secret: secretName: result-aggregator trigger: (?m)^/test( | .* )(metal-x86-orion|remaining-required),?($|\s.*) + - agent: kubernetes + always_run: false + branches: + - ^main$ + - ^main- + cluster: build05 + context: ci/prow/metal-x86-orion-ingress + decorate: true + decoration_config: + skip_cloning: true + labels: + capability/intranet: intranet + ci-operator.openshift.io/cloud: metal-perfscale-cpt + ci-operator.openshift.io/cloud-cluster-profile: metal-perfscale-cpt + ci-operator.openshift.io/variant: metal-x86 + ci.openshift.io/generator: prowgen + job-release: "4.18" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: pull-ci-openshift-eng-ocp-qe-perfscale-ci-main-metal-x86-orion-ingress + rerun_command: /test metal-x86-orion-ingress + spec: + containers: + - args: + - --gcs-upload-secret=/secrets/gcs/service-account.json + - --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson + - --lease-server-credentials-file=/etc/boskos/credentials + - --report-credentials-file=/etc/report/credentials + - --secret-dir=/secrets/ci-pull-credentials + - --target=orion-ingress + - --variant=metal-x86 + command: + - ci-operator + env: + - name: HTTP_SERVER_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + image: quay-proxy.ci.openshift.org/openshift/ci:ci_ci-operator_latest + imagePullPolicy: Always + name: "" + ports: + - containerPort: 8080 + name: http + resources: + requests: + cpu: 10m + volumeMounts: + - mountPath: /etc/boskos + name: boskos + readOnly: true + - mountPath: /secrets/ci-pull-credentials + name: ci-pull-credentials + readOnly: true + - mountPath: /secrets/gcs + name: gcs-credentials + readOnly: true + - mountPath: /secrets/manifest-tool + name: manifest-tool-local-pusher + readOnly: true + - mountPath: /etc/pull-secret + name: pull-secret + readOnly: true + - mountPath: /etc/report + name: result-aggregator + readOnly: true + serviceAccountName: ci-operator + volumes: + - name: boskos + secret: + items: + - key: credentials + path: credentials + secretName: boskos-credentials + - name: ci-pull-credentials + secret: + secretName: ci-pull-credentials + - name: manifest-tool-local-pusher + secret: + secretName: manifest-tool-local-pusher + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator + trigger: (?m)^/test( | .* )(metal-x86-orion-ingress|remaining-required),?($|\s.*) - agent: kubernetes always_run: false branches: diff --git a/ci-operator/step-registry/openshift-qe/orion/ingress/OWNERS b/ci-operator/step-registry/openshift-qe/orion/ingress/OWNERS new file mode 120000 index 0000000000000..8c272259fbba9 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/orion/ingress/OWNERS @@ -0,0 +1 @@ +../../OWNERS \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-commands.sh b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-commands.sh new file mode 120000 index 0000000000000..5e5c51e70ba54 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-commands.sh @@ -0,0 +1 @@ +../openshift-qe-orion-commands.sh \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.metadata.json b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.metadata.json new file mode 100644 index 0000000000000..e9b592f460988 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.metadata.json @@ -0,0 +1,11 @@ +{ + "path": "openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.yaml", + "owners": { + "approvers": [ + "perfscale-ocp-approvers" + ], + "reviewers": [ + "perfscale-ocp-reviewers" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.yaml b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.yaml new file mode 100644 index 0000000000000..6b2b324b3ef33 --- /dev/null +++ b/ci-operator/step-registry/openshift-qe/orion/ingress/openshift-qe-orion-ingress-ref.yaml @@ -0,0 +1,95 @@ +ref: + as: openshift-qe-orion-ingress + from_image: + namespace: ci + name: ocp-qe-perfscale-ci + tag: latest + cli: latest + env: + - name: ORION_REPO + default: "https://github.com/cloud-bulldozer/orion.git" + documentation: |- + Orion github repository + - name: TAG + default: "v1.0.2" + documentation: |- + Override branch of orion + - name: ES_BENCHMARK_INDEX + default: "ospst-ingress-performance*" + documentation: + Index which contains benchmark results + - name: ES_METADATA_INDEX + default: "ospst-perf-scale-ci-*" + documentation: + Index which contains metadata about runs. + - name: ACK_FILE + default: ingress_ack.yaml + documentation: + File will be prefixed with the version + - name: ES_TYPE + default: "qe" + documentation: |- + Set es type to internal or qe for getting data + - name: UUID + default: "" + documentation: |- + Default is blank, which means the uuid will not be applied to the command line args + - name: VERSION + default: "" + documentation: + Version of OCP to run Orion against, ex 4.18 + - name: IGNORE_JOB_ITERATIONS + default: "false" + documentation: + Set orion's --node-count argument + - name: OUTPUT_FORMAT + default: "TEXT" + documentation: + Export in desired output format + - name: LOOKBACK + default: "15" + documentation: + Number of days orion should lookback at results. + - name: RUN_ORION + default: "false" + documentation: + Determine if we should run Orion or not. + - name: ORION_CONFIG + default: "examples/metal-perfscale-cpt-ingress.yaml" + documentation: + Var used to tell the step which workload is calling Orion, like cluster-density, node-density, etc. + - name: LOOKBACK_SIZE + default: "" + documentation: + Number of samples orion should consider for results. + - name: COLLAPSE + default: "false" + documentation: + Flag to regulate displaying only changepoints vs the entire output. + - name: ORION_ENVS + default: "" + documentation: + Comma separated list of envs that needs to exported in runtime for templated configurations. + - name: DISPLAY + default: "" + documentation: + Display custom metadata fields, like ocpVirtVersion, osImage, etc. + - name: CHANGE_POINT_REPOS + default: "cloud-bulldozer/k8s-netperf,cloud-bulldozer/ingress-perf,cloud-bulldozer/e2e-benchmarking,openshift/release" + documentation: + Comma separated list of repositories to monitor before and after change points. + commands: openshift-qe-orion-ingress-commands.sh + timeout: 6h + credentials: + - namespace: test-credentials # this entry injects the custom credential + name: ocp-qe-perfscale-es + mount_path: /secret/qe + - namespace: test-credentials # this entry injects the custom credential + name: ocp-perfscale-es-creds + mount_path: /secret/internal + resources: + requests: + cpu: 100m + memory: 100Mi + documentation: >- + This step runs the perfscale ingress workload in the deployed cluster