Seena Fallah [Tue, 27 May 2025 19:03:00 +0000 (21:03 +0200)]
vagrant-libvirt: install the latest version
The pinned version is already too old and is failing in CI due to:
```
Error message given during initialization: Unable to resolve dependency:
user requested 'vagrant-libvirt (= 0.12.2)'
```
Let's try the latest and see if the reason for pinning the old one
still exists.
Dan Mick [Mon, 19 May 2025 20:42:51 +0000 (13:42 -0700)]
ceph-build: remove container build step
This was removed from build_rpm, but then when a reorg happened
to separate the function into a separate script, the fact that
ceph-build doesn't do container builds anymore was missed.
Release container builds now happen after the manual signing
step using job ceph-release-containers
Matan Breizman [Sun, 18 May 2025 08:40:52 +0000 (11:40 +0300)]
scripts/build_utils: remove Debug build from Crimson
See: https://github.com/ceph/ceph-build/pull/2167/files
Builds should be set to Debug only when ending in "-debug".
https://github.com/ceph/ceph-build/pull/1805 set Crimson to always use Debug.
That made sense in earlier development phases.
However, today we should align with Classical builds and use Debug only when needed.
Dan Mick [Wed, 14 May 2025 00:35:03 +0000 (17:35 -0700)]
examples/builder.yml: set api token based on api_uri
This is really the ceph-jenkins ssh user's password, but they're
now stored in ceph-sepia-secrets so they don't have to be found
and entered on the cmdline here
This keeps 'one ansible-vault encrypt output' in one file, and
should be easier to edit/view/etc.
Dan Mick [Wed, 14 May 2025 00:36:34 +0000 (17:36 -0700)]
examples/builder.yml: fix up subuid/subgid handling code
1) not necessary to make 'find highest uid' conditional (and the
check was checking 0 instead of !0 anyway)
2) fix up choice of "calculated or default" using "| default()"
1. When building, use two tags: branch.os.arch, and sha1.branch.os.arch
2. After building, push both tags
3. Before building, pull both tags
As a result, we can avoid building entirely if that exact image has already been
pushed, and avoid building at least some layers if the branch had been built
somewhat recently.
Dan Mick [Tue, 25 Mar 2025 23:58:02 +0000 (16:58 -0700)]
Add ceph-release-containers job
Builds prerelease versions of ceph container images: two arch-specific
images and one 'manifest-list' image. Pushed all to quay.ceph.io/ceph,
in a private set of repos (prerelease-amd64, prerelease-arm64, and
prerelease) for testing and signoff. Once moved, the script
container/make-manifest-list.py can be used with the --promote flag to
promote them from quay.ceph.io to quay.io for public release.
Dan Mick [Thu, 20 Mar 2025 23:45:17 +0000 (16:45 -0700)]
ceph-build: remove container build
The container must be built from signed packages, and signing
is not part of the Jenkins build. So we'll create two new jobs
to build the prerelease containers (so that builders don't have
to have access to both amd64 and arm64 build hosts).
David Galloway [Fri, 28 Feb 2025 18:55:16 +0000 (13:55 -0500)]
ansible: Fixes to podman subuid/subgid checks
I think this was working during my testing because sub{u,g}id_check.rc /wasn't/ 0. I had manually modified the system so it wasn't in the same state as a fresh cloud instance.
I manually ran this playbook on an instance and confirmed it gets past the podman setup now.
Signed-off-by: David Galloway <david.galloway@ibm.com>
Matan Breizman [Tue, 25 Feb 2025 12:27:42 +0000 (14:27 +0200)]
ceph-dev*: intermediate transition to WITH_CRIMSON
See: https://github.com/ceph/ceph/pull/61672
This PR changes any WITH_SEASTAR / --with-seastar to WITH_CRIMSON /
--with crimson respectively. We should let our builders add the new flags
and once the PR is merged we could clean up the unused WITH_SEASTAR.
John Mulligan [Wed, 19 Feb 2025 16:10:11 +0000 (11:10 -0500)]
scripts: add build-with-container.py and friends to container_only_pr
Add the build-with-container.py script and the helper shell script and
Dockerfile that support the builder image to the container_only_pr
patterns in build_utils.sh. This should save time and resources when
contributing patches to only these files in the ceph/ceph repo.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
David Galloway [Tue, 18 Feb 2025 03:13:09 +0000 (22:13 -0500)]
ansible: Add tag to python interpreter var setting tasks
I'm working on a combination of terraform and ansible to quickly
spin up instances in IBM Cloud so they can join Jenkins as builders.
Part of this process involves creating a virtualenv and running ansible
from it. python-jenkins needs to be installed in the virtualenv and
setting the python interpreters inside the playbook breaks that.
This PR will let me `--skip-tags interpreter`
Signed-off-by: David Galloway <david.galloway@ibm.com>
Dan Mick [Fri, 14 Feb 2025 03:28:46 +0000 (19:28 -0800)]
jenkins-job-builder,ceph-build-pull-requests: fetch and use jjb 6
currently it's actually a custom version of jjb6, to add
new choosing-strategy: ancestry, to be able to use
maximum-age in days to choose a branch to build. This will
change to 6.5 once that branch is released.
Dan Mick [Fri, 14 Feb 2025 03:11:49 +0000 (19:11 -0800)]
Update all jobs with ${VAR} syntax to ${{VAR}} for jjb6 compatibility
jenkins-job-builder 6 changed the interpretation of {var} to *always*
refer to a jjb macro; this is true even for ${VAR}, which we use in a
lot of place for Jenkins variable expansion (although not all; it's
unclear whether the {} are or ever were necessary, or in what exact
contexts). So far, we've pinned jjb to <6, but we need new
functionality.
In any event, rather than changing all of them to the same {}-less style
that might work, change the ${} style to ${{}} and leave $ alone.