Skip to content

OPCT-454: skip dependency waiter when no blocker plugin configured - #94

Open
bshaw7 wants to merge 3 commits into
mainfrom
OPCT-454/fix-collector-blocked-by-upgrade
Open

OPCT-454: skip dependency waiter when no blocker plugin configured#94
bshaw7 wants to merge 3 commits into
mainfrom
OPCT-454/fix-collector-blocked-by-upgrade

Conversation

@bshaw7

@bshaw7 bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • In upgrade mode, OPCT CLI sets PLUGIN_BLOCKED_BY to empty (conformance plugins skipped)
  • wait-updater ignored the --blocker flag and used hardcoded BlockerPlugins from NewPlugin()
  • Collector polled indefinitely for non-existent plugin 80 pod

Changes

  • wait-updater.go: early return when --blocker is empty
  • entrypoint-collector.sh: skip wait-updater call when PLUGIN_BLOCKED_BY is empty

Test plan

  • Build image, run opct run --mode upgrade on cluster
  • Verify collector starts artifact collection immediately (no polling loop)
  • Verify non-upgrade mode still waits for plugin 80 as before

🤖 Generated with Claude Code
EOF

  In upgrade mode, OPCT CLI sets PLUGIN_BLOCKED_BY to empty in the
  collector manifest template (plugins 10/20/80 are skipped). However,
  the wait-updater Go code ignores the --blocker flag and uses the
  hardcoded BlockerPlugins from NewPlugin(), causing the collector to
  poll indefinitely for a non-existent plugin 80 pod.

  Fix at two layers:
  - wait-updater.go: early return when --blocker is empty
  - entrypoint-collector.sh: skip wait-updater call when
    PLUGIN_BLOCKED_BY is empty
Co-Authored-By: bshaw7
@openshift-ci
openshift-ci Bot requested review from mtulio and rvanderp3 August 19, 2026 04:52
@openshift-ci

openshift-ci Bot commented Aug 19, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign vr4manta for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@bshaw7

bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator Author

/kind bug

@coderabbitai

coderabbitai Bot commented Aug 19, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 75f9197b-e635-4f04-95f4-4f5dd393abf8


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot added the kind/bug Categorizes issue or PR as related to a bug. label Aug 19, 2026
bshaw7 and others added 2 commits August 19, 2026 11:00
NewPlugin() hardcodes BlockerPlugins in its switch statement, ignoring
the --blocker flag passed from PLUGIN_BLOCKED_BY env var. Override the
hardcoded value after plugin creation so the OPCT CLI template controls
which plugin the collector waits for in upgrade mode.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When wait-updater passes full plugin name like 05-openshift-cluster-upgrade,
PluginFullNameByName() didnt recognize it and returned -05-openshift-cluster-upgrade
(leading minus), breaking pod label lookup.

Fix: return alias directly when input already contains plugin ID prefix.
@bshaw7

bshaw7 commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator Author

Test 5 Validation -- Full end-to-end 4.20 to 4.21 upgrade (2026-08-19)

Cluster: bshaw2 (AWS, 4.20.34 to 4.21.28, stable-4.21 channel)
OPCT image: quay.io/rhn-support-bshaw/opct:latest (PR #232 -- skip conformance in upgrade mode)
Plugin image: quay.io/rhn-support-bshaw/plugin-artifacts-collector:latest (PR #94, commit e413762)

All three fixes validated

1. entrypoint-collector.sh skip when empty (19110c1):
Verified in earlier test (Test 1) -- collector started immediately without waiting when PLUGIN_BLOCKED_BY was empty.

2. wait-updater.go blocker override (51291f3):
Collector correctly overrides hardcoded BlockerPlugins with --blocker flag value:

99-openshift-artifacts-collector   running    0/0 (0 failures)   status=waiting-for=05-openshift-cluster-upgrade

3. PluginFullNameByName alias fix (e413762):
Pod lookup now finds the correct plugin pod. Previous bug returned "-05-openshift-cluster-upgrade" (leading minus), causing label mismatch and podPhase=TBD(pod) indefinite loop.

End-to-end result

Global Status: complete
JOB_NAME                           STATUS     RESULTS    PROGRESS                  MESSAGE
05-openshift-cluster-upgrade       complete   failed     34/34 (0 failures)        Total tests processed: 33 (32 pass / 1 failed)
99-openshift-artifacts-collector   complete   passed     0/0 (0 failures)          Total tests processed: 13 (13 pass / 0 failed)

Collector waited for plugin 05, detected completion, collected artifacts, passed all 13 checks.

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

Labels

kind/bug Categorizes issue or PR as related to a bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant