Skip to content

tide: use org-level query for openstack-k8s-operators - #82798

Merged
openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
Prucek:fix-openstack-tide-query
Aug 3, 2026
Merged

tide: use org-level query for openstack-k8s-operators#82798
openshift-merge-bot[bot] merged 4 commits into
openshift:mainfrom
Prucek:fix-openstack-tide-query

Conversation

@Prucek

@Prucek Prucek commented Aug 3, 2026

Copy link
Copy Markdown
Member

Summary

  • The Tide sync query for openstack-k8s-operators fails 100% with GitHub's "Resource limits for this query exceeded" — 35 per-repo repo: qualifiers (1930 chars) exceed the free-tier search limit. Started July 9 when 3 lightspeed-* repos were onboarded.
  • Replace 35 per-repo Tide queries with a single org-level query using orgs: [openstack-k8s-operators], reducing query scope from 1930 chars to ~33 chars.
  • Per-repo merge_method and branch-protection configs are preserved; only redundant tide.queries sections are removed.

Generated with the help of Claude Code

Summary by CodeRabbit

  • Consolidates openstack-k8s-operators Tide configuration into one organization-level query.
  • Removes 35 duplicate per-repository Tide queries and needs-rebase entries.
  • Preserves repository-specific merge_method and branch-protection settings.
  • Centralizes approval, LGTM, and required Prow plugins for the organization.
  • Prevents query resource-limit and checkconfig duplication errors.

The Tide sync controller query for openstack-k8s-operators fails 100%
of the time with GitHub's "Resource limits for this query exceeded"
error. The 35 per-repo Tide configs all share identical labels and
missingLabels, so deduplicateTideQueries merges them into a single
query with 35 repo: qualifiers (1930 chars). This exceeds the free-tier
GitHub search resource limit (~1770 chars with label filters).

The 3 lightspeed-* repos onboarded on July 9 added ~167 chars, pushing
the query over the threshold. Only openshift, openshift-eng, and
openshift-priv are on GitHub Enterprise with higher limits.

Replace the 35 per-repo Tide queries with a single org-level query
using orgs: [openstack-k8s-operators]. This produces org:"openstack-
k8s-operators" (~33 chars) instead of 35 repo: qualifiers. Per-repo
merge_method and branch-protection configs are preserved.
@openshift-ci
openshift-ci Bot requested review from Akrog and abays August 3, 2026 10:21
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 9d29af46-7dab-43d4-9b8b-61a981f4e06a

📥 Commits

Reviewing files that changed from the base of the PR and between 42bd8c9 and 17f75f9.

📒 Files selected for processing (37)
  • core-services/prow/02_config/openstack-k8s-operators/architecture/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/barbican-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ci-framework/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ci-playground/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/cinder-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/data-plane-adoption/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/designate-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/edpm-ansible/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/edpm-image-builder/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/glance-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/heat-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/horizon-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/infra-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/install_yamls/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ironic-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/keystone-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-mcps/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-rag-content/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/manila-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/mariadb-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/neutron-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/nova-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/octavia-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-baremetal-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-k8s-operators-ci/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-must-gather/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/osp-director-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ovn-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/repo-setup/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/sg-core/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/swift-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/tcib/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/telemetry-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/test-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/watcher-operator/_pluginconfig.yaml
💤 Files with no reviewable changes (37)
  • core-services/prow/02_config/openstack-k8s-operators/architecture/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/cinder-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ci-framework/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/install_yamls/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-mcps/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/barbican-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/osp-director-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/manila-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/telemetry-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/sg-core/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-baremetal-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/edpm-ansible/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-k8s-operators-ci/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/glance-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/designate-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/openstack-must-gather/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/edpm-image-builder/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ovn-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/keystone-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ironic-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/swift-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/data-plane-adoption/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/test-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/heat-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/horizon-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/watcher-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/infra-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/tcib/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/neutron-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/octavia-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/repo-setup/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/ci-playground/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/mariadb-operator/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/lightspeed-rag-content/_pluginconfig.yaml
  • core-services/prow/02_config/openstack-k8s-operators/nova-operator/_pluginconfig.yaml

Walkthrough

The change centralizes Tide and Prow plugin policies for the openstack-k8s-operators organization. It removes repository-level Tide and plugin settings and adds organization-level policies.

Changes

Prow policy centralization

Layer / File(s) Summary
Organization Tide scope
core-services/prow/02_config/openstack-k8s-operators/_prowconfig.yaml, core-services/prow/02_config/openstack-k8s-operators/*/_prowconfig.yaml
Tide now targets the organization. Repository-level Tide configurations are removed.
Organization plugin policy
core-services/prow/02_config/openstack-k8s-operators/_pluginconfig.yaml
Adds approval and LGTM policies, registers needs-rebase, enables shared Prow plugins, and retains repo-brancher.
Repository plugin normalization
core-services/prow/02_config/openstack-k8s-operators/*/_pluginconfig.yaml
Removes repository-level approval, LGTM, needs-rebase, and selected plugin entries.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: abays, akrog

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: replacing repository-level Tide queries with an organization-level query.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR changes only Prow YAML configuration. The changed files and full target subtree contain no Ginkgo It, Describe, Context, or When test declarations.
Test Structure And Quality ✅ Passed The pull request changes 37 YAML Prow plugin configuration files only; it adds or modifies no Go or Ginkgo tests, so the test-quality requirements do not apply.
Microshift Test Compatibility ✅ Passed The PR changes only 73 YAML files; no Go files or Ginkgo test declarations were added, so MicroShift test compatibility is not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed The PR changes only Prow YAML configuration files; the complete diff adds no Ginkgo tests or test declarations, so SNO compatibility checks do not apply.
Topology-Aware Scheduling Compatibility ✅ Passed The change set contains only Prow _pluginconfig.yaml edits; no deployment manifests, controllers, replicas, affinities, topology spreads, node selectors, or PDBs changed.
Ote Binary Stdout Contract ✅ Passed The complete PR range changes only 73 YAML configuration files; it adds or modifies no Go binaries, suite setup, or process-level stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed The PR changes only Prow YAML configuration; no new Ginkgo tests or test code were added, so the IPv6 and disconnected-network test check is not applicable.
No-Weak-Crypto ✅ Passed The aggregate PR changes only 73 YAML files; added lines contain Tide/plugin configuration and no MD5, SHA1, DES, RC4, Blowfish, ECB, crypto code, or secret comparisons.
Container-Privileges ✅ Passed The PR changes only 73 Prow config YAML files; scans of all additions and changed files found no privileged, host namespace, SYS_ADMIN, or privilege-escalation settings.
No-Sensitive-Data-In-Logs ✅ Passed The full PR diff changes only 73 YAML files; added lines contain Prow plugins, labels, and an org query, with no logging statements or sensitive values.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Aug 3, 2026
@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Aug 3, 2026
The org-level Tide query using orgs: [openstack-k8s-operators] requires
lgtm, approve, hold, wip, verify-owners, and needs-rebase plugins to
be enabled on all repos in the org. Enable these at the org level so
checkconfig passes. Per-repo plugin configs take precedence where they
exist.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 `@core-services/prow/02_config/openstack-k8s-operators/_pluginconfig.yaml`:
- Around line 11-15: Remove the repository-level `needs-rebase` plugin entry
from the affected `_pluginconfig.yaml` configurations before enabling the
organization-level plugin, or keep the plugin policy scoped only to this
repository. Ensure no duplicate built-in or external plugin names remain across
organization and repository configurations, then validate the merged
configuration with `checkconfig`.
🪄 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: a2c0507c-7974-4650-8357-abd3a3a0043c

📥 Commits

Reviewing files that changed from the base of the PR and between 2fe4d20 and 1e9f38a.

📒 Files selected for processing (1)
  • core-services/prow/02_config/openstack-k8s-operators/_pluginconfig.yaml

Comment on lines +11 to +15
- endpoint: http://needs-rebase
events:
- issue_comment
- pull_request
name: needs-rebase

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

root='core-services/prow/02_config/openstack-k8s-operators'

while IFS= read -r -d '' file; do
  matches="$(rg -n --no-heading \
    -e 'name:[[:space:]]+needs-rebase' \
    -e '^[[:space:]]*-[[:space:]]+(approve|assign|hold|lgtm|lifecycle|verify-owners|wip)$' \
    "$file" || true)"

  if [[ -n "$matches" ]]; then
    printf 'Potential duplicate declarations in %s:\n%s\n' "$file" "$matches"
  fi
done < <(find "$root" -mindepth 2 -type f -name '_pluginconfig.yaml' -print0)

Repository: openshift/release

Length of output: 208


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

root='core-services/prow/02_config/openstack-k8s-operators'

printf '%s\n' 'Target configuration:'
cat -n "$root/_pluginconfig.yaml"

printf '\n%s\n' 'Repository-level plugin configurations:'
find "$root" -mindepth 2 -type f -name '_pluginconfig.yaml' -print | sort

printf '\n%s\n' 'Plugin declarations in repository-level configurations:'
python3 - <<'PY'
from pathlib import Path
import re

root = Path("core-services/prow/02_config/openstack-k8s-operators")
for path in sorted(root.glob("*/_pluginconfig.yaml")):
    text = path.read_text()
    names = re.findall(r"(?m)^\s*-\s*name:\s*([^\s#]+)", text)
    bare = re.findall(r"(?m)^\s*-\s*(approve|assign|hold|lgtm|lifecycle|verify-owners|wip)\s*$", text)
    if names or bare:
        print(path)
        for name in names + bare:
            print(f"  {name}")
PY

printf '\n%s\n' 'Relevant Prow configuration code or references:'
rg -n -i 'duplicate|plugin.*(config|name)|repository.*plugin|external.*plugin|built-in' . \
  -g '*.go' -g '*.md' -g '*.yaml' -g '*.yml' | head -200 || true

Repository: openshift/release

Length of output: 30481


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

root='core-services/prow/02_config/openstack-k8s-operators'

printf '%s\n' 'Relevant repository configurations:'
for file in \
  "$root/openstack-operator/_pluginconfig.yaml" \
  "$root/architecture/_pluginconfig.yaml" \
  "$root/ci-framework/_pluginconfig.yaml"; do
  printf '\n--- %s ---\n' "$file"
  cat -n "$file"
done

printf '\n%s\n' 'All needs-rebase declarations under the target scope:'
rg -n -C 3 'needs-rebase' "$root" -g '_pluginconfig.yaml' || true

printf '\n%s\n' 'Prow config validation source:'
curl -fsSL \
  'https://raw.githubusercontent.com/kubernetes-sigs/prow/main/pkg/plugins/config.go' |
  rg -n -C 8 -i 'duplicate|external_plugins|PluginConfig|plugin names' || true

printf '\n%s\n' 'Relevant merge/config-loading references in the repository:'
rg -n -C 5 -i 'pluginconfig|external_plugins|plugins.*merge|merge.*plugins|checkconfig' \
  core-services/prow tools hack Makefile .github 2>/dev/null | head -300 || true

Repository: openshift/release

Length of output: 50373


🌐 Web query:

kubernetes-sigs prow pkg/plugins/config.go duplicate external plugin names repository org plugin config merge validation

💡 Result:

In the Kubernetes Prow project, the validation of external plugin configurations—specifically regarding duplicate names between organization and repository levels—is handled within the pkg/plugins/config.go file [1]. The validation logic, implemented in the validateExternalPlugins function, ensures that external plugins defined for a specific repository do not conflict with those inherited from the organization level [1]. Key details of this validation process include: 1. Scope Identification: The function iterates through the ExternalPlugins map [1]. For entries defined at the org/repo level, it extracts the organization name (the part before the forward slash) [1]. 2. Config Aggregation: It gathers the list of external plugin names defined for the organization level and compares them against the list defined for the specific repository [1]. 3. Conflict Detection: It utilizes a helper function, findDuplicatedPluginConfig, to identify any intersection between the repository-level plugins and the organization-level plugins [1]. 4. Validation Failure: If any duplicate plugin names are detected, the function returns an error formatted as: "external plugins [list of names] are duplicated for [repo] and [org]" [1]. This mechanism is part of the broader Prow configuration loading process, which generally validates that plugin declarations are correctly structured to prevent runtime conflicts [2][3]. Prow users typically rely on checkconfig or the Load method in the plugins package to ensure their plugins.yaml configuration is valid before applying it [2][4][5].

Citations:


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

python3 - <<'PY'
from urllib.request import urlopen
import re

urls = [
    "https://raw.githubusercontent.com/kubernetes-sigs/prow/main/pkg/plugins/config.go",
    "https://raw.githubusercontent.com/kubernetes-sigs/prow/f6cc3990c368/pkg/plugins/config.go",
]
for url in urls:
    print(f"\n--- {url} ---")
    text = urlopen(url, timeout=20).read().decode()
    for match in re.finditer(r"(?m)^func (validate\w+|findDuplicatedPluginConfig)\b", text):
        start = max(0, text.rfind("\n", 0, match.start()) - 200)
        end = text.find("\nfunc ", match.end())
        if end < 0:
            end = len(text)
        print(text[start:end][:8000])
PY

Repository: openshift/release

Length of output: 2533


🏁 Script executed:

#!/usr/bin/env bash
set -euo pipefail

for ref in main f6cc3990c368; do
  printf '\n--- %s ---\n' "$ref"
  curl -kfsSL "https://raw.githubusercontent.com/kubernetes-sigs/prow/$ref/pkg/plugins/config.go" |
    awk '
      /^func (validate|findDuplicated)/ {show=1}
      show {print}
      show && /^}/ {print ""; show=0}
    ' | head -240
done

Repository: openshift/release

Length of output: 15516


Remove repository-level duplicates before enabling these organization-level plugins.

Prow rejects duplicate built-in and external plugin names between openstack-k8s-operators and its repository configurations. Remove the overlapping entries from each affected _pluginconfig.yaml, or keep this policy repository-scoped. Run checkconfig on the merged configuration.

🤖 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 `@core-services/prow/02_config/openstack-k8s-operators/_pluginconfig.yaml`
around lines 11 - 15, Remove the repository-level `needs-rebase` plugin entry
from the affected `_pluginconfig.yaml` configurations before enabling the
organization-level plugin, or keep the plugin policy scoped only to this
repository. Ensure no duplicate built-in or external plugin names remain across
organization and repository configurations, then validate the merged
configuration with `checkconfig`.

Remove approve, assign, hold, lgtm, lifecycle, verify-owners, and wip
from per-repo plugin configs since they are now enabled at the org
level. checkconfig rejects duplicate plugin entries between org and
repo scope.
Comment on lines 12 to 16

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we have to remove this now that it is defined on the org leve?

The needs-rebase external plugin is now configured at the org level.
Remove the per-repo entries to avoid checkconfig duplication errors.
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@Prucek: no rehearsable tests are affected by this change

Note: If this PR includes changes to step registry files (ci-operator/step-registry/) and you expected jobs to be found, try rebasing your PR onto the base branch. This helps pj-rehearse accurately detect changes when the base branch has moved forward.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test ci/prow/yamllint

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test yamllint

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test boskos-config-generation

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test check-trigger-trusted-apps

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test owners

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test prow-config

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test release-controller-config

@stuggi

stuggi commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

/test openshift-image-mirror-mappings

@stuggi stuggi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Aug 3, 2026
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: Prucek, stuggi

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot
openshift-merge-bot Bot merged commit 745c993 into openshift:main Aug 3, 2026
7 of 12 checks passed
@openshift-ci

openshift-ci Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@Prucek: Updated the following 2 configmaps:

  • config configmap in namespace ci at cluster app.ci using the following files:
    • key core-services-prow-02_config-openstack-k8s-operators-tcib-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-barbican-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-ci-framework-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/ci-framework/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-cinder-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-data-plane-adoption-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/data-plane-adoption/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-designate-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-edpm-ansible-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/edpm-ansible/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-edpm-image-builder-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-glance-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-heat-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-horizon-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-infra-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-install_yamls-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-ironic-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-keystone-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-mcps-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-rag-content-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-manila-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-mariadb-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-neutron-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-nova-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/nova-operator/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-octavia-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-baremetal-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-k8s-operators-ci-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-must-gather-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/openstack-must-gather/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-osp-director-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/osp-director-operator/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-ovn-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-repo-setup-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-sg-core-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-swift-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-telemetry-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-test-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-watcher-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/watcher-operator/_prowconfig.yaml
  • config configmap in namespace ci at cluster core-ci using the following files:
    • key core-services-prow-02_config-openstack-k8s-operators-tcib-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-barbican-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-ci-framework-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/ci-framework/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-cinder-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-data-plane-adoption-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/data-plane-adoption/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-designate-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-edpm-ansible-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/edpm-ansible/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-edpm-image-builder-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-glance-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-heat-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-horizon-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-infra-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-install_yamls-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-ironic-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-keystone-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-mcps-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-lightspeed-rag-content-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-manila-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-mariadb-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-neutron-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-nova-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/nova-operator/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-octavia-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-baremetal-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-k8s-operators-ci-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-must-gather-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/openstack-must-gather/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-openstack-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-osp-director-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/osp-director-operator/_prowconfig.yaml
    • key core-services-prow-02_config-openstack-k8s-operators-ovn-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-repo-setup-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-sg-core-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-swift-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-telemetry-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-test-operator-_prowconfig.yaml using file ``
    • key core-services-prow-02_config-openstack-k8s-operators-watcher-operator-_prowconfig.yaml using file core-services/prow/02_config/openstack-k8s-operators/watcher-operator/_prowconfig.yaml
Details

In response to this:

Summary

  • The Tide sync query for openstack-k8s-operators fails 100% with GitHub's "Resource limits for this query exceeded" — 35 per-repo repo: qualifiers (1930 chars) exceed the free-tier search limit. Started July 9 when 3 lightspeed-* repos were onboarded.
  • Replace 35 per-repo Tide queries with a single org-level query using orgs: [openstack-k8s-operators], reducing query scope from 1930 chars to ~33 chars.
  • Per-repo merge_method and branch-protection configs are preserved; only redundant tide.queries sections are removed.

Generated with the help of Claude Code

Summary by CodeRabbit

  • Consolidates openstack-k8s-operators Tide configuration into one organization-level query.
  • Removes 35 duplicate per-repository Tide queries and needs-rebase entries.
  • Preserves repository-specific merge_method and branch-protection settings.
  • Centralizes approval, LGTM, and required Prow plugins for the organization.
  • Prevents query resource-limit and checkconfig duplication errors.

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants