Skip to content

[shiftstack] Use GitHub for shiftstack-qa clone and fix false-positive test results - #3922

Open
imatza-rh wants to merge 1 commit into
openstack-k8s-operators:mainfrom
shiftstack:shiftstack-qa-github-clone
Open

[shiftstack] Use GitHub for shiftstack-qa clone and fix false-positive test results#3922
imatza-rh wants to merge 1 commit into
openstack-k8s-operators:mainfrom
shiftstack:shiftstack-qa-github-clone

Conversation

@imatza-rh

@imatza-rh imatza-rh commented May 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Three fixes for the shiftstack CI role:

1. Clone shiftstack-qa from GitHub instead of GerritHub

shiftstack-qa moved code review to GitHub PRs (shiftstack/shiftstack-qa#2). The role default still clones from GerritHub, which is no longer maintained. GerritHub main is 3+ commits behind GitHub main - missing the 4-stable OCP channel switch, lb_tests disable, and .gitreview removal.

  • Change cifmw_shiftstack_qa_repo default to https://github.com/shiftstack/shiftstack-qa
  • Rename cifmw_shiftstack_qa_gerrithub_change to cifmw_shiftstack_qa_change_ref - supports both GitHub PR refs and GerritHub change refs

2. Fix false-positive and connection-drop bugs in exec_command_in_pod.yml

oc exec/rsh connections to the shiftstackclient pod drop after ~38 minutes during long-running tests. The previous fix (marker file + polling) didn't solve it because the marker file write was chained to the same bash process that dies when the connection drops.

Root cause verified from tp!2297 build d349fb73 inner test log: the test ran for 1h 37m inside the pod (Manila StorageClass failure at 14:20 UTC), but oc exec returned after only 38m 50s. The marker file was never created - 720 retries over 2h all got No such file or directory.

Fix: writes the command to a script file, copies it into the pod, then runs it detached via nohup. The process survives oc exec connection drops. Also kills orphaned background processes from previous invocations to prevent marker file poisoning.

Default polling timeout set to 8h (5760 retries x 5s) to cover the full test suite duration. Configurable via cifmw_shiftstack_exec_retries and cifmw_shiftstack_exec_delay, documented in README.md.

Verified on the live shiftstackclient pod (serval70) - 6-case Ansible test suite covering success, exit codes 1/42, dollar-sign commands, orphan kill, retry timeout, and nohup survival after oc exec termination.

3. Increase compute VM memory for osasinfra DT scenario

Increase cifmw_libvirt_manager_compute_memory from 50 to 60 GB in dt-osasinfra.yml. With 24 GB master flavors and ram_allocation_ratio=1.0, two master-sized OCP VMs cannot share a 46 GB compute node (2x24576=49152 MB > 45957 MB schedulable). 60 GB gives ~51 GB usable, (6 GB margin). serval70 has 176 GB free host RAM - the increase adds only 28 GB across 3 computes.

Test plan

  • GitHub clone validated in tp!2297 build 70b1f455 (5h 8m) - OCP installed, cluster checks passed
  • 6-case Ansible test suite on live pod (serval70)
  • nohup survival test: 30s command, oc exec killed at 3s, marker appeared at t+30s
  • YAML syntax + ansible-lint clean
  • Compute memory verified via live Placement API on serval70 (2026-08-06)
  • Testproject re-validation (tp!2499)

@openshift-ci

openshift-ci Bot commented May 10, 2026

Copy link
Copy Markdown
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch 3 times, most recently from 22a3c0d to 4dd8af5 Compare May 11, 2026 13:00
@imatza-rh imatza-rh changed the title [shiftstack] Clone shiftstack-qa from GitHub instead of GerritHub [shiftstack] Use GitHub for shiftstack-qa clone and fix false-positive test results May 11, 2026
@imatza-rh
imatza-rh changed the base branch from stable to main May 11, 2026 13:24
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch 2 times, most recently from b2ab112 to 487590c Compare May 12, 2026 23:49
@github-actions

Copy link
Copy Markdown

This PR is stale because it has been for over 15 days with no activity.
Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions Bot added the Stale label May 28, 2026
@github-actions github-actions Bot closed this Jun 4, 2026
@imatza-rh imatza-rh reopened this Jul 5, 2026
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from 487590c to 2a0c27d Compare July 5, 2026 11:16
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/a8a7b459867545e0b08359d3060ef53c

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 27m 41s
podified-multinode-edpm-deployment-crc POST_FAILURE in 23m 43s
cifmw-crc-podified-edpm-baremetal RETRY_LIMIT in 34m 09s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 14m 08s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 41s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 48s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 20s
✔️ cifmw-molecule-shiftstack SUCCESS in 21m 59s

@github-actions github-actions Bot removed the Stale label Jul 6, 2026
@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@imatza-rh
imatza-rh marked this pull request as ready for review July 9, 2026 11:26
@imatza-rh
imatza-rh requested a review from eshulman2 July 9, 2026 11:26
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from 2a0c27d to c01e57b Compare July 9, 2026 11:56
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from c01e57b to b3ecf49 Compare July 11, 2026 18:31
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from b3ecf49 to 609d972 Compare July 12, 2026 07:57
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/e063f907c8c24f61b37344e5a45e1e32

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 10m 58s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 37m 20s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 50m 36s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 24m 58s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 42s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 53s
cifmw-pod-pre-commit FAILURE in 8m 47s
✔️ cifmw-molecule-shiftstack SUCCESS in 24m 52s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/8ba09498429b42ff9fca043a1ae15022

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 41m 46s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 29m 53s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 45m 30s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 27m 26s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 01s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 06s
cifmw-pod-pre-commit FAILURE in 8m 37s
cifmw-molecule-shiftstack FAILURE in 19m 43s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/120f3ebed42347429c9478a54938ae7c

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 39m 31s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 33m 05s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 59m 57s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 25m 16s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 40s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 25m 30s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 48m 56s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 31s
cifmw-pod-pre-commit FAILURE in 11m 11s
✔️ cifmw-molecule-shiftstack SUCCESS in 23m 34s

@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from f4d8917 to 6397c6c Compare July 16, 2026 13:20
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown

This PR is stale because it has been for over 15 days with no activity.
Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions Bot added the Stale label Aug 1, 2026
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch 3 times, most recently from 6a7e65d to 8e774f7 Compare August 3, 2026 08:45
@imatza-rh
imatza-rh marked this pull request as ready for review August 3, 2026 08:48
@imatza-rh imatza-rh removed the Stale label Aug 3, 2026
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/4d7f1ef24bda40899dfe1ec560f36408

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 49m 16s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 35m 37s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 51m 10s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 20m 13s
✔️ cifmw-pod-zuul-files SUCCESS in 13m 25s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 30m 24s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 44m 20s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 28m 10s
✔️ cifmw-pod-pre-commit SUCCESS in 29m 06s
cifmw-molecule-shiftstack FAILURE in 26m 22s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/70687acb56b642f0ae288bd785d0a53d

openstack-k8s-operators-content-provider FAILURE in 7m 38s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal-minor-update SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ cifmw-pod-zuul-files SUCCESS in 5m 07s
openstack-k8s-operators-content-provider-bootc FAILURE in 8m 55s
⚠️ cifmw-crc-podified-edpm-baremetal-bootc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider-bootc
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 15s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 30s
✔️ cifmw-molecule-shiftstack SUCCESS in 26m 35s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/789a282b1cfd4fb2bf8a8bd7d222b054

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 10m 09s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 35m 51s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 51m 51s
cifmw-crc-podified-edpm-baremetal-minor-update FAILURE in 42m 10s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 13s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 36m 03s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 55m 13s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 9m 42s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 19s
cifmw-molecule-shiftstack FAILURE in 17m 14s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/e5c8ccb69f58453c9ef94c1af4724eeb

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 15m 17s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 32m 18s
cifmw-crc-podified-edpm-baremetal RETRY_LIMIT in 3h 01m 05s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 29m 11s
✔️ cifmw-pod-zuul-files SUCCESS in 6m 00s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 3h 34m 53s
cifmw-crc-podified-edpm-baremetal-bootc RETRY_LIMIT in 3h 00m 54s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 10m 21s
✔️ cifmw-pod-pre-commit SUCCESS in 9m 28s
✔️ cifmw-molecule-shiftstack SUCCESS in 25m 48s

@imatza-rh

Copy link
Copy Markdown
Contributor Author

recheck

@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from 8e774f7 to aa557b7 Compare August 6, 2026 13:15
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

[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 tosky 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

@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from aa557b7 to f0abbe1 Compare August 6, 2026 13:23
…e test results

shiftstack-qa moved code review to GitHub PRs (shiftstack/
shiftstack-qa#2). The role default still clones from
GerritHub, which is no longer maintained.

- Change cifmw_shiftstack_qa_repo default to GitHub
- Rename cifmw_shiftstack_qa_gerrithub_change to
  cifmw_shiftstack_qa_change_ref

Also fix a false-positive bug in exec_command_in_pod.yml
where oc rsh could return rc=0 before the inner command
finished, causing the test to report PASS when the playbook
actually failed. Observed in tp!2297 build d078ccbd - the
shiftstack test ran for only 145s (vs typical 1.5-2h), OCP
was never installed, yet the job reported SUCCESS.

The fix runs the inner command detached via nohup and polls
a marker file for the exit code. This survives connection
drops. Uses kubernetes.core.k8s_exec and k8s_cp modules
for setup tasks; the poll step uses oc exec for resilience
to transient network errors. Process-crash detection via
kill -0 inside the pod catches OOM without polling for 8h.
Diagnostic output fetched in rescue/always blocks restores
stderr visibility lost by the async approach.

Configurable via cifmw_shiftstack_exec_retries (default 5760)
and cifmw_shiftstack_exec_delay (default 5s) for an 8h timeout.

Increase cifmw_libvirt_manager_compute_memory from 50 to 60 GB
in the osasinfra DT scenario. With 24 GB master flavors and
ram_allocation_ratio=1.0, two master-sized VMs cannot share a
46 GB compute (2x24576=49152 > 45957 schedulable). 60 GB gives
~56 GB usable (6 GB margin). serval70 has 176 GB free RAM
on the host - the increase adds only 28 GB across 3 computes.

Related-Issue: #OSPRH-30385

Assisted-By: Claude Code
Signed-off-by: Itay Matza <imatza@redhat.com>
@imatza-rh
imatza-rh force-pushed the shiftstack-qa-github-clone branch from f0abbe1 to c145d21 Compare August 6, 2026 13:43
@centosinfra-prod-github-app

Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://gateway-cloud-softwarefactory.apps.ocp.cloud.ci.centos.org/zuul/t/rdoproject.org/buildset/8f86b25bb1c34f5e829d42828f035d54

✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 35m 11s
✔️ podified-multinode-edpm-deployment-crc SUCCESS in 1h 33m 00s
✔️ cifmw-crc-podified-edpm-baremetal SUCCESS in 1h 47m 58s
✔️ cifmw-crc-podified-edpm-baremetal-minor-update SUCCESS in 2h 22m 20s
✔️ cifmw-pod-zuul-files SUCCESS in 5m 19s
✔️ openstack-k8s-operators-content-provider-bootc SUCCESS in 2h 26m 52s
✔️ cifmw-crc-podified-edpm-baremetal-bootc SUCCESS in 1h 51m 43s
✔️ noop SUCCESS in 0s
✔️ cifmw-pod-ansible-test SUCCESS in 8m 46s
✔️ cifmw-pod-pre-commit SUCCESS in 8m 45s
cifmw-molecule-shiftstack FAILURE in 16m 29s

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants