Add new profile: azure-perfscale-qe#5164
Conversation
Signed-off-by: mehabhalodiya <mehabhalodiya@gmail.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: automatic mode |
📝 WalkthroughWalkthroughA new cluster profile ChangesAzure Perfscale QE Cluster Profile
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 14✅ Passed checks (14 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@pkg/api/types.go`:
- Around line 2276-2277: The new ClusterProfileAzurePerfScaleQE maps to the
lease type "azure-perfscale-qe-quota-slice" but neither that Boskos lease nor
the secret "cluster-secrets-azure-perfscale-qe" exist in openshift/release;
either add both entries to openshift/release following the existing pattern used
for "azure-confidential-qe-quota-slice"/"cluster-secrets-azure-confidential-qe"
(create Boskos quota-slice and corresponding cluster-secrets entry) so
ClusterProfileAzurePerfScaleQE works, or change the mapping in types.go to use
the existing ClusterProfileAzurePerfScale and lease
"azure-perfscale-quota-slice" and secret "cluster-secrets-azure-perfscale" until
the QE resources are provisioned.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Repository YAML (base), Central YAML (inherited)
Review profile: CHILL
Plan: Enterprise
Run ID: 60793248-8688-4cc4-9d09-2c9f851202aa
📒 Files selected for processing (1)
pkg/api/types.go
| case ClusterProfileAzurePerfScaleQE: | ||
| return "azure-perfscale-qe-quota-slice" |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
# Read-only verification against openshift/release code search.
# Expected: at least one result per query before enabling jobs with this profile.
queries=(
"azure-perfscale-qe-quota-slice repo:openshift/release"
"cluster-secrets-azure-perfscale-qe repo:openshift/release"
"cluster_profile: azure-perfscale-qe repo:openshift/release"
)
for q in "${queries[@]}"; do
echo "=== $q ==="
gh api search/code -f q="$q" --jq '.items[]? | "\(.path)\t\(.html_url)"'
echo
doneRepository: openshift/ci-tools
Length of output: 273
🏁 Script executed:
#!/bin/bash
# Search for azure-perfscale-qe-quota-slice and related resources
echo "=== Searching for azure-perfscale-qe-quota-slice ==="
rg "azure-perfscale-qe" --type yaml --type py 2>/dev/null | head -20
echo ""
echo "=== Checking Boskos config for azure-perfscale patterns ==="
find . -name "*boskos*" -type f | head -10Repository: openshift/release
Length of output: 1067
🏁 Script executed:
#!/bin/bash
# Verify the exact change in types.go
echo "=== Checking ClusterProfileAzurePerfScaleQE constant definition ==="
rg "ClusterProfileAzurePerfScaleQE" --type go -B2 -A2
echo ""
echo "=== Checking LeaseType() function mapping around line 2276 ==="
sed -n '2270,2285p' pkg/api/types.goRepository: openshift/ci-tools
Length of output: 2145
🏁 Script executed:
#!/bin/bash
# Check if existing QE profile (azure-confidential-qe) has Boskos resources
echo "=== Searching for azure-confidential-qe-quota-slice in Boskos config ==="
rg "azure-confidential-qe-quota-slice" --type yaml 2>/dev/null | head -20
echo ""
echo "=== Searching for any azure-*-qe-quota-slice pattern ==="
rg "qe-quota-slice" --type yaml 2>/dev/null | head -30
echo ""
echo "=== Checking ci-secret-bootstrap config for QE cluster secrets ==="
rg "cluster-secrets-azure.*qe" --type yaml 2>/dev/null | head -20Repository: openshift/release
Length of output: 4705
🏁 Script executed:
#!/bin/bash
# Verify if other QE profiles are already in use and properly mapped
echo "=== Checking all QE profile constants and mappings ==="
rg "ClusterProfile.*QE\s*=" pkg/api/types.go | head -20
echo ""
echo "=== Checking if azure-perfscale-qe is referenced anywhere in ci-tools ==="
rg "azure-perfscale-qe" --type go 2>/dev/nullRepository: openshift/ci-tools
Length of output: 345
🏁 Script executed:
#!/bin/bash
# Check if non-QE azure-perfscale secrets exist
echo "=== Searching for cluster-secrets-azure-perfscale (non-QE) ==="
rg "cluster-secrets-azure-perfscale" --type yaml 2>/dev/null
echo ""
echo "=== Checking if azure-perfscale-quota-slice exists (non-QE Boskos) ==="
rg "azure-perfscale-quota-slice" --type yaml 2>/dev/null | head -20Repository: openshift/release
Length of output: 2075
Boskos and secrets for azure-perfscale-qe-quota-slice are missing from openshift/release.
The PR adds ClusterProfileAzurePerfScaleQE and maps it to azure-perfscale-qe-quota-slice, but this lease type and corresponding cluster-secrets-azure-perfscale-qe do not exist in openshift/release. The non-QE versions (azure-perfscale-quota-slice and cluster-secrets-azure-perfscale) exist, but jobs using the new QE profile will fail at lease acquisition.
Before enabling jobs with this profile, either:
- Add Boskos resources (
azure-perfscale-qe-quota-slice) and secrets (cluster-secrets-azure-perfscale-qe) to openshift/release, or - Use
ClusterProfileAzurePerfScale(non-QE) instead.
Reference the existing azure-confidential-qe-quota-slice Boskos entries and cluster-secrets-azure-confidential-qe secret for the infrastructure pattern.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@pkg/api/types.go` around lines 2276 - 2277, The new
ClusterProfileAzurePerfScaleQE maps to the lease type
"azure-perfscale-qe-quota-slice" but neither that Boskos lease nor the secret
"cluster-secrets-azure-perfscale-qe" exist in openshift/release; either add both
entries to openshift/release following the existing pattern used for
"azure-confidential-qe-quota-slice"/"cluster-secrets-azure-confidential-qe"
(create Boskos quota-slice and corresponding cluster-secrets entry) so
ClusterProfileAzurePerfScaleQE works, or change the mapping in types.go to use
the existing ClusterProfileAzurePerfScale and lease
"azure-perfscale-quota-slice" and secret "cluster-secrets-azure-perfscale" until
the QE resources are provisioned.
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: deepsm007, mehabhalodiya The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/override ci/prow/images |
|
@deepsm007: Overrode contexts on behalf of deepsm007: ci/prow/e2e, ci/prow/images DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Tests from second stage were triggered manually. Pipeline can be controlled only manually, until HEAD changes. Use command to trigger second stage. |
53463e8
into
openshift:main
|
@mehabhalodiya: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
https://redhat.atlassian.net/browse/CNTRLPLANE-3394
Ref: https://redhat-internal.slack.com/archives/C0780C0J6HJ/p1776870549694489
Summary
This PR adds support for a new Azure performance testing cluster profile (
azure-perfscale-qe) to the ci-tools codebase. This profile enables tests to run against Azure 4-based infrastructure with dedicated quota slices for performance and scale quality engineering testing.Changes
The new profile is registered in
pkg/api/types.gowith the following configuration:azure-perfscale-qe"azure4"(Azure 4 infrastructure)"azure-perfscale-qe-quota-slice"for resource quota managementPractical Impact
CI operators and test authors can now:
azure-perfscale-qecluster profile in test configurationsThe addition follows the established pattern of other QE profiles (e.g.,
aws-perfscale-qe,gcp-perfscale-qe) and enables Azure-based performance testing workflows that were previously unavailable.