TELCOV10N-923 - add eco gotests step#77999
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: rdiscala 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 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (6)
✅ Files skipped from review due to trivial changes (2)
🚧 Files skipped from review as they are similar to previous changes (2)
WalkthroughA new CI test step Changes
Sequence Diagram(s)sequenceDiagram
participant CI as CI System
participant Script as eco-gotests Script
participant Inv as Inventory<br/>Processing
participant SSH as SSH/Bastion
participant Ans as Ansible<br/>Playbook
participant Spoke as Spoke<br/>Cluster
participant Report as Artifact<br/>Collection
CI->>Script: Execute eco-gotests-sno-worker step
Script->>Inv: Process inventory directories<br/>(common, hub, spoke)
Inv->>Inv: Filter & normalize<br/>SPOKE_CLUSTER, HUB_CLUSTER
Script->>SSH: Extract bastion IP/user<br/>from inventory
Script->>SSH: Establish SSH connection<br/>with private key
SSH->>SSH: Create remote temp<br/>working directory
Script->>SSH: Fetch spoke kubeconfig<br/>secret from hub
SSH->>Spoke: Retrieve & decode<br/>kubeconfig
Script->>Spoke: Wait for worker nodes<br/>to reach Ready (30m)
Script->>Ans: For each feature in<br/>ECO_GOTESTS_FEATURES
Ans->>Spoke: Run deploy-run-eco-gotests<br/>playbook with config
Script->>SSH: Execute eco-gotests-run.sh<br/>on bastion
SSH->>SSH: Run tests remotely
Script->>Report: Collect report/*.xml<br/>files via scp
Report->>CI: Copy formatted artifacts<br/>to SHARED_DIR
Script->>CI: Exit with status
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes 🚥 Pre-merge checks | ✅ 11 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (11 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
f1edd70 to
694581e
Compare
There was a problem hiding this comment.
Actionable comments posted: 5
🧹 Nitpick comments (1)
ci-operator/config/openshift-kni/eco-ci-cd/openshift-kni-eco-ci-cd-main__cnf-ran-sno-day2-worker-4.20.yaml (1)
27-61: Wire the CNF worker step or remove the inert env override.Line 27 configures
CNF_TESTS_FEATURES, and this PR addstelcov10n-functional-cnf-ran-cnf-tests-sno-worker, but Line 61 only wires the eco-gotests ref. If CNF tests are expected in this workflow, the CNF step will not run; otherwise this env override is dead config.Possible wiring if CNF tests should run here
- ref: telcov10n-functional-cnf-ran-mirror-spoke-operators - ref: telcov10n-functional-cnf-ran-deploy-spoke-sno - ref: telcov10n-functional-cnf-ran-deploy-spoke-sno-day2-worker + - ref: telcov10n-functional-cnf-ran-cnf-tests-sno-worker - ref: telcov10n-functional-cnf-ran-eco-gotests-sno-worker🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@ci-operator/config/openshift-kni/eco-ci-cd/openshift-kni-eco-ci-cd-main__cnf-ran-sno-day2-worker-4.20.yaml` around lines 27 - 61, The CNF_TESTS_FEATURES env var is set but the CNF job is not wired into the pre steps; either add the CNF test ref telcov10n-functional-cnf-ran-cnf-tests-sno-worker to the pre list (alongside the existing telcov10n-functional-cnf-ran-eco-gotests-sno-worker) so the CNF_TESTS_FEATURES flag actually triggers the CNF job, or remove the CNF_TESTS_FEATURES line entirely to avoid a dead override; update the pre array (refs) or the env block accordingly to keep CNF_TESTS_FEATURES and the workflow in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.sh`:
- Around line 161-165: The ansible-playbook invocation passes
features=${CNF_TESTS_FEATURES} as a single key=value string which will split a
space-separated CNF_TESTS_FEATURES into separate args; instead write a temporary
extra-vars YAML (containing features: "<value>" plus kubeconfig and cnf_test_dir
keys) and pass it with --extra-vars `@/tmp/whatever.yaml` to the ansible-playbook
call (update the command around deploy-run-cnf-tests-script.yaml and the
features/CNF_TESTS_FEATURES usage); ensure the temp file is created safely
(e.g., mktemp), populated with the three vars (features, kubeconfig using
SPOKE_KUBECONFIG, cnf_test_dir using CNF_TEST_DIR), and removed after the
playbook finishes.
- Around line 229-233: The script currently prepends /usr/local/go/bin but not
the directory where go install writes binaries, so ensure the installed ginkgo
is picked up by exporting the Go install bin directory into PATH (use the output
of go env GOBIN if set, otherwise $(go env GOPATH)/bin) before invoking
cnf-tests-run.sh; update the export PATH line around the existing export
PATH="/usr/local/go/bin:$PATH" and/or immediately after the go install
github.com/onsi/ginkgo/v2/ginkgo step so that the script uses the newly
installed ginkgo binary when cnf-tests-run.sh runs.
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/telcov10n-functional-cnf-ran-eco-gotests-sno-worker-commands.sh`:
- Around line 117-119: The temp SSH key is created with default umask then
tightened, leaving a brief window of world-readable permissions; update the
creation to write the file atomically with restrictive permissions—either set a
temporary umask 077 around the write to "${WORKDIR}/temp_ssh_key" or replace the
redirection with an atomic tool that sets mode 600 (e.g., install -m 600 or
equivalent) when writing from
/var/group_variables/common/all/ansible_ssh_private_key so the file is never
created with broader permissions.
- Around line 138-143: The SSH-run remote extraction can hide failures because
the pipeline "oc ... | base64 -d" runs without pipefail; change the ssh
invocation that uses "${SSH_OPTS[@]}", "${BASTION_USER}@${BASTION_IP}" and the
remote "oc ... | base64 -d > '${SPOKE_KUBECONFIG}'" so the remote shell runs
with pipefail (e.g. wrap the remote command in bash -o pipefail -c '...') or
otherwise enable set -o pipefail before running oc, ensuring ssh returns
non-zero if oc fails and the local script (set -e) will abort immediately with
the original error instead of creating an empty ${SPOKE_KUBECONFIG}.
- Around line 36-42: The single-quote replacement in the branch that echoes a
single-quoted YAML scalar currently strips single quotes because
`${content//\'/''}` uses an empty replacement; update the parameter expansion
used when constructing the single-quoted scalar so each single-quote in
`content` is replaced by two single-quote characters (i.e., the single-quote is
doubled) instead of removed, and keep the surrounding single quotes around the
substituted value when echoing `${varname}` into `${dest_file}`.
---
Nitpick comments:
In
`@ci-operator/config/openshift-kni/eco-ci-cd/openshift-kni-eco-ci-cd-main__cnf-ran-sno-day2-worker-4.20.yaml`:
- Around line 27-61: The CNF_TESTS_FEATURES env var is set but the CNF job is
not wired into the pre steps; either add the CNF test ref
telcov10n-functional-cnf-ran-cnf-tests-sno-worker to the pre list (alongside the
existing telcov10n-functional-cnf-ran-eco-gotests-sno-worker) so the
CNF_TESTS_FEATURES flag actually triggers the CNF job, or remove the
CNF_TESTS_FEATURES line entirely to avoid a dead override; update the pre array
(refs) or the env block accordingly to keep CNF_TESTS_FEATURES and the workflow
in sync.
🪄 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: openshift/coderabbit/.coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 42be6aa0-826c-43cd-b3e8-d175d4059036
📒 Files selected for processing (9)
ci-operator/config/openshift-kni/eco-ci-cd/openshift-kni-eco-ci-cd-main__cnf-ran-sno-day2-worker-4.20.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/OWNERSci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-ref.metadata.jsonci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-ref.yamlci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/OWNERSci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/telcov10n-functional-cnf-ran-eco-gotests-sno-worker-commands.shci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/telcov10n-functional-cnf-ran-eco-gotests-sno-worker-ref.metadata.jsonci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/telcov10n-functional-cnf-ran-eco-gotests-sno-worker-ref.yaml
| echo "Run ansible playbook to generate CNF test scripts" | ||
| ansible-playbook ./playbooks/cnf/deploy-run-cnf-tests-script.yaml \ | ||
| -i ./inventories/cnf/switch-config.yaml \ | ||
| --extra-vars "kubeconfig=${SPOKE_KUBECONFIG} features=${CNF_TESTS_FEATURES} cnf_test_dir=${CNF_TEST_DIR}" \ | ||
| -vv |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# First, locate and examine the script file
fd -t f "telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.sh"Repository: openshift/release
Length of output: 198
🏁 Script executed:
# Search for CNF_TESTS_FEATURES definition and usage
rg "CNF_TESTS_FEATURES" -A 2 -B 2Repository: openshift/release
Length of output: 3408
🏁 Script executed:
# Look for documentation or README files that might document CNF_TESTS_FEATURES
fd -t f "README|readme" | head -20Repository: openshift/release
Length of output: 823
🏁 Script executed:
# Search for the Ansible playbook mentioned
fd -t f "deploy-run-cnf-tests-script.yaml"Repository: openshift/release
Length of output: 43
🏁 Script executed:
cat -n ci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.sh | sed -n '155,175p'Repository: openshift/release
Length of output: 993
🏁 Script executed:
# Get the full ref.yaml to understand CNF_TESTS_FEATURES documentation
cat ci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-ref.yamlRepository: openshift/release
Length of output: 1874
🌐 Web query:
Ansible --extra-vars key-value string space-separated values parsing behavior
💡 Result:
Ansible's --extra-vars (or -e) option parses space-separated key-value strings using a custom shell-like splitter that respects quotes and escapes, preventing premature splitting on spaces within quoted values. Key parsing behavior: - The extra-vars argument string is first split into individual arguments using ansible.parsing.splitter.split_args, which splits on whitespace but intelligently handles quotes (single ', double "), backslashes, and Jinja2 blocks. - Each split argument is then processed by parse_kv: if it contains '=', it's split into key and value; the value is unquoted (ansible.parsing.quoting.unquote) and stored as a string. - Spaces within unquoted values cause splitting into separate arguments (treated as additional key= or free params). - Properly quoted values preserve internal spaces: e.g., -e 'key="value with spaces"' or -e "key='value with spaces'" sets key to the full string "value with spaces". - Multiple vars: -e "key1=val1 key2=val2" (whole quoted) or separate -e flags. - Shell processes outer quotes first, so nest appropriately (outer single for shell vars, inner double for Ansible). Examples: - ansible-playbook playbook.yml -e 'SSH_KEY="ssh-rsa AAA... comment"' # Preserves full public key with spaces - Without quotes: -e SSH_KEY=ssh-rsa AAA... # SSH_KEY="ssh-rsa", "AAA..." as separate var (fails) All key=value values are strings by default. Use JSON for non-strings: -e '{"list":["a b","c"]}'. This behavior is consistent across recent Ansible versions (2.10+ to latest), as seen in splitter.py source.
Citations:
- 1: https://stackoverflow.com/questions/41475446/ansible-playbook-extra-vars-with-a-space-in-a-value
- 2: https://stackoverflow.com/questions/32584112/ansible-spaces-in-command-line-variables/32584612
- 3: https://stackoverflow.com/questions/53883043/content-beyond-whitespaces-in-string-values-passed-using-extra-vars-dropped
- 4: https://docs.ansible.com/ansible/6/user_guide/playbooks_variables.html
- 5: https://docs.ansible.com/projects/ansible/latest/playbook_guide/playbooks_variables.html
- 6: https://github.com/ansible/ansible/blob/master/lib/ansible/parsing/splitter.py
- 7: https://github.com/ansible/ansible/blob/devel/lib/ansible/parsing/splitter.py
- 8: https://github.com/ansible/ansible/blob/devel/lib/ansible/utils/vars.py
Fix Ansible extra-vars parsing for space-separated feature list.
Line 164 passes features=${CNF_TESTS_FEATURES} through Ansible's key-value string format. Since CNF_TESTS_FEATURES is documented as a space-separated list, multi-value features will be misparsed (e.g., "reboot power-management" becomes separate arguments). Use an extra-vars YAML file instead to preserve the full value.
Safer extra-vars file approach
echo "Run ansible playbook to generate CNF test scripts"
+CNF_EXTRA_VARS_FILE="${WORKDIR}/cnf-extra-vars.yml"
+cat > "${CNF_EXTRA_VARS_FILE}" <<EOF
+kubeconfig: "${SPOKE_KUBECONFIG}"
+features: "${CNF_TESTS_FEATURES}"
+cnf_test_dir: "${CNF_TEST_DIR}"
+EOF
+
ansible-playbook ./playbooks/cnf/deploy-run-cnf-tests-script.yaml \
-i ./inventories/cnf/switch-config.yaml \
- --extra-vars "kubeconfig=${SPOKE_KUBECONFIG} features=${CNF_TESTS_FEATURES} cnf_test_dir=${CNF_TEST_DIR}" \
+ --extra-vars "@${CNF_EXTRA_VARS_FILE}" \
-vv📝 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 "Run ansible playbook to generate CNF test scripts" | |
| ansible-playbook ./playbooks/cnf/deploy-run-cnf-tests-script.yaml \ | |
| -i ./inventories/cnf/switch-config.yaml \ | |
| --extra-vars "kubeconfig=${SPOKE_KUBECONFIG} features=${CNF_TESTS_FEATURES} cnf_test_dir=${CNF_TEST_DIR}" \ | |
| -vv | |
| echo "Run ansible playbook to generate CNF test scripts" | |
| CNF_EXTRA_VARS_FILE="${WORKDIR}/cnf-extra-vars.yml" | |
| cat > "${CNF_EXTRA_VARS_FILE}" <<EOF | |
| kubeconfig: "${SPOKE_KUBECONFIG}" | |
| features: "${CNF_TESTS_FEATURES}" | |
| cnf_test_dir: "${CNF_TEST_DIR}" | |
| EOF | |
| ansible-playbook ./playbooks/cnf/deploy-run-cnf-tests-script.yaml \ | |
| -i ./inventories/cnf/switch-config.yaml \ | |
| --extra-vars "@${CNF_EXTRA_VARS_FILE}" \ | |
| -vv |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.sh`
around lines 161 - 165, The ansible-playbook invocation passes
features=${CNF_TESTS_FEATURES} as a single key=value string which will split a
space-separated CNF_TESTS_FEATURES into separate args; instead write a temporary
extra-vars YAML (containing features: "<value>" plus kubeconfig and cnf_test_dir
keys) and pass it with --extra-vars `@/tmp/whatever.yaml` to the ansible-playbook
call (update the command around deploy-run-cnf-tests-script.yaml and the
features/CNF_TESTS_FEATURES usage); ensure the temp file is created safely
(e.g., mktemp), populated with the three vars (features, kubeconfig using
SPOKE_KUBECONFIG, cnf_test_dir using CNF_TEST_DIR), and removed after the
playbook finishes.
| export PATH="/usr/local/go/bin:$PATH" | ||
| cd "${CNF_TEST_DIR}/cnf-features-deploy" | ||
|
|
||
| go install -mod=vendor github.com/onsi/ginkgo/v2/ginkgo | ||
|
|
There was a problem hiding this comment.
Add Go’s install bin directory to PATH before running CNF tests.
Line 232 installs ginkgo, but go install writes binaries to GOBIN or GOPATH/bin; Line 229 only prepends /usr/local/go/bin. If cnf-tests-run.sh invokes ginkgo, it may use a stale binary or fail to find it.
Ensure the installed Ginkgo binary is used
CNF_TEST_DIR="$1"
export PATH="/usr/local/go/bin:$PATH"
+GO_BIN_DIR="$(go env GOBIN)"
+if [[ -z "${GO_BIN_DIR}" ]]; then
+ GO_BIN_DIR="$(go env GOPATH)/bin"
+fi
+export PATH="${GO_BIN_DIR}:${PATH}"
cd "${CNF_TEST_DIR}/cnf-features-deploy"
go install -mod=vendor github.com/onsi/ginkgo/v2/ginkgo
+hash -r📝 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.
| export PATH="/usr/local/go/bin:$PATH" | |
| cd "${CNF_TEST_DIR}/cnf-features-deploy" | |
| go install -mod=vendor github.com/onsi/ginkgo/v2/ginkgo | |
| export PATH="/usr/local/go/bin:$PATH" | |
| GO_BIN_DIR="$(go env GOBIN)" | |
| if [[ -z "${GO_BIN_DIR}" ]]; then | |
| GO_BIN_DIR="$(go env GOPATH)/bin" | |
| fi | |
| export PATH="${GO_BIN_DIR}:${PATH}" | |
| cd "${CNF_TEST_DIR}/cnf-features-deploy" | |
| go install -mod=vendor github.com/onsi/ginkgo/v2/ginkgo | |
| hash -r |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/cnf-tests-sno-worker/telcov10n-functional-cnf-ran-cnf-tests-sno-worker-commands.sh`
around lines 229 - 233, The script currently prepends /usr/local/go/bin but not
the directory where go install writes binaries, so ensure the installed ginkgo
is picked up by exporting the Go install bin directory into PATH (use the output
of go env GOBIN if set, otherwise $(go env GOPATH)/bin) before invoking
cnf-tests-run.sh; update the export PATH line around the existing export
PATH="/usr/local/go/bin:$PATH" and/or immediately after the go install
github.com/onsi/ginkgo/v2/ginkgo step so that the script uses the newly
installed ginkgo binary when cnf-tests-run.sh runs.
| if [[ "$content" == *$'\n'* ]]; then | ||
| echo "${varname}: |" | ||
| echo "$content" | sed 's/^/ /' | ||
| else | ||
| echo "${varname}: '${content//\'/''}'" | ||
| fi | ||
| done > "${dest_file}" |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
In bash parameter expansion ${var//pattern/replacement}, is '' interpreted as an empty string or two literal single quotes?
💡 Result:
In bash parameter expansion ${var//pattern/replacement}, '' is interpreted as an empty string, not two literal single quotes. The replacement string undergoes expansions including quote removal, so the quotes are removed, leaving null (empty). This causes matches of pattern to be deleted from var, as stated in the official Bash manual: "If the expansion of string is null, matches of pattern are deleted". The syntax ${var//pattern/} (omitting the / after pattern when replacement is null) is equivalent.
Citations:
- 1: https://www.gnu.org/s/bash/manual/html_node/Shell-Parameter-Expansion.html
- 2: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html
- 3: https://mywiki.wooledge.org/BashFAQ/100
- 4: https://www.baeldung.com/linux/bash-remove-variable-characters#:~:text=Using%20the%20%24%7Bparameter%2F%2F,replacement%20is%20the%20empty%20string.
Single-quote replacement is a no-op (deletes quotes instead of escaping them).
In bash parameter expansion ${content//\'/''}, the replacement '' is an empty string (after quote removal), so any ' in content is stripped, not escaped. For YAML single-quoted scalars, the correct escape requires doubling the quote character, meaning the replacement must be two literal single-quote characters.
Consequences:
- A credential value like
p'wdis silently emitted aspwd(data corruption). - A value like
it'sbecomesits. - Variables containing single quotes yield corrupted inventory entries consumed by downstream Ansible.
Fix line 40:
- echo "${varname}: '${content//\'/''}'"
+ # Escape single quotes for YAML single-quoted scalars by doubling them.
+ escaped=${content//\'/\'\'}
+ echo "${varname}: '${escaped}'"🧰 Tools
🪛 Shellcheck (0.11.0)
[style] 38-38: See if you can use ${variable//search/replace} instead.
(SC2001)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In
`@ci-operator/step-registry/telcov10n/functional/cnf-ran/eco-gotests-sno-worker/telcov10n-functional-cnf-ran-eco-gotests-sno-worker-commands.sh`
around lines 36 - 42, The single-quote replacement in the branch that echoes a
single-quoted YAML scalar currently strips single quotes because
`${content//\'/''}` uses an empty replacement; update the parameter expansion
used when constructing the single-quoted scalar so each single-quote in
`content` is replaced by two single-quote characters (i.e., the single-quote is
doubled) instead of removed, and keep the surrounding single quotes around the
substituted value when echoing `${varname}` into `${dest_file}`.
694581e to
3afa0dc
Compare
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
|
/pj-rehearse periodic-ci-openshift-kni-eco-ci-cd-main-cnf-ran-sno-day2-worker-4.20-cnf-ran-ztp-tests |
|
@rdiscala: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel. |
|
@rdiscala: 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. |
Add telcov10n-functional-cnf-ran-eco-gotests-sno-worker step to the cnf-ran-sno-day2-worker-4.20 job. The step runs eco-gotests against the spoke cluster's day-2 worker node after ZTP provisioning. The step: - Builds Ansible inventory from its own credential mounts - Extracts the spoke kubeconfig from the hub cluster - Waits for the worker node to reach Ready state (30m timeout) - Generates and runs eco-gotests per feature via Ansible and SSH - Mirrors eco-gotests images to the disconnected registry - Collects JUnit and Polarion XML reports as CI artifacts - Uses a failure flag so all features run even if one fails Also adds ECO_GOTESTS_FEATURES and MIRROR_REGISTRY env vars to the test configuration for explicit control of test scope and registry.
3afa0dc to
dcd810a
Compare
|
[REHEARSALNOTIFIER]
Interacting with pj-rehearseComment: Once you are satisfied with the results of the rehearsals, comment: |
Summary by CodeRabbit