Repository navigation
OSPRH-38067: Record platform-state after RHOSO in monolithic jobs - #48
Conversation
|
@tusharjadhav3302: This pull request references OSPRH-38067 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. |
| # so warm Pipeline B can reuse the platform. Phased jobs must not list this stage | ||
| # (Pipeline B overrides stages without it; Pipeline A already records via jobs). | ||
| - name: Record platform-state for monolithic warm reuse | ||
| ansible.builtin.import_playbook: plays/record_platform_state.yaml |
There was a problem hiding this comment.
On a fresh shiftstackclient pod, oc is not installed yet: the published client image does not include it, and plays/prepare.yaml downloads it later. Running the recorder here makes its probes fail and aborts every monolithic job before preparation starts. Please bootstrap oc before these probes, or move the recorder after plays/prepare.yaml installs the client.
There was a problem hiding this comment.
Good catch. Moved the recorder to run after plays/prepare.yaml, so oc is installed before the probes. Also reordered the monolithic stage lists to prepare then record_platform_state to match playbook order.
7bf008e to
7719b14
Compare
| KUBECONFIG: "{{ rhoso_kubeconfig }}" | ||
| ansible.builtin.shell: | | ||
| set -euo pipefail | ||
| oc -n {{ record_platform_state_openstack_namespace }} \ |
There was a problem hiding this comment.
Zuul can leave this kubeconfig on a non-admin context; configure-hypervisor.yaml switches its separate copy to admin for that reason. If the pod's current context cannot read these OpenStack resources, this probe fails and stops the monolithic job before installation. Could you pass --context=admin to the oc probes, or use an isolated kubeconfig copy with admin selected?
There was a problem hiding this comment.
Agreed. Updated the three oc probes to pass --context=admin so they do not depend on the kubeconfig current context.
Add a record_platform_state stage that probes live RHOSO (OpenStackVersion.deployedVersion, OCP API, OpenStackControlPlane Ready) from the shiftstackclient pod and writes platform-state.yaml on the hypervisor in the same schema as the phased recorder. Run the stage after prepare installs oc on the client pod. Pass --context=admin on oc probes so a non-admin current context cannot block OpenStack CR reads. Enable the stage only on monolithic osp_verification* nightlies so warm Pipeline B can reuse Saturday platforms. Phased Pipeline A already records via ci-framework-jobs; Pipeline B stage overrides must not list this stage (redundant). Co-authored-by: Cursor <[email protected]>
7719b14 to
4591830
Compare
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ekuris-redhat 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 |
Summary
Monolithic
osp_verification*jobs now write the phasedplatform-state.yamlcontract on the hypervisor after RHOSO is already deployed, so warm Pipeline B can reuse Saturday platforms.record_platform_statestage/role probes live RHOSO viarhoso_kubeconfig(OpenStackVersion.deployedVersion, OCP/readyz,OpenStackControlPlaneReady) and writes/home/zuul/ci-framework-data/platform-state.yamlon the hypervisor (same schema as ci-framework-jobs phased recorder).playbooks/ocp_testing.yamlwhen the stage is listed.osp_verification.yamlandosp_verification_*_nightly.yamljob definitions.Related
Test plan
cifmw_shiftstack_stages_override./home/zuul/ci-framework-data/platform-state.yamlexists on the hypervisor withplatform_status: readyand liverhoso_version_full.Made with Cursor