-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Add deferred Orion summary report step for consolidated regression reporting #75575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -42,7 +42,7 @@ tests: | |
| ES_TYPE: qe | ||
| IGNORE_JOB_ITERATIONS: "true" | ||
| OUTPUT_FORMAT: JUNIT | ||
| RUN_ORION: "true" | ||
| RUN_ORION: deferred | ||
| UDN_ITERATION_MULTIPLIER: "12" | ||
| VERSION: "5.0" | ||
| ZONES_COUNT: "3" | ||
|
|
@@ -178,6 +178,7 @@ tests: | |
| BASE_DOMAIN: qe.devcluster.openshift.com | ||
| COMPUTE_NODE_TYPE: m5.xlarge | ||
| ENABLE_LAYER_3: "true" | ||
| RUN_ORION: deferred | ||
| UDN_ITERATION_MULTIPLIER: "3" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this is standalone udn-density so it will run udn-density workflow (udn-density chain + report)
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes |
||
| VERSION: "5.0" | ||
| post: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -408,6 +408,7 @@ tests: | |
| COMPUTE_NODE_REPLICAS: "24" | ||
| COMPUTE_NODE_TYPE: m5.xlarge | ||
| EXTRA_MG_ARGS: --host-network | ||
| RUN_ORION: deferred | ||
| UDN_ITERATION_MULTIPLIER: "3" | ||
| VERSION: "4.18" | ||
| post: | ||
|
|
@@ -428,6 +429,7 @@ tests: | |
| ENABLE_LAYER_3: "false" | ||
| EXTRA_MG_ARGS: --host-network | ||
| KUBE_BURNER_VERSION: 1.5.0 | ||
| RUN_ORION: deferred | ||
| UDN_ITERATION_MULTIPLIER: "3" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Are you adding on purpose orion to more jobs? i.e.: here it's qe-perfscale-aws-ovn-small-udn-density-l2
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so currently we have udn-density chain |
||
| post: | ||
| - chain: ipi-aws-post | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| approvers: | ||
| - perfscale-ocp-approvers | ||
| reviewers: | ||
| - perfscale-ocp-reviewers |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| #!/bin/bash | ||
| set -x | ||
| set -euo pipefail | ||
|
|
||
| if [ "${RUN_ORION}" == "false" ]; then | ||
| echo "RUN_ORION is false, skipping report." | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Check for deferred JSON results | ||
| shopt -s nullglob | ||
| json_files=("${SHARED_DIR}"/orion-*.json) | ||
| shopt -u nullglob | ||
|
|
||
| if [ ${#json_files[@]} -eq 0 ]; then | ||
| echo "No deferred orion JSON results found in SHARED_DIR." | ||
| echo "This is expected when RUN_ORION is not set to deferred." | ||
| exit 0 | ||
| fi | ||
|
|
||
| # Copy JSONs to ARTIFACT_DIR for archival | ||
| cp "${json_files[@]}" "${ARTIFACT_DIR}/" 2>/dev/null || true | ||
|
|
||
| # Set up Python environment and install orion | ||
| python --version | ||
| pushd /tmp | ||
| python -m virtualenv ./venv_report | ||
| source ./venv_report/bin/activate | ||
|
|
||
| ## TODO: revert before merge - using fork for testing | ||
| git clone --branch summary-analysis https://github.com/mohit-sheth/orion.git --depth 1 | ||
| pushd orion | ||
| pip install -r requirements.txt | ||
| pip install . | ||
| popd && popd | ||
|
|
||
| # Build comma-separated file list for orion --report | ||
| json_file_list="" | ||
| for f in "${json_files[@]}"; do | ||
| json_file_list="${json_file_list:+${json_file_list},}${f}" | ||
| done | ||
|
|
||
| # Run orion report on all deferred JSONs | ||
| # orion --report exits 2 if regressions found, 0 otherwise | ||
| set +e | ||
| orion --report "$json_file_list" | ||
| report_exit=$? | ||
| set -e | ||
|
|
||
| if [ "$report_exit" -eq 2 ]; then | ||
| echo "Orion report detected regressions." | ||
| exit 1 | ||
| fi | ||
|
|
||
| exit "$report_exit" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| "path": "openshift-qe/orion/report/openshift-qe-orion-report-ref.yaml", | ||
| "owners": { | ||
| "approvers": [ | ||
| "perfscale-ocp-approvers" | ||
| ], | ||
| "reviewers": [ | ||
| "perfscale-ocp-reviewers" | ||
| ] | ||
| } | ||
| } |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,29 @@ | ||
| ref: | ||
| as: openshift-qe-orion-report | ||
| from_image: | ||
| namespace: ci | ||
| name: ocp-qe-perfscale-ci | ||
| tag: latest | ||
| env: | ||
| - name: ORION_REPO | ||
| default: "https://github.com/cloud-bulldozer/orion.git" | ||
| documentation: | ||
| Orion github repository to clone for report generation. | ||
| - name: TAG | ||
| default: "latest" | ||
| documentation: | ||
| Orion version/tag to clone. | ||
| - name: RUN_ORION | ||
| default: "false" | ||
| documentation: | ||
| When false, the report step is skipped. Set to deferred at test level to enable deferred failure reporting. | ||
| commands: openshift-qe-orion-report-commands.sh | ||
| timeout: 30m | ||
| resources: | ||
| requests: | ||
| cpu: 100m | ||
| memory: 100Mi | ||
| documentation: >- | ||
| Aggregates deferred orion regression results from SHARED_DIR using | ||
| orion --report to produce a consolidated regression report. Must be | ||
| used as the last step in an orion chain when RUN_ORION is set to deferred. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As we discussed in Slack this is strange, the fact that
"true"was quoted anddeferredis not ..There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
make update changes this