USHIFT-7443: Ansible: modernize task syntax - #7346
Conversation
Normalize module names, task names, key ordering, Jinja spacing and YAML formatting across the deployment automation. Promote the cleaned lint families to errors while retaining the remaining behavioral warnings and exempting shared variables from role-specific naming prefixes. Preserve existing reboot notifications through handler listener aliases and retain workload QPS values in task names. Retry released-package installation twice at ten-second intervals so transient download failures can recover while persistent failures still stop the run. Signed-off-by: Sebastian Jug <seb@stianj.ug>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@sjug: This pull request references USHIFT-7443 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the task to target the "5.1.0" version, but no target version was set. 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 openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: sjug The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (39)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 4 included reviews per hour; 3 remain after this review. WalkthroughThe pull request standardizes Ansible lint configuration, YAML formatting, module qualification, task naming, boolean syntax, and block conditions across shared playbooks and roles. MicroShift package installation also gains retry-based success checking. ChangesAnsible standardization
Priority: ➖ Normal — Schedule the Ansible modernization because it spans many MicroShift roles and adds bounded retries to released-package installation, despite no stated customer or external urgency. Estimated code review effort: 3 (Moderate) | ~20 minutes Change: Refactor Merge Risk: ⚪ Minimal · up to This change standardizes Ansible syntax and formatting while adding bounded package-install retries; failures still stop the run. No concrete current-head merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 16✅ Passed checks (16 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
@sjug: all tests passed! 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. |
Summary
Modernizes Ansible task syntax and YAML formatting, and promotes the cleaned lint families from warnings to errors. Existing reboot notifications retain their handler aliases, workload task names retain QPS values, and shared variables remain exempt from role-specific naming prefixes. Adds two retries with ten-second delays to released-package installation; persistent failures still fail the run.
Tracks USHIFT-7443. The service-account
include_rolefix belongs to USHIFT-7499 and is not included in this PR.Validation
make lint-ansiblepasses with 0 failures and 52 remaining warnings, down from 388 warnings on the local main baseline. The minimum profile passes; this is not production-profile clean. Playbook syntax andgit diff --checkpass.Local RHEL 9.8 scratch-VM rehearsals passed with MicroShift 4.22.13 and 5.0.0-rc.1, exercising host setup, package installation, cold and warm boots, service-account creation and metrics collection. Both versions reached nine ready pods, six healthy Prometheus targets and populated boot, disk, image-size and network artifacts. The RC1 run completed with 276 tasks OK, 0 failures, 0 unreachable and 0 ignored; it installed CRI-O 5.0.0 and cri-tools 1.36.0.
Test copies included the separate USHIFT-7499 fix (#7340), which remains excluded from this PR. Prometheus used system mode on the same guest. RC1 was a clean reinstall on an existing configured VM, not a workload-preserving upgrade; the previous 4.22 RHSM repository remained enabled. RC1 cold/warm readiness took 65/273 seconds. Warm boot encountered CNI/OVN startup delays but recovered without intervention within the existing 600-second limit. These runs establish functional coverage, not performance equivalence or pristine-host dependency isolation.
Controlled retry testing confirmed recovery on the second attempt and failure after exactly three executions for a persistent error. Source builds, VM creation, GPU, pbench and workload execution were not live-qualified here.
make verify-fastremains blocked by formatting findings in five unchanged rebase-managed dependency files under the host Go toolchain. Full CI rehearsal remains outstanding.