Add eco-gotests suites ibu#81178
Conversation
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
WalkthroughAdds a new IBU eco-gotests upgrade step, wires it into the CNF RAN IBU workflow, and updates the seed step inventory, execution flow, and artifact collection. ChangesIBU eco-gotests flow
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-ibu-4.20-cnf-ran-ztp-tests |
|
@shaior: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh (1)
2-3: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winEnable
nounsetfor this step script.Several required inputs are expanded later (
TARGET_CLUSTER_NAME,TARGET_SPOKE_CLUSTER,MIRROR_REGISTRY,VERSION), so missing env contracts currently degrade into empty strings instead of failing fast. As per coding guidelines, "Default toset -euo pipefail(without-x) in step registry scripts."Proposed fix
-#!/bin/bash -set -e -set -o pipefail +#!/bin/bash +set -euo pipefail🤖 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 `@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh` around lines 2 - 3, The step script currently enables only errexit and pipefail, so missing required environment variables can expand to empty strings instead of failing fast. Update the script to use nounset as well, following the step-registry shell convention, and make sure the change is applied at the top of this script alongside the existing set flags so later uses of TARGET_CLUSTER_NAME, TARGET_SPOKE_CLUSTER, MIRROR_REGISTRY, and VERSION are caught immediately.Source: Coding guidelines
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`:
- Line 58: The upgrade command still references the old playbook name, so update
the `telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh` script to
use `playbooks/ran/prepare-ibu-seed-sno.yml` like the seed step. Fix the
`ansible-playbook` invocation in the upgrade registry entry so both
`telcov10n-functional-cnf-ran-ibu-eco-gotests-seed` and
`telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade` point to the renamed
playbook.
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh`:
- Around line 56-63: Update the IBU upgrade command script to call the renamed
prepare playbook instead of the old path. In the step that invokes
ansible-playbook, replace the reference used for the initial SNO preparation so
it matches the sibling seed flow and the renamed playbook path, keeping the same
inventory and extra-vars handling in the existing upgrade step.
---
Nitpick comments:
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh`:
- Around line 2-3: The step script currently enables only errexit and pipefail,
so missing required environment variables can expand to empty strings instead of
failing fast. Update the script to use nounset as well, following the
step-registry shell convention, and make sure the change is applied at the top
of this script alongside the existing set flags so later uses of
TARGET_CLUSTER_NAME, TARGET_SPOKE_CLUSTER, MIRROR_REGISTRY, and VERSION are
caught immediately.
🪄 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: 9ff7bd17-c03f-401d-aa9e-4f5902e19ff1
📒 Files selected for processing (6)
ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/OWNERSci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.metadata.jsonci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/ibu/telcov10n-functional-cnf-ran-ibu-workflow.yaml
|
|
||
| cd /eco-ci-cd | ||
| ansible-playbook playbooks/ran/ibu-prepare-seed-sno.yml \ | ||
| ansible-playbook playbooks/ran/prepare-ibu-seed-sno.yml \ |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Update the playbook rename in the upgrade step as well.
This step now calls playbooks/ran/prepare-ibu-seed-sno.yml, but ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh still calls playbooks/ran/ibu-prepare-seed-sno.yml. If the playbook was renamed rather than duplicated, the upgrade suite will fail with a missing file.
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`
at line 58, The upgrade command still references the old playbook name, so
update the `telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh`
script to use `playbooks/ran/prepare-ibu-seed-sno.yml` like the seed step. Fix
the `ansible-playbook` invocation in the upgrade registry entry so both
`telcov10n-functional-cnf-ran-ibu-eco-gotests-seed` and
`telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade` point to the renamed
playbook.
| echo "=== Step 1: Prepare IBU target SNO and retrieve kubeconfig ===" | ||
|
|
||
| cd /eco-ci-cd | ||
| ansible-playbook playbooks/ran/ibu-prepare-seed-sno.yml \ | ||
| -i "${OCP_DEPLOYMENT_INVENTORY_PATH}/build-inventory.py" \ | ||
| --extra-vars "hub_cluster=${TARGET_CLUSTER_NAME}" \ | ||
| --extra-vars "spoke_cluster=${TARGET_SPOKE_CLUSTER}" \ | ||
| --extra-vars "seed_vm_name=${TARGET_VM_NAME}" |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Use the renamed prepare playbook here.
This new step still calls playbooks/ran/ibu-prepare-seed-sno.yml, but the sibling seed flow and the PR context both reference playbooks/ran/prepare-ibu-seed-sno.yml. Leaving the old path here will make the upgrade step fail once the pre-rename filename is gone.
Proposed fix
-ansible-playbook playbooks/ran/ibu-prepare-seed-sno.yml \
+ansible-playbook playbooks/ran/prepare-ibu-seed-sno.yml \📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| echo "=== Step 1: Prepare IBU target SNO and retrieve kubeconfig ===" | |
| cd /eco-ci-cd | |
| ansible-playbook playbooks/ran/ibu-prepare-seed-sno.yml \ | |
| -i "${OCP_DEPLOYMENT_INVENTORY_PATH}/build-inventory.py" \ | |
| --extra-vars "hub_cluster=${TARGET_CLUSTER_NAME}" \ | |
| --extra-vars "spoke_cluster=${TARGET_SPOKE_CLUSTER}" \ | |
| --extra-vars "seed_vm_name=${TARGET_VM_NAME}" | |
| echo "=== Step 1: Prepare IBU target SNO and retrieve kubeconfig ===" | |
| cd /eco-ci-cd | |
| ansible-playbook playbooks/ran/prepare-ibu-seed-sno.yml \ | |
| -i "${OCP_DEPLOYMENT_INVENTORY_PATH}/build-inventory.py" \ | |
| --extra-vars "hub_cluster=${TARGET_CLUSTER_NAME}" \ | |
| --extra-vars "spoke_cluster=${TARGET_SPOKE_CLUSTER}" \ | |
| --extra-vars "seed_vm_name=${TARGET_VM_NAME}" |
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.sh`
around lines 56 - 63, Update the IBU upgrade command script to call the renamed
prepare playbook instead of the old path. In the step that invokes
ansible-playbook, replace the reference used for the initial SNO preparation so
it matches the sibling seed flow and the renamed playbook path, keeping the same
inventory and extra-vars handling in the existing upgrade step.
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-ibu-4.20-cnf-ran-ztp-tests |
|
@shaior: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-ibu-4.20-cnf-ran-ztp-tests |
|
@shaior: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-ibu-4.20-cnf-ran-ztp-tests |
|
@shaior: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (1)
ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh (1)
2-3: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick winUse the step-registry default shell safety flags here.
Missing
-umeans unset inputs likeSHARED_DIR,CLUSTER_NAME, orVERSIONsilently collapse to empty strings and fail later in harder-to-diagnose ways. As per coding guidelines, "Default toset -euo pipefail(without-x) in step registry scripts."Suggested change
-set -e -set -o pipefail +set -euo pipefail🤖 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 `@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh` around lines 2 - 3, Use the step-registry default shell safety flags in this script by updating the top-level shell options in telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh from the current set in the script header to include unset-variable checking as well. The fix is to align the script’s safety settings with the standard step-registry pattern so references like SHARED_DIR, CLUSTER_NAME, and VERSION fail fast when missing, while keeping the existing location near the set options in the script entry point.Source: Coding guidelines
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`:
- Around line 87-91: Stop parsing the inventory YAML with grep/sed in this block
and switch to a YAML-aware lookup for the values used to build temp_ssh_key,
BASTION_IP, and BASTION_USER. The current commands in the shell script are
brittle because they assume ansible_ssh_private_key, ansible_host, and
ansible_user appear in fixed positions; update the logic around these variable
assignments to read the YAML structure safely instead. Apply the same change in
the matching block in the new upgrade script so both paths use the same robust
approach.
- Around line 99-104: The artifact collection step in the bastion copy block
currently treats missing eco-gotests XML files as a hard failure. Update the scp
flow in the gather-artifacts section to distinguish “no reports were produced”
from real transfer errors by checking for matching files on the remote side
before copying, or by explicitly handling the empty-report case. Keep the
existing artifact directory setup and make the behavior in the bash script
around the bastion copy logic tolerant of expected no-report outcomes.
---
Nitpick comments:
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`:
- Around line 2-3: Use the step-registry default shell safety flags in this
script by updating the top-level shell options in
telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh from the current
set in the script header to include unset-variable checking as well. The fix is
to align the script’s safety settings with the standard step-registry pattern so
references like SHARED_DIR, CLUSTER_NAME, and VERSION fail fast when missing,
while keeping the existing location near the set options in the script entry
point.
🪄 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: 444e1694-b4ba-4c5c-a6bb-3565bdd075fa
📒 Files selected for processing (8)
ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-ref.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/OWNERSci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.metadata.jsonci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-mirror-seed-image/telcov10n-functional-cnf-ran-ibu-mirror-seed-image-ref.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/ibu/telcov10n-functional-cnf-ran-ibu-workflow.yaml
✅ Files skipped from review due to trivial changes (2)
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/OWNERS
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.metadata.json
🚧 Files skipped from review as they are similar to previous changes (4)
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu/telcov10n-functional-cnf-ran-ibu-workflow.yaml
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-ref.yaml
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-mirror-seed-image/telcov10n-functional-cnf-ran-ibu-mirror-seed-image-ref.yaml
- ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-upgrade/telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade-ref.yaml
| grep ansible_ssh_private_key -A 100 "${CNF_INVENTORY_PATH}/group_vars/all.yaml" | sed 's/ansible_ssh_private_key: //g' | sed "s/'//g" > "${PROJECT_DIR}/temp_ssh_key" | ||
| chmod 600 "${PROJECT_DIR}/temp_ssh_key" | ||
|
|
||
| BASTION_IP=$(grep -oP '(?<=ansible_host: ).*' "${CNF_INVENTORY_PATH}/host_vars/bastion.yaml" | sed "s/'//g") | ||
| BASTION_USER=$(grep -oP '(?<=ansible_user: ).*' "${CNF_INVENTORY_PATH}/group_vars/all.yaml" | sed "s/'//g") |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Stop scraping these inventory YAML files with grep/sed.
grep -A 100 only works if ansible_ssh_private_key stays at the end of group_vars/all.yaml; as soon as more top-level keys follow it, temp_ssh_key will contain trailing YAML and SSH will reject it. The ansible_host/ansible_user lookups have the same brittleness, so this block should use a YAML-aware read instead. The identical block in the new upgrade script needs the same fix.
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`
around lines 87 - 91, Stop parsing the inventory YAML with grep/sed in this
block and switch to a YAML-aware lookup for the values used to build
temp_ssh_key, BASTION_IP, and BASTION_USER. The current commands in the shell
script are brittle because they assume ansible_ssh_private_key, ansible_host,
and ansible_user appear in fixed positions; update the logic around these
variable assignments to read the YAML structure safely instead. Apply the same
change in the matching block in the new upgrade script so both paths use the
same robust approach.
| echo "Gather artifacts from bastion" | ||
| mkdir -p "${ARTIFACT_DIR}/junit_eco_gotests" | ||
| scp -r -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ | ||
| -i "${PROJECT_DIR}/temp_ssh_key" \ | ||
| "${BASTION_USER}@${BASTION_IP}:/tmp/eco_gotests/report/*.xml" \ | ||
| "${ARTIFACT_DIR}/junit_eco_gotests/" |
There was a problem hiding this comment.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Handle “no XML reports” separately from real copy failures.
The remote test run is intentionally non-blocking (|| true), but scp ... /tmp/eco_gotests/report/*.xml still exits non-zero when no reports were produced, which turns an expected eco-gotests failure back into a hard step failure during artifact gathering. Guard the copy with a remote existence check, or explicitly tolerate the empty-report case.
🧰 Tools
🪛 ast-grep (0.44.0)
[warning] 100-103: This ssh/scp/sftp invocation disables SSH host key verification (StrictHostKeyChecking=no and/or UserKnownHostsFile=/dev/null), which lets an active man-in-the-middle impersonate the server and intercept the session without any warning. Remove these options and verify the host key instead: pre-populate known_hosts with the expected key (e.g. via ssh-keyscan over a trusted channel or ssh-keygen -H), or use StrictHostKeyChecking=yes / accept-new so unexpected key changes are rejected.
Context: scp -r -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null
-i "${PROJECT_DIR}/temp_ssh_key"
"${BASTION_USER}@${BASTION_IP}:/tmp/eco_gotests/report/*.xml"
"${ARTIFACT_DIR}/junit_eco_gotests/"
Note: [CWE-295] Improper Certificate Validation.
(ssh-disable-host-key-check-bash)
🤖 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
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/ibu-eco-gotests-seed/telcov10n-functional-cnf-ran-ibu-eco-gotests-seed-commands.sh`
around lines 99 - 104, The artifact collection step in the bastion copy block
currently treats missing eco-gotests XML files as a hard failure. Update the scp
flow in the gather-artifacts section to distinguish “no reports were produced”
from real transfer errors by checking for matching files on the remote side
before copying, or by explicitly handling the empty-report case. Keep the
existing artifact directory setup and make the behavior in the bash script
around the bastion copy logic tolerant of expected no-report outcomes.
|
@shaior: 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. |
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-ibu-4.20-cnf-ran-ztp-tests |
|
@shaior: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: shaior 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 |
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
Summary by CodeRabbit
This PR updates OpenShift CI step-registry configuration for the telcov10n CNF RAN IBU eco-gotests flow by adding a dedicated target-side upgrade path and tightening how seed/target inventories, kubeconfigs, and JUnit artifacts are prepared and collected.
Practically, it:
telcov10n-functional-cnf-ran-ibu-eco-gotests-upgrade(withOWNERS+*.ref.yamland*.ref.metadata.json) that:${SHARED_DIR}/skip.txtexistsSHARED_DIRinto the OCP deployment and CNF inventories usingtarget-*source filenames (includingtarget-master0→host_vars/master-0.yaml)ibu-prepare-seed-sno.ymlto retrieve the target spoke kubeconfigdeploy-run-eco-gotests.yamlwithECO_GOTESTS_FEATURES(defaultupgrade) and setsECO_LCA_IBU_CNF_KUBECONFIG_TARGET_SNOto the target hub kubeconfig path on the target bastioneco-gotests-run.sh, then copies backjunit_*.xmlreports into${ARTIFACT_DIR}(and onward intoSHARED_DIRwithjunit_ibu_upgrade_*)telcov10n-functional-cnf-ran-ibuworkflow test section, running it after the seed image is mirrored to the target disconnected registry.SHARED_DIRusing flat inventory filenames (non-seed-*-prefixed) into:group_vars/(all,bastions,hypervisors,nodes,masters) andhost_vars/(bastion,hypervisor,master0)group_vars/*.yamlandhost_vars/*.yaml${SHARED_DIR}asjunit_ibu_seed_*.VERSIONdefaulting to4.20, and seed hubCLUSTER_NAMEdefaulting tokni-qe-108).VERSIONparameter (default4.20) totelcov10n-functional-cnf-ran-ibu-mirror-seed-imageso seed image tagging stays consistent.openshift-kni-eco-ci-cd-main__cnf-ran-ibu-4.20.yamlconfiguration to setREPORTER_TEMPLATE_NAMEforcnf-ran-ztp-tests.