]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/log
ceph-build.git
2 weeks agoceph-dev-pipeline: pin podman auth to a persistent authfile 2656/head
David Galloway [Wed, 15 Jul 2026 20:18:08 +0000 (16:18 -0400)]
ceph-dev-pipeline: pin podman auth to a persistent authfile

Same fix as aae7f2fd applied to the builder container stage. The
Jenkins agent runs as a systemd service with no login session and no
XDG_RUNTIME_DIR, so podman derives the default auth.json location from
ambient node state at each invocation: /run/user/<uid> if it exists
(which depends on linger/session state), else fallback dirs under /tmp.
All of these are runtime tmpfs paths whose lifecycle is owned by
logind, systemd-tmpfiles, or podman's fallback heuristics rather than
by the job.

We observed a job where podman login succeeded and the base image pull
inside build-with-container.py went anonymous sixty seconds later on
the same node, hitting Docker Hub's unauthenticated per-IP rate limit
(toomanyrequests). The exact event that made the credentials
unavailable is still under investigation, but pinning the authfile to
persistent storage in $HOME removes the dependency on runtime tmpfs
state entirely.

Because each Jenkins sh step runs a fresh shell, REGISTRY_AUTH_FILE is
set via env at the Groovy level so every subsequent sh step in the
matrix cell resolves the same file, including the build stage's
build-with-container.py runs (which we cannot pass --authfile to) and
the container stage's build_container.

Refs: https://tracker.ceph.com/issues/77920

Signed-off-by: David Galloway <david.galloway@ibm.com>
2 weeks agoMerge pull request #2655 from ceph/builder-reimage-fix
Jitendra Sahu [Wed, 15 Jul 2026 15:06:20 +0000 (20:36 +0530)]
Merge pull request #2655 from ceph/builder-reimage-fix

builder-reimage: improve Ansible SSH failure handling

2 weeks agobuilder-reimage: improve Ansible SSH failure handling 2655/head
jitendrasahu1803 [Fri, 10 Jul 2026 20:54:19 +0000 (16:54 -0400)]
builder-reimage: improve Ansible SSH failure handling

2 weeks agoMerge pull request #2654 from ceph/builder-playbook-fix
David Galloway [Wed, 15 Jul 2026 14:17:05 +0000 (10:17 -0400)]
Merge pull request #2654 from ceph/builder-playbook-fix

builder.yml: fix CentOS 9 libvirt builder setup

2 weeks agobuilder.yml: simplify libvirt RPM setup 2654/head
jitendrasahu1803 [Wed, 15 Jul 2026 07:45:09 +0000 (13:15 +0530)]
builder.yml: simplify libvirt RPM setup

2 weeks agoMerge pull request #2636 from anshuman-agarwala/ppc-ut-fix
Zack Cerza [Tue, 14 Jul 2026 23:31:25 +0000 (17:31 -0600)]
Merge pull request #2636 from anshuman-agarwala/ppc-ut-fix

Fixed issues in ppc-ut job.

2 weeks agobuilder.yml: avoid get_url SSL failure for agent.jar download
jitendrasahu1803 [Tue, 14 Jul 2026 12:14:02 +0000 (17:44 +0530)]
builder.yml: avoid get_url SSL failure for agent.jar download

2 weeks agobuilder.yml: avoid krb5 source build on EL9
jitendrasahu1803 [Tue, 14 Jul 2026 10:49:50 +0000 (16:19 +0530)]
builder.yml: avoid krb5 source build on EL9

2 weeks agobuilder.yml: fix libvirt-devel install on CentOS 9
jitendrasahu1803 [Tue, 14 Jul 2026 07:49:16 +0000 (13:19 +0530)]
builder.yml: fix libvirt-devel install on CentOS 9

2 weeks agoMerge pull request #2652 from ceph/br-fix
David Galloway [Mon, 13 Jul 2026 14:00:33 +0000 (10:00 -0400)]
Merge pull request #2652 from ceph/br-fix

builder-reimage fixes and improvements

3 weeks agoMerge pull request #2653 from ceph/jjb-skip-cve
David Galloway [Sat, 11 Jul 2026 13:33:23 +0000 (09:33 -0400)]
Merge pull request #2653 from ceph/jjb-skip-cve

3 weeks agojenkins-job-builder: skip the CVE jobs 2653/head
David Galloway [Fri, 10 Jul 2026 22:51:10 +0000 (18:51 -0400)]
jenkins-job-builder: skip the CVE jobs

Skip cve-pipeline and cve-source-dist in the update loop and exclude
them from the deletion pass so they aren't removed for lacking test
XML.  Changes to those jobs must be made manually by a Jenkins admin.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2651 from ceph/wip-pulp-upload-fixes
David Galloway [Fri, 10 Jul 2026 22:44:36 +0000 (18:44 -0400)]
Merge pull request #2651 from ceph/wip-pulp-upload-fixes

enhancement: split `Chacra` and `Pulp` upload into independent pipeline stages

3 weeks agoceph-dev-pipeline: verify the chacra repo URL answers before trusting shaman 2651/head
David Galloway [Fri, 10 Jul 2026 22:39:39 +0000 (18:39 -0400)]
ceph-dev-pipeline: verify the chacra repo URL answers before trusting shaman

Follow-up to the shaman-based chacra existence check: a ready repo
record can outlive the repo it points at (chacra nodes get rotated or
rebuilt, and shaman has been observed reporting "no healthy chacra
nodes" while ready records remained).  Skipping compilation on the
strength of a stale record would leave consumers with a dead repo URL,
so extract the record's chacra_url and require it to answer 2xx; any
failure falls back to rebuilding.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agobuilder-reimage: retain network configuration when commissioning 2652/head
David Galloway [Fri, 10 Jul 2026 21:13:46 +0000 (17:13 -0400)]
builder-reimage: retain network configuration when commissioning

Pass skip_networking=True to machine.commission(), the API equivalent
of checking "Retain network configuration" in the MAAS UI, so a
machine commissioned by the reimage job keeps its existing interface
configuration instead of having it replaced by whatever commissioning
discovers.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agobuilder-reimage: add CEPH_BUILD_BRANCH parameter
David Galloway [Fri, 10 Jul 2026 20:58:01 +0000 (16:58 -0400)]
builder-reimage: add CEPH_BUILD_BRANCH parameter

Add the same CEPH_BUILD_BRANCH functionality ceph-dev-pipeline has: a
string parameter (default main) wired into the pipeline-scm branch
spec, so the Jenkinsfile and 'checkout scm' contents can be taken from
a ceph-build branch under test.

Unlike ceph-dev-pipeline, this job also clones ceph-build at runtime
via prepare_env.sh (ansible_runner.sh runs playbooks from
repos/main/ansible), so pass the branch through as a new optional
seventh argument and clone that branch. Also fix the usage comment,
which had the main/ansible repo argument order swapped.

Drop the top-level scm block from the JJB definition: jenkins-jobs
discards it for pipeline project-type jobs (verified the generated XML
is identical with and without it), so it was dead config.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agobuilder-reimage: fix SSH key not being used for git clones
David Galloway [Fri, 10 Jul 2026 20:54:19 +0000 (16:54 -0400)]
builder-reimage: fix SSH key not being used for git clones

The Prepare stage copied the ansible-ssh-key credential into the
workspace but never exported GIT_SSH_COMMAND, and prepare_env.sh only
looked for a key at /tmp/jenkins_git_key, which nothing creates. The
ceph-cm-ansible clone therefore ran without a key and failed with
'Permission denied (publickey)'.

Export GIT_SSH_COMMAND in the Prepare stage (as the Ansible stage
already does) and drop the dead /tmp key path from prepare_env.sh so
clones and fetches both inherit the caller's GIT_SSH_COMMAND. Also pass
$SSH_KEY to the shell instead of interpolating it in Groovy, clearing
the insecure-interpolation warning.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agosetup_chacractl: fail when shaman has no healthy chacra nodes
David Galloway [Fri, 10 Jul 2026 18:17:36 +0000 (14:17 -0400)]
setup_chacractl: fail when shaman has no healthy chacra nodes

shaman's /api/nodes/next/ answers 404 with an HTML error page when it
has no healthy chacra node to allocate; without -f, curl captured that
page and setup_chacractl.sh wrote it into ~/.chacractl as the url.
Fail the curl instead.

Also run setup_chacractl.sh from the chacra upload stage rather than
the check stage: the existence check asks shaman now, so chacra being
unhealthy only fails cells that actually need to upload to chacra
(the upload stage's environment{} provides the credentials).

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agobuild_container: fix the shaman repo readiness wait
David Galloway [Fri, 10 Jul 2026 16:54:56 +0000 (12:54 -0400)]
build_container: fix the shaman repo readiness wait

Two problems in the wait loop:

- It only inspected .[0] of the shaman search result, but shaman holds
  several repo records for the same sha1 (one per backend and per
  uploading job).  Observed: .[0] was the chacra record posted by the
  production ceph-dev-pipeline building the same main sha1, whose
  extra.build_url could never match this build's, so the loop always
  timed out even though this build's own (pulp) record was ready at
  .[1].  Scan all records instead.

- The skipped-compilation escape hatch keyed off the CI_COMPILE
  parameter, which stays "true" when the artifact-existence check is
  what skipped compilation.  The pipeline now exports UPLOADED (this
  cell compiled, THROWAWAY off, at least one backend enabled); when
  false, any ready record for this sha1 satisfies the wait.

Also make the timeout fatal: it used to print FAIL and build the
container anyway, which either fails later in the Containerfile or
silently bakes stale packages.  Now that the readiness check is
accurate, a timeout is a real error.  Note THROWAWAY=true with
CI_CONTAINER=true now fails cleanly when the sha1 was never published
anywhere, instead of building an image from whatever shaman had.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-dev-pipeline: only skip compilation when every enabled backend has the build
David Galloway [Fri, 10 Jul 2026 16:48:15 +0000 (12:48 -0400)]
ceph-dev-pipeline: only skip compilation when every enabled backend has the build

shouldSkipCompilation() treated the existence checks as an OR: if
either Chacra or Pulp already had the build, compilation was skipped
entirely -- which also skipped the upload to the backend that was
missing it.  Observed with PULP_UPLOAD and CHACRA_UPLOAD both enabled:
pulp had the distribution, the chacra check came back empty, and the
cell skipped straight past both uploads, so chacra never received the
build.

Skip compilation only when every enabled backend already has the build
(disabled backends don't count), and when compilation does run because
one backend was missing, skip the upload stage of the backend that
already had it (unless FORCE) so packages aren't blindly re-pushed.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2650 from ceph/crp-64k
David Galloway [Fri, 10 Jul 2026 17:04:48 +0000 (13:04 -0400)]
Merge pull request #2650 from ceph/crp-64k

ceph-release-pipeline: use @Field for top-level variables

3 weeks agoceph-dev-pipeline: check for existing chacra builds via shaman
David Galloway [Fri, 10 Jul 2026 16:34:01 +0000 (12:34 -0400)]
ceph-dev-pipeline: check for existing chacra builds via shaman

setup_chacractl.sh points chacractl at whichever chacra node shaman's
/api/nodes/next/ hands out, which is a round-robin upload allocator.
`chacractl exists` against that node only finds a previous build's
binaries when the rotation happens to land on the same node the build
uploaded to: observed binaries on 2.chacra.ceph.com while the check
404'd against 1.chacra.ceph.com.  This predates the stage split but now
gates compilation.

Ask shaman instead, which records which node holds each build: a
"ready" repo record for this project/ref/sha1/distro/arch/flavor with
a chacra.ceph.com chacra_url.  Pulp repo records live in the same
shaman collection, so filter on chacra_url.  setup_chacractl.sh still
runs here to configure ~/.chacractl for the upload stage.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2649 from ceph/job-mod-test
David Galloway [Fri, 10 Jul 2026 15:53:20 +0000 (11:53 -0400)]
Merge pull request #2649 from ceph/job-mod-test

README: Update "testing changes" section

3 weeks agoceph-dev-pipeline: report the flavor-level pulp repo URL to shaman
David Galloway [Fri, 10 Jul 2026 14:36:03 +0000 (10:36 -0400)]
ceph-dev-pipeline: report the flavor-level pulp repo URL to shaman

The repo record's url pointed at the per-arch distribution
(.../flavors/default/x86_64/), but noarch/, x86_64/ and SRPMS/ are
sibling distributions under the flavor path, not subdirectories of each
other.  Consumers follow chacra's convention of a flavor-level URL:
ceph.git's Containerfile appends noarch/Packages/... to the shaman url
to fetch the ceph-release RPM, which 404'd against the arch-level URL
and failed the CI container build.

The per-arch repository API href in chacra_url (from pulp_repo_info) is
unchanged, so the x86_64 and arm64 cells still post distinct records.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoremove the dead TEST='test' chacra ref logic
David Galloway [Thu, 9 Jul 2026 19:10:08 +0000 (15:10 -0400)]
remove the dead TEST='test' chacra ref logic

The TEST parameter was meant to push release packages to chacra under
the 'test' ref, but the logic has been dead for a while: neither
ceph-dev-pipeline.yml defines a TEST parameter nor does
ceph-release-pipeline forward one when triggering the build.  It was
also broken if ever enabled (env.SHA1[0..6] on the 4-character 'test'
string throws).  Remove the ref override from doUploadChacraStage and
the unused TEST parameter from ceph-release-pipeline.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agopulp_upload.sh: include the flavor in repository and distribution names
David Galloway [Thu, 9 Jul 2026 19:09:31 +0000 (15:09 -0400)]
pulp_upload.sh: include the flavor in repository and distribution names

Repository names were branch/os/version-scoped and distribution names
derived from them, so default and debug builds of the same branch/sha1
shared repositories and produced identically named distributions: the
stale-distribution delete would clobber one flavor's distribution with
the other's, and both flavors' packages mixed in one repository even
though their base_paths are flavor-specific.

Add FLAVOR to REPO_NAME, which flows into the per-arch repository names
and the dist-<repo>-<short_sha1> distribution names, and update the
existence check in the ceph-dev-pipeline Jenkinsfile to match.

Distributions created under the old naming may still own a base_path
(base_paths are unique in pulp), so also delete any differently named
distribution occupying the base_path before creating the new one.
Existing repositories with unflavored names are left in place and can
be cleaned up manually.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-release-pipeline: pass boolean parameters as booleans
David Galloway [Thu, 9 Jul 2026 16:28:45 +0000 (12:28 -0400)]
ceph-release-pipeline: pass boolean parameters as booleans

The ceph-dev-pipeline and second ceph-tag invocations passed env values
(strings) straight to booleanParam, unlike the first ceph-tag
invocation which converts with .toBoolean().  Downstream now compares
params.THROWAWAY == false strictly, so make sure the values arrive as
actual booleans.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agopulp_upload.sh: use the rpm arch for the repository handoff lookup
David Galloway [Thu, 9 Jul 2026 16:28:25 +0000 (12:28 -0400)]
pulp_upload.sh: use the rpm arch for the repository handoff lookup

The final `pulp repository show --name ${REPO_NAME}-${ARCH}` uses the
Jenkins matrix arch (arm64), but rpm repositories are created per rpm
arch (aarch64) by the upload loop.  For arm64 rpm builds the lookup
fails after all uploads succeeded and, under set -e, kills the script,
failing the stage.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agocve-pipeline: add FORCE parameter
David Galloway [Thu, 9 Jul 2026 16:28:09 +0000 (12:28 -0400)]
cve-pipeline: add FORCE parameter

cve-pipeline runs the ceph-dev-pipeline Jenkinsfile, which consults
FORCE to decide whether to rebuild and re-upload when artifacts already
exist in Chacra or Pulp.  Without the parameter, env.FORCE is unset and
a CVE rebuild of an already-uploaded sha1 always skips compilation with
no way to override short of THROWAWAY=true.

Also sync the THROWAWAY description with ceph-dev-pipeline's.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-dev-pipeline: key build_matrix by flavor and fix FLAVOR axis
David Galloway [Thu, 9 Jul 2026 16:26:26 +0000 (12:26 -0400)]
ceph-dev-pipeline: key build_matrix by flavor and fix FLAVOR axis

build_matrix was keyed by "${DIST}_${ARCH}" but the matrix has a
FLAVOR axis, so the default and debug cells of the same dist/arch
shared one key: when the artifact check found existing default
artifacts and set the key false, it cancelled the debug cell's build
too (and vice versa), even though the chacra endpoints and pulp
distributions are flavor-specific.  Include FLAVOR in the key
everywhere build_matrix is read or written.

Also declare the FLAVOR axis with `axis` instead of a nested `axes`
block, which is not valid declarative matrix syntax.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoenhancement: split `Chacra` and `Pulp` upload into independent pipeline stages
Vaibhav Mahajan [Thu, 9 Jul 2026 19:07:32 +0000 (15:07 -0400)]
enhancement: split `Chacra` and `Pulp` upload into independent pipeline stages

Refactor the ceph-dev-pipeline build job so Chacra and Pulp uploads are
independently configurable and run as separate Jenkins stages.

Signed-off-by: Vaibhav Mahajan <vamahaja@redhat.com>
Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2646 from ceph/cdp-trixie
Casey Bodley [Thu, 9 Jul 2026 15:50:19 +0000 (11:50 -0400)]
Merge pull request #2646 from ceph/cdp-trixie

ceph-dev-pipeline: Add trixie to build matrix

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 weeks agoceph-release-pipeline: use @Field for top-level variables 2650/head
David Galloway [Thu, 9 Jul 2026 14:43:12 +0000 (10:43 -0400)]
ceph-release-pipeline: use @Field for top-level variables

SCRIPT_SPLITTING_TRANSFORMATION (JENKINS-37984) is enabled on
jenkins.ceph.com to keep ceph-dev-pipeline under the JVM 64KB method
limit. That flag rejects Declarative pipelines with script-level local
variable declarations, so ceph-release-pipeline failed to compile:

  General error during semantic analysis: [JENKINS-37984]
  SCRIPT_SPLITTING_TRANSFORMATION is ... incompatible with local
  variable declarations inside a Jenkinsfile.

Annotate the cross-stage variables with @Field, same as was done for
ceph-dev-pipeline-trigger in c898b349. Audited all other Declarative
Jenkinsfiles in the repo; no other job has script-level variable
declarations.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoREADME: Update "testing changes" section 2649/head
David Galloway [Thu, 9 Jul 2026 13:59:22 +0000 (09:59 -0400)]
README: Update "testing changes" section

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2645 from ceph/cve-pipeline2
David Galloway [Thu, 9 Jul 2026 13:35:24 +0000 (09:35 -0400)]
Merge pull request #2645 from ceph/cve-pipeline2

CVE pipeline

3 weeks agoMerge pull request #2648 from shraddhaag/enable-noble
Shraddha Agrawal [Thu, 9 Jul 2026 13:33:42 +0000 (19:03 +0530)]
Merge pull request #2648 from shraddhaag/enable-noble

introduce noble debug builds

3 weeks agointroduce noble debug builds 2648/head
Shraddha Agrawal [Mon, 22 Jun 2026 06:55:49 +0000 (12:25 +0530)]
introduce noble debug builds

This commit introduces debug builds for noble which can be used for
integration testing.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
3 weeks agoMerge pull request #2647 from knrt10/fix-ceph-perf-timeout
Kautilya Tripathi [Thu, 9 Jul 2026 03:10:00 +0000 (08:40 +0530)]
Merge pull request #2647 from knrt10/fix-ceph-perf-timeout

ceph-perf: bound CBT hangs and make comment triggers reliable

3 weeks agoceph-perf: bound CBT hangs and make comment triggers reliable 2647/head
Kautilya Tripathi [Thu, 9 Jul 2026 02:56:30 +0000 (08:26 +0530)]
ceph-perf: bound CBT hangs and make comment triggers reliable

radosbench prefill has wedged bath01 for days with no job timeout.
Cap each run-cbt.sh at 1h and the job at 8h, kill leftover Ceph
processes around CBT, and require an explicit "jenkins test
{osd-flavor} perf" comment so label-only auto-builds do not queue
forever on a stuck performance node.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
3 weeks agoceph-dev-pipeline: Add trixie to build matrix 2646/head
Zack Cerza [Wed, 8 Jul 2026 20:58:57 +0000 (14:58 -0600)]
ceph-dev-pipeline: Add trixie to build matrix

Signed-off-by: Zack Cerza <zack@cerza.org>
3 weeks agoMerge pull request #2643 from ceph/64k
David Galloway [Wed, 8 Jul 2026 20:52:25 +0000 (16:52 -0400)]
Merge pull request #2643 from ceph/64k

jenkins: enable Declarative script splitting to fix "Method too large" pipeline failures

3 weeks agoceph-dev-pipeline: Pulp repo support in ceph-release RPM's ceph.repo 2645/head
David Galloway [Wed, 17 Jun 2026 13:12:13 +0000 (09:12 -0400)]
ceph-dev-pipeline: Pulp repo support in ceph-release RPM's ceph.repo

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-dev-pipeline: Notify shaman of pulp repo URLs
David Galloway [Fri, 12 Jun 2026 18:20:23 +0000 (14:20 -0400)]
ceph-dev-pipeline: Notify shaman of pulp repo URLs

Mirror chacra's shaman repo records: 'url' points at the browsable
package repo (the Pulp content distribution for this arch) and
'chacra_url' points at the repository's API endpoint
(/pulp/api/v3/repositories/...).

pulp_upload.sh hands off the repository's API href and the package
manager version to the notify script via $WORKSPACE/pulp_repo_info.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-dev-pipeline: Add CHACRA_UPLOAD parameter
David Galloway [Thu, 2 Jul 2026 13:54:24 +0000 (09:54 -0400)]
ceph-dev-pipeline: Add CHACRA_UPLOAD parameter

This logic was chosen to preserve the logic the THROWAWAY parameter
provides regardless of package repository choice.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agocve-pipeline: Creation
David Galloway [Thu, 11 Jun 2026 20:27:10 +0000 (16:27 -0400)]
cve-pipeline: Creation

This enables us to build packages and containers from ceph-private.git privately.
This includes Jenkins build logs, artifacts, packages, and containers.

Packages will be pushed to the internal-only pulp instance and containers
to the internal-only quay instance.

To avoid job duplication, each job pulls in the respective Jenkinsfiles e.g.,
  - cve-pipeline -> ceph-dev-pipeline
  - cve-source-dist -> ceph-source-dist

The only difference is the parameters we pass to the job.  The key differences
there are CEPH_REPO points to ceph-private.git whereas ceph-dev-pipeline is
not capable of doing so.  We also tell the pipeline not to use a public
chacra instance.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoceph-dev-pipeline-trigger: use @Field for top-level variable 2643/head
David Galloway [Tue, 7 Jul 2026 13:41:27 +0000 (09:41 -0400)]
ceph-dev-pipeline-trigger: use @Field for top-level variable

The Declarative script splitting transformation being enabled on the
controller rejects pipelines that declare top-level local variables.
Convert the params list to a @Field, renamed to build_params to avoid
clobbering Jenkins pipeline's 'params' predefined global variable.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agojenkins: enable Declarative script splitting to avoid 64KB method limit
David Galloway [Tue, 7 Jul 2026 13:41:17 +0000 (09:41 -0400)]
jenkins: enable Declarative script splitting to avoid 64KB method limit

The ceph-dev-pipeline matrix fails to compile with 'Method too large:
WorkflowScript.___cps___NNN' when new cells are added (e.g. noble debug
builds, #2622), because the Declarative RuntimeASTTransformer emits the
entire pipeline model as a single method. Extracting stage bodies into
helper functions (#2621) does not help since the per-cell model
boilerplate dominates.

Enable the script splitting transformation (JENKINS-37984), which
splits the generated model into multiple methods so no single one hits
the JVM's 64KB bytecode limit.

Signed-off-by: David Galloway <david.galloway@ibm.com>
3 weeks agoMerge pull request #2642 from ceph/wip-77920
David Galloway [Mon, 6 Jul 2026 15:06:02 +0000 (11:06 -0400)]
Merge pull request #2642 from ceph/wip-77920

bwc: pin podman auth to a persistent authfile

3 weeks agoMerge pull request #2618 from ceph/pulp-repos
David Galloway [Mon, 6 Jul 2026 14:21:39 +0000 (10:21 -0400)]
Merge pull request #2618 from ceph/pulp-repos

enhancement: create Pulp repositories with labels before upload

4 weeks agoenhancement: create Pulp repositories with labels before upload 2618/head
Vaibhav Mahajan [Thu, 18 Jun 2026 10:20:42 +0000 (15:50 +0530)]
enhancement: create Pulp repositories with labels before upload

Add repository creation to the Pulp upload flow so CI jobs ensure the
target repo exists and carries labels discovery metadata before packages
are uploaded.

- Add `create_pulp_repository()` to idempotently create `rpm`/`deb`
  repositories, apply metadata labels as JSON and honor `retain-repo-versions`.
- Extract `get_pulp_distribution_labels()` and reuse it for both
  repository and distribution label application.
- Refactor `publish_pulp_distribution()` to use the shared label helper.
- Require `BRANCH` from the environment instead of deriving it from
  `CEPH_VERSION` via `release_from_version()`

Signed-off-by: Vaibhav Mahajan <vamahaja@redhat.com>
4 weeks agobwc: pin podman auth to a persistent authfile 2642/head
David Galloway [Thu, 2 Jul 2026 22:21:21 +0000 (18:21 -0400)]
bwc: pin podman auth to a persistent authfile

podman login was writing credentials to the default location under
XDG_RUNTIME_DIR (/run/user/<uid>), which is logind-managed tmpfs. The
Jenkins agent runs without XDG_RUNTIME_DIR set, so the runtime dir can
be torn down or re-resolved between bwc_login and the podman build it
is meant to authenticate. When that happens, the base image pull inside
build-with-container.py silently falls back to anonymous and hits
Docker Hub's per-IP unauthenticated rate limit (toomanyrequests), e.g.:

  https://jenkins.ceph.com/job/ceph-pull-requests-arm64/99076/

Set REGISTRY_AUTH_FILE to a persistent path in $HOME and pass
--authfile to podman login so login and all subsequent podman/buildah
invocations in the job resolve the same credential file regardless of
session state.

Fixes: https://tracker.ceph.com/issues/77920
Signed-off-by: David Galloway <david.galloway@ibm.com>
4 weeks agoMerge pull request #2641 from ceph/revert-2622-wip-shraddhaag-add-debug-noble
David Galloway [Thu, 2 Jul 2026 14:14:42 +0000 (10:14 -0400)]
Merge pull request #2641 from ceph/revert-2622-wip-shraddhaag-add-debug-noble

Revert "introduce noble debug builds"

4 weeks agoRevert "introduce noble debug builds" 2641/head
Shraddha Agrawal [Thu, 2 Jul 2026 14:13:55 +0000 (19:43 +0530)]
Revert "introduce noble debug builds"

4 weeks agoMerge pull request #2622 from shraddhaag/wip-shraddhaag-add-debug-noble
David Galloway [Thu, 2 Jul 2026 13:11:39 +0000 (09:11 -0400)]
Merge pull request #2622 from shraddhaag/wip-shraddhaag-add-debug-noble

introduce noble debug builds

4 weeks agoMerge pull request #2640 from tchaikov/wip-ceph-win
Kefu Chai [Thu, 2 Jul 2026 06:23:20 +0000 (14:23 +0800)]
Merge pull request #2640 from tchaikov/wip-ceph-win

Revert "ceph-windows: actually disable the mgr for the vstart cluster"

Reviewed-by: Ville Ojamo <git2233+ceph@ojamo.eu>
4 weeks agoRevert "ceph-windows: actually disable the mgr for the vstart cluster" 2640/head
Kefu Chai [Thu, 2 Jul 2026 05:57:18 +0000 (13:57 +0800)]
Revert "ceph-windows: actually disable the mgr for the vstart cluster"

turns out vstart.sh depends on mgr, and windows test uses vstart.sh
to start a cluter for running tests.

This reverts commit ed61da39dff87518e2779727c62d509f4a7ebd2c.

4 weeks agointroduce noble debug builds wip-shraddhaag-add-debug-noble 2622/head
Shraddha Agrawal [Mon, 22 Jun 2026 06:55:49 +0000 (12:25 +0530)]
introduce noble debug builds

This commit introduces debug builds for noble which can be used for
integration testing.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
4 weeks agoMerge pull request #2621 from shraddhaag/refactor-matrix-stage-script
David Galloway [Wed, 1 Jul 2026 15:00:10 +0000 (11:00 -0400)]
Merge pull request #2621 from shraddhaag/refactor-matrix-stage-script

ceph-dev-pipeline: extract matrix stage script bodies into helper funcs

4 weeks agoMerge pull request #2630 from tchaikov/wip-windows-vstart-disable-mgr
David Galloway [Wed, 1 Jul 2026 14:17:17 +0000 (10:17 -0400)]
Merge pull request #2630 from tchaikov/wip-windows-vstart-disable-mgr

ceph-windows: actually disable the mgr for the vstart cluster

4 weeks agoceph-dev-pipeline: extract matrix stage script bodies into helper funcs 2621/head
Shraddha Agrawal [Mon, 22 Jun 2026 06:30:39 +0000 (12:00 +0530)]
ceph-dev-pipeline: extract matrix stage script bodies into helper funcs

Problem: We were hitting JVM's 64KB bytecode limit when adding new
distros to the matrix stage script.

Solution: Add helper functions for each stage in the matrix stage
script, such that the original block is significantly reduced, thus
ensuring we do not hit the JVM's 64KB limit again. This will also ensure
we can keep extending the matrix with more distros without worrying
about this issue.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
4 weeks agoMerge pull request #2638 from knrt10/fix-venv-ceph-perf
Kautilya Tripathi [Mon, 29 Jun 2026 14:56:42 +0000 (20:26 +0530)]
Merge pull request #2638 from knrt10/fix-venv-ceph-perf

ceph-perf: install mdutils and run CBT under gh-venv

4 weeks agoceph-perf: install mdutils and run CBT under gh-venv 2638/head
Kautilya Tripathi [Mon, 29 Jun 2026 11:39:45 +0000 (17:09 +0530)]
ceph-perf: install mdutils and run CBT under gh-venv

cbt imports mdutils but ceph/cbt master requirements.txt does not
list it. Install mdutils into gh-venv, put the venv on PATH for
run-cbt.sh, and invoke compare.py via python3 so its /usr/bin/python3
shebang is not used. Only skip CBT runs when the archive dir already
has results, and fail the step if the archive is empty after run-cbt.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
4 weeks agoMerge pull request #2637 from knrt10/fix-arg-perf-test
Kautilya Tripathi [Mon, 29 Jun 2026 09:20:16 +0000 (14:50 +0530)]
Merge pull request #2637 from knrt10/fix-arg-perf-test

ceph-perf: default unset CEPH_PERF_EXTRA_CMAKE_ARGS for set -u

4 weeks agoceph-perf: default unset CEPH_PERF_EXTRA_CMAKE_ARGS for set -u 2637/head
Kautilya Tripathi [Mon, 29 Jun 2026 09:05:14 +0000 (14:35 +0530)]
ceph-perf: default unset CEPH_PERF_EXTRA_CMAKE_ARGS for set -u

run-cbt uses set -euxo pipefail, but the optional Jenkins parameter is not
always exported into the shell environment. Use ${CEPH_PERF_EXTRA_CMAKE_ARGS:-}
so PR-triggered builds do not fail before cmake.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
4 weeks agoFixed issues in ppc-ut job. 2636/head
Anshuman [Mon, 29 Jun 2026 05:27:26 +0000 (10:57 +0530)]
Fixed issues in ppc-ut job.

Signed-off-by: Anshuman <anshuman@ibm.com>
4 weeks agoMerge pull request #2634 from knrt10/fix-shebang
Kautilya Tripathi [Mon, 29 Jun 2026 04:13:24 +0000 (09:43 +0530)]
Merge pull request #2634 from knrt10/fix-shebang

ceph-perf: run run-cbt under bash on Jenkins

4 weeks agoceph-perf: run run-cbt under bash on Jenkins 2634/head
Kautilya Tripathi [Mon, 29 Jun 2026 03:25:35 +0000 (08:55 +0530)]
ceph-perf: run run-cbt under bash on Jenkins

Jenkins invokes shell steps as /bin/sh -xe when there is no shebang.
On Noble that is dash, which rejects set -o pipefail. Add #!/bin/bash
so Jenkins runs the run-cbt builder with bash.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
5 weeks agoMerge pull request #2623 from ceph/pulp-registry-upload
Zack Cerza [Fri, 26 Jun 2026 21:02:33 +0000 (15:02 -0600)]
Merge pull request #2623 from ceph/pulp-registry-upload

Add optional Pulp container registry upload to ceph-dev-pipeline.

5 weeks agoMerge pull request #2633 from ceph/wip-kernel-perl
Ilya Dryomov [Fri, 26 Jun 2026 19:16:44 +0000 (21:16 +0200)]
Merge pull request #2633 from ceph/wip-kernel-perl

kernel: install perl

Reviewed-by: Dan Mick <dan.mick@redhat.com>
5 weeks agokernel: install perl 2633/head
Ilya Dryomov [Fri, 26 Jun 2026 12:25:39 +0000 (14:25 +0200)]
kernel: install perl

perl has been required for building the Linux kernel for a long time
but it's not installed explicitly.

  error: Failed build dependencies:
   perl is needed by kernel-7.1.0_g0248d0a325dc-1.x86_64
  make[2]: *** [scripts/Makefile.package:75: binrpm-pkg] Error 11

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
5 weeks agoMerge pull request #2632 from knrt10/fix-pyjwt-version
Kautilya Tripathi [Thu, 25 Jun 2026 15:59:03 +0000 (21:29 +0530)]
Merge pull request #2632 from knrt10/fix-pyjwt-version

ceph-perf: fix github-check JWT iss with github3 from git

5 weeks agoceph-perf: pin pyjwt<2.11 for github-check 2632/head
Kautilya Tripathi [Thu, 25 Jun 2026 15:33:18 +0000 (21:03 +0530)]
ceph-perf: pin pyjwt<2.11 for github-check

github-check uses github3.py 4.0.1, which passes app_id as int to
jwt.encode(). PyJWT 2.11+ requires iss to be a string. Install
githubcheck first, then pin pyjwt<2.11.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
5 weeks agoMerge pull request #2626 from knrt10/fix-app-ip-ceph-perf-pr
Kautilya Tripathi [Thu, 25 Jun 2026 13:52:20 +0000 (19:22 +0530)]
Merge pull request #2626 from knrt10/fix-app-ip-ceph-perf-pr

ceph-perf: pin pyjwt for github-check and detect clang-18

5 weeks agoAdd optional Pulp container registry upload to ceph-dev-pipeline. 2623/head
deepssin [Mon, 22 Jun 2026 10:24:31 +0000 (15:54 +0530)]
Add optional Pulp container registry upload to ceph-dev-pipeline.
Mirror dev container images from Quay to Pulp when PULP_REGISTRY_UPLOAD
is enabled

5 weeks agoMerge pull request #2629 from ceph/c9-libvirt
adam kraitman [Thu, 25 Jun 2026 07:43:54 +0000 (10:43 +0300)]
Merge pull request #2629 from ceph/c9-libvirt

builder.yml: Get libvirt-devel from CRB

5 weeks agoceph-windows: actually disable the mgr for the vstart cluster 2630/head
Kefu Chai [Thu, 25 Jun 2026 01:41:15 +0000 (09:41 +0800)]
ceph-windows: actually disable the mgr for the vstart cluster

-WITH_MGR=OFF and -WITH_LTTNG=OFF were passed to do_cmake.sh with a single
dash, so cmake never set them.  The mgr has therefore been built and started
by every vstart run since this script was added in 2022, only to fail loading
rbd_support and telemetry because their python deps were never installed.

The librbd, rados and cephfs tests run against this cluster use the direct
library API and do not need the mgr, so disable it as originally intended.
Pass -DWITH_MGR=OFF (and -DWITH_LTTNG=OFF), and set CEPH_NUM_MGR=0 for
vstart.sh so it does not try to start a ceph-mgr that is no longer built.

python3-prettytable is kept: it is a client CLI dependency (ceph_daemon.py),
not a mgr one.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
5 weeks agobuilder.yml: Get libvirt-devel from CRB 2629/head
David Galloway [Wed, 24 Jun 2026 20:28:15 +0000 (16:28 -0400)]
builder.yml: Get libvirt-devel from CRB

Tested on CentOS 9 Stream and Rocky 10

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agoceph-perf: fix github-check and use run-make.sh for clang-19 2626/head
Kautilya Tripathi [Tue, 23 Jun 2026 10:17:07 +0000 (15:47 +0530)]
ceph-perf: fix github-check and use run-make.sh for clang-19

github-check fails on fresh venvs with PyJWT 2.13+ because github3
passes app_id as int to jwt.encode(). Pin pyjwt<2.13 before installing
githubcheck, and quote app-id/install-id in github-check calls.

Stop probing for clang down to 18 in the perf job; Crimson needs
clang-19. Let run-make.sh install it via llvm.sh (get_llvm) and select
it with discover_compiler, same as make-check nodes.

Signed-off-by: Kautilya Tripathi <kautilya.tripathi@ibm.com>
5 weeks agoMerge pull request #2607 from cbodley/wip-cron-umbrella-jammy
David Galloway [Tue, 23 Jun 2026 13:45:20 +0000 (09:45 -0400)]
Merge pull request #2607 from cbodley/wip-cron-umbrella-jammy

ceph-dev-cron: add jammy to umbrella

5 weeks agoMerge pull request #2521 from ceph/sync-docker
David Galloway [Tue, 23 Jun 2026 13:40:11 +0000 (09:40 -0400)]
Merge pull request #2521 from ceph/sync-docker

sync-images: Login to dockerhub

5 weeks agosync-images: Login to dockerhub 2521/head
David Galloway [Tue, 30 Dec 2025 22:36:00 +0000 (17:36 -0500)]
sync-images: Login to dockerhub

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agoMerge pull request #2625 from ceph/builder-ansible-fail
Jitendra Sahu [Tue, 23 Jun 2026 13:34:56 +0000 (19:04 +0530)]
Merge pull request #2625 from ceph/builder-ansible-fail

builder-reimage improvements

5 weeks agoMerge pull request #2620 from ceph/no-fatal-br
Jitendra Sahu [Tue, 23 Jun 2026 13:34:09 +0000 (19:04 +0530)]
Merge pull request #2620 from ceph/no-fatal-br

builder-reimage: Noop if builder not found

5 weeks agobuilder.yml: Check for dir before running restorecon on it 2625/head
David Galloway [Mon, 22 Jun 2026 17:18:43 +0000 (13:18 -0400)]
builder.yml: Check for dir before running restorecon on it

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agobuilder.yml: Get pipx from epel
David Galloway [Mon, 22 Jun 2026 16:50:22 +0000 (12:50 -0400)]
builder.yml: Get pipx from epel

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agoMerge pull request #2566 from ceph/reenable-ceph-perf-check
Kautilya Tripathi [Tue, 23 Jun 2026 04:59:40 +0000 (10:29 +0530)]
Merge pull request #2566 from ceph/reenable-ceph-perf-check

ceph-perf: tighten PR regression gate

5 weeks agoMerge pull request #2624 from ceph/rocky-iscsi
David Galloway [Mon, 22 Jun 2026 19:54:42 +0000 (15:54 -0400)]
Merge pull request #2624 from ceph/rocky-iscsi

ceph-iscsi: Support building for el10

5 weeks agobuilder-reimage: Add missing common and container-host roles
David Galloway [Mon, 22 Jun 2026 16:27:33 +0000 (12:27 -0400)]
builder-reimage: Add missing common and container-host roles

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agobuilder-reimage: Make ansible failures fatal
David Galloway [Mon, 22 Jun 2026 16:22:30 +0000 (12:22 -0400)]
builder-reimage: Make ansible failures fatal

Signed-off-by: David Galloway <david.galloway@ibm.com>
5 weeks agoceph-iscsi: Support building for el10 2624/head
David Galloway [Mon, 22 Jun 2026 14:51:16 +0000 (10:51 -0400)]
ceph-iscsi: Support building for el10

Signed-off-by: David Galloway <david.galloway@ibm.com>
6 weeks agoMerge pull request #2617 from deepssin/nightly-priority-and-suite-cleanup
Zack Cerza [Thu, 18 Jun 2026 22:03:03 +0000 (16:03 -0600)]
Merge pull request #2617 from deepssin/nightly-priority-and-suite-cleanup

teuthology-nightly-cadence: fix NIGHTLY_PRIORITY scope in @NonCPS method

6 weeks agobuilder-reimage: Noop if builder not found 2620/head
David Galloway [Thu, 18 Jun 2026 19:46:12 +0000 (15:46 -0400)]
builder-reimage: Noop if builder not found

If we're adding a host to Jenkins for the first time, it won't exist yet.  And we'll send the labels when we run builder.yml.

Signed-off-by: David Galloway <david.galloway@ibm.com>
6 weeks agoMerge pull request #2613 from ceph/77418
David Galloway [Thu, 18 Jun 2026 15:32:53 +0000 (11:32 -0400)]
Merge pull request #2613 from ceph/77418

Support updating github PR status checks when manually triggering job

6 weeks agoteuthology-nightly-cadence: fix NIGHTLY_PRIORITY scope in @NonCPS method 2617/head
deepssin [Thu, 18 Jun 2026 09:59:38 +0000 (09:59 +0000)]
teuthology-nightly-cadence: fix NIGHTLY_PRIORITY scope in @NonCPS method

Signed-off-by: deepssin <deepssin@redhat.com>
6 weeks agoMerge pull request #2616 from tchaikov/revert-pr-2612
Kefu Chai [Thu, 18 Jun 2026 06:33:01 +0000 (14:33 +0800)]
Merge pull request #2616 from tchaikov/revert-pr-2612

Revert "introduce debug builds for noble"

Reviewed-by: Shraddha Agrawal <shraddhaag@ibm.com>
6 weeks agoRevert "introduce debug builds for noble" 2616/head
Kefu Chai [Thu, 18 Jun 2026 04:20:42 +0000 (12:20 +0800)]
Revert "introduce debug builds for noble"

This reverts commit 3c7edbed014b7b36d9e4eb9ecac91f1ebd6da3a8.

The added matrix cell pushed the CPS-generated WorkflowScript method past
the JVM's 64KB bytecode limit, failing every ceph-dev-pipeline build with
MethodTooLargeException. Revert to unblock CI; noble debug builds will be
re-landed once the matrix stage bodies are extracted into helper methods.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
6 weeks agoMerge pull request #2492 from anshuman-agarwala/power-support
Zack Cerza [Thu, 18 Jun 2026 00:46:19 +0000 (18:46 -0600)]
Merge pull request #2492 from anshuman-agarwala/power-support

[ceph-make-check-periodic-ppc64] Added support for ppc64 runners

6 weeks agoMerge pull request #2612 from shraddhaag/wip-shraddhaag-add-noble-debug
David Galloway [Wed, 17 Jun 2026 18:18:59 +0000 (14:18 -0400)]
Merge pull request #2612 from shraddhaag/wip-shraddhaag-add-noble-debug

introduce debug builds for noble

6 weeks agointroduce debug builds for noble 2612/head
Shraddha Agrawal [Tue, 16 Jun 2026 08:01:54 +0000 (13:31 +0530)]
introduce debug builds for noble

This commit adds debug builds for the distro noble. With this change, we
will also get debug noble builds. This is especially useful for testing
crimson in QA suites.
Signed-off-by: Shraddha Agrawal <shraddha.agrawal000@gmail.com>
6 weeks agoMerge pull request #2610 from ceph/improve-builder-reimage
David Galloway [Wed, 17 Jun 2026 16:49:23 +0000 (12:49 -0400)]
Merge pull request #2610 from ceph/improve-builder-reimage

builder-reimage: improve reimage flow and node handling