Dan Mick [Tue, 29 Jul 2025 18:24:40 +0000 (11:24 -0700)]
Revert "removed build_utils dependency from ceph pull request job"
Jobs are using more than just the 'docs check' functions in
build_utils.sh (ssh_exec, get_nr_build_jobs are two that showed up
after merge). Revert this until it can be more-carefully evaluated.
Dan Mick [Mon, 28 Jul 2025 22:14:37 +0000 (15:14 -0700)]
sync-pull: in the 'ugly loop', skip nonexistent repos
This heuristic remains questionable, but continue it on
by allowing some named distro/version repos to not exist without
stopping sync-pull from working
error running container: from /usr/bin/crun creating container for
[<sh command>]: sd-bus call: Interactive authentication required.:
Permission denied
That is thought to be because of the lack of 'linger' on the
jenkins-build user, such that the /run/user directory didn't
persist. The exact mechanism of failure isn't fully understood,
but this script has fixed similar issues for ceph-dev-pipeline.
scripts/build_utils: setup_pbuilder_for_old_gcc() installs requested version
ubuntu noble is special in that we gcc-14 is available but gcc-13 is the
default. before using update-alternatives to prefer gcc-14, we need to
make sure it's installed
copy the relevant bit from setup_pbuilder_for_new_gcc()'s hook
D05install-new-gcc to make sure the requested version is installed
before running the D10update-gcc-alternatives hook
scripts/build_utils: default to gcc-14 for ubuntu noble
noble provides both gcc-13 and 14, but its gcc 13.2.0 suffers from an
LTO bug that causes ceph daemons to crash horribly (tracked in
https://tracker.ceph.com/issues/63867)
This fixes errors like:
RunRoot is pointing to a path (/run/user/$ID/containers) which is not writable. Most likely podman will fail.
Error: creating events dirs: mkdir /run/user/$ID: permission denied
Dan Mick [Wed, 18 Jun 2025 17:10:21 +0000 (10:10 -0700)]
sepia-fog-images: add image test to 'poll for deploy' loop
When checking for scheduled deploy tasks, check not only for existing
deploy tasks but for deploy tasks *for the image we're proposing to
capture*. There are often deploy tasks on a busy fog server, but we
only need to avoid affecting tasks for the image we're updating
Casey Bodley [Wed, 4 Jun 2025 20:57:37 +0000 (16:57 -0400)]
remove 'jaeger' flavor now that it's on by default
jaeger was enabled by default in all ceph builds in
https://github.com/ceph/ceph/pull/44684 which was present in reef and
later releases. so no supported releases need a flavor to turn it on
ceph-dev-new-trigger hadn't been updated from 'DISTROS=centos8 focal'
so is probably not being used
Matan Breizman [Wed, 28 May 2025 08:16:50 +0000 (11:16 +0300)]
ceph-dev-cron: Build both crimson flavors
When building the daily main build, use both crimson flavors.
This is critical for the weekly nightly runs.
Note: Usual builds would still only build a *single* crimson-flavor (debug).
This commit only affects the dev-cron
Matan Breizman [Sun, 8 Jun 2025 07:36:48 +0000 (10:36 +0300)]
Seperate Crimson flavors to crimson-debug/release
The following change would allow us to:
* Keep testing "Debug" builds (crimson-debug) by default.
* When crimson-only is used, crimson-release would also be built.
* `crimson-release` builds would be used in the weekly nightlies and on
selected PR gatings (when crimson-debug is not enough).
Note: Once crimson-release is stable enough we could switch crimson-debug
to actaully be of: "RelWithDebInfo + !NDEBUG + asserts" instead of "Debug".
For now, let's keep it as Debug since we know it's stable.
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.