Skip to content

Comments

Add release-tracker-workflow pipeline for Shaman-based RC testing#2539

Open
deepssin wants to merge 1 commit intoceph:mainfrom
deepssin:release-tracker-workflow
Open

Add release-tracker-workflow pipeline for Shaman-based RC testing#2539
deepssin wants to merge 1 commit intoceph:mainfrom
deepssin:release-tracker-workflow

Conversation

@deepssin
Copy link

This adds a Jenkins pipeline to automate RC testing for release trackers: resolve or pass a Ceph SHA1, wait for it on Shaman, schedule teuthology suites (in parallel), aggregate results, and optionally post to Redmine and send email. There is no build step; the pipeline assumes the SHA1 is already available on shaman.
Note: The job needs to run on a teuthology agent (that means we need to add teuthology-node as an agent). The pipeline is parameterized (e.g. AGENT_LABEL, teuthology paths, Paddles/Pulpito URLs) so it can be adapted to different environments.

This is meant as a starting point for discussion—defaults and layout may need to change depending on how we want to run this in production (e.g. which Jenkins, which agents, credentials). Happy to adjust based on feedback.

Signed-off-by: deepssin <deepssin@redhat.com>
string(name: 'CEPH_REPO', defaultValue: 'https://github.com/ceph/ceph.git')
string(name: 'CEPH_BRANCH', defaultValue: 'main')
string(name: 'CEPH_SHA1', defaultValue: '', description: 'Optional: Ceph commit SHA1 to use. If set, run on this SHA1 (must exist on Shaman). Empty = resolve from branch tip.')
string(name: 'RELEASE_VERSION', defaultValue: '')
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a release version of Ceph? Like a tag?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes , that's right.

@dmick
Copy link
Member

dmick commented Feb 17, 2026

What is a release tracker?

@deepssin
Copy link
Author

What is a release tracker?

The tracker meant for a Ceph release like below -
https://tracker.ceph.com/issues/72316
https://tracker.ceph.com/issues/73906

steps {
script {
def w = "${env.PIPELINE_DIR}/scripts/wait_for_shaman_sha1.py"
if (fileExists(w)) sh "python3 ${w} --branch ${params.CEPH_BRANCH} --sha1 ${env.SHA1} --timeout ${params.SHAMAN_WAIT_TIMEOUT} --interval ${params.SHAMAN_WAIT_INTERVAL}"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's say Ubuntu builds always take 1 hour and CentOS builds always take 2 hours. How does this handle shaman saying, "Yes, Ubuntu is done?" Won't this proceed with scheduling a run for CentOS and Ubuntu because we're not checking for all distros?

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.

3 participants