]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/log
ceph-ci.git
5 days agoscript/build-with-container: add support for overlay dir
John Mulligan [Thu, 20 Feb 2025 00:17:30 +0000 (19:17 -0500)]
script/build-with-container: add support for overlay dir

The source dir (aka homedir, default /ceph) is mounted in the container
read-write. This is needed as the various ceph build scripts expect to
write things into the tree - often this is in the build directory - but
not always. This can lead to small messes and/or situations that are
confusing to debug, especially if one is jumping between distros often.
Add an option to use an overlay volume for the homedir - by default we
enable a persistent overlay with a supplied "upper dir" where files that
were written will appear. One can also enable a temporary overlay that
forgets the writes when the container exits - maybe useful when doing
experiments in 'interactive' mode.

To use this option run the command with the `--overlay=<dir>` option.
For example: `./src/script/build-with-container.py -b build.inner
--overlay-dir build.ovr`. This will create a directory
`build.ovr/content` automatically and all new files will appear there.
For example the build directory will appear at
`build.ovr/content/build.inner`.

To use the temporary overlay use a `-` as the directory name. For
example: `./src/script/build-with-container.py -b build.inner
--overlay-dir -`

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 794e3d0b25a05e019e549eb51ba0ddba1268d5a6)
(cherry picked from commit 895ffc99895f53e6621c68b51150313e772d0756)

5 days agoscript/build-with-container: skip dnf cache dir volume mounts on docker
John Mulligan [Thu, 20 Feb 2025 14:50:49 +0000 (09:50 -0500)]
script/build-with-container: skip dnf cache dir volume mounts on docker

When using docker the --volume option is not available during build
(docker [buildx] build), unlike podman. Since passing these volumes must
be conditional on them being set up I see no way to handle this short of
just disabling the option on docker. Log the fact that it's being
skipped - the only other issue is that we pointlessly set up some dirs
and the build may be a bit slower.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 4208a736652190fdaad3006c435f6c068e81a093)
(cherry picked from commit 08f7626d7241ba3a00f98fd2df1faab649845f57)

5 days agoscript/build-with-container: remove default --volume arg from ctr build
John Mulligan [Wed, 19 Feb 2025 18:20:36 +0000 (13:20 -0500)]
script/build-with-container: remove default --volume arg from ctr build

On the original github pr #59841 user fayak kindly informed us that the
--volume option was not supported by docker build. Since this section
was a leftover from a previous way of constructing the builder image and
was no longer needed we simply removed it.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 612a9d6808f4f1d4f93aeca055acba064e7a1209)
(cherry picked from commit e56df19133b2c5dbde3007f315eb861facf0134d)

5 days agoscript/build-with-container.py: build builder image with --pull=always
John Mulligan [Wed, 19 Feb 2025 18:20:01 +0000 (13:20 -0500)]
script/build-with-container.py: build builder image with --pull=always

Construct the builder image using the --pull=always flag to initiate a
pull of the base image (centos, ubuntu, etc) in order to avoid using a
stale base image. Since the script automatically (by default) avoids
building if a matching tag is in local container storage it is handy to
use a fresh base when it *is* time to build something. Otherwise, you
end up in a situation like I sometimes do - using a months old base
unintentionally.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f6e6188e30a9d765e86bd2d710666cfbdeb0818c)
(cherry picked from commit 915f6210d7e5bb2bd020dc02febaf1eb1afd1798)

5 days agoscript/build-with-container: add a common packages target
John Mulligan [Fri, 14 Feb 2025 19:50:42 +0000 (14:50 -0500)]
script/build-with-container: add a common packages target

Add a `packages` target to build-with-container.py that requests a build
of packages, whatever package type is native to the distro selected.
For example `./src/script/build-with-container.py -d ubuntu22.04 -e
packages` will automatically select a deb packages build where
`./src/script/build-with-container.py -d centos9 -e packages` will
trigger rpm packages to be built. The underlying package-type specific
targets remain unchanged.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 37b7d509c59348ae11badd6673cb49ce9ce303fa)
(cherry picked from commit de0d9279445404c4d5a48dc97832ac8409989e8b)

5 days agoscript/build-with-container: support custom tag suffixes
John Mulligan [Fri, 14 Feb 2025 16:44:35 +0000 (11:44 -0500)]
script/build-with-container: support custom tag suffixes

Previously, one could use the `--tag` option to completely override the
container tag generated by the script. However, there are cases where
one may want to add information to the tag rather than override it.
Allow the tag value to start with a plus (+) character that indicates
that the remainder of the string is to be suffixed to the generated tag.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 30836c4ed4b9332f22b31897ce4ece0ad4da6fc0)
(cherry picked from commit 5d7ff135f6f44148e8a977b88cc71c8066239ac5)

5 days agoscript/build-with-container: add --base-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:37:04 +0000 (11:37 -0500)]
script/build-with-container: add --base-branch cli option

Add a command line option --base-branch that allows the user to supply a
custom base branch name. git doesn't make determining this easy so we
always assume a base branch of 'main' by default - but this option lets
one change that.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit ff34bf7241f1a1072f74494cc8f50156e0076019)
(cherry picked from commit 8a3e3af0fa31fa507051d8b3b2812e67c937318c)

5 days agoscript/build-with-container: add --current-branch cli option
John Mulligan [Fri, 14 Feb 2025 16:24:06 +0000 (11:24 -0500)]
script/build-with-container: add --current-branch cli option

Add a new --current-branch argument that lets the user supply a name for
the current branch. This allows the automatic tag generation to avoid
calling git - something useful if the tree is not using a git checkout
(like a tarball). It also allows you to pull a temporary branch in git
but ignore it and act like the temporary branch is the base branch.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit c1713c5bc37b7e31bd84555066c06a72bb0f025b)
(cherry picked from commit 98be912957232484fcd86e1bcd7ffbab36d36e31)

5 days agoscript/build-with-container: add more distro aliases
John Mulligan [Tue, 11 Feb 2025 23:36:13 +0000 (18:36 -0500)]
script/build-with-container: add more distro aliases

Add a system to define distro name aliases and use that to define some
additional aliases, primarily to match ubuntu codenames rather than
version numbers. Requested by Zack.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 65f055f0d8390b9787007433d16cf3a1737584ff)
(cherry picked from commit 0adecbe7618c5d3298c1ea3dbed8f0733e7eb73c)

5 days agoscript/build-with-container: apply black formatting to file
John Mulligan [Thu, 20 Feb 2025 00:21:27 +0000 (19:21 -0500)]
script/build-with-container: apply black formatting to file

After the last set of fixes and enhancements I forgot to reformat the
file. This applies standard `black` formatting to the file.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit de855aec1c7a483ca5f0971a149860e8aaee8f7f)
(cherry picked from commit a1c73426ea258f158618f77dcfb38dffa090833a)

5 days agoscript: allow relative & ~ paths in build-with-container dnf cache arg
John Mulligan [Thu, 6 Feb 2025 16:51:54 +0000 (11:51 -0500)]
script: allow relative &  ~ paths in build-with-container dnf cache arg

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit cf0ed0a2859204fab3cbd871d2e56c1a86fa6a53)
(cherry picked from commit 19f38aea0ce80981a75d15ef73500edab640b2eb)

5 days agoscript: set execute bit on build-with-container.py
John Mulligan [Thu, 6 Feb 2025 14:59:29 +0000 (09:59 -0500)]
script: set execute bit on build-with-container.py

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f7165966277636b926692aece82977dad3bd1784)
(cherry picked from commit 884bdec8fee6b1b879bee2681da27a89fa24b2ce)

5 days agosrc/script: add a script to help build ceph using containers
John Mulligan [Tue, 20 Aug 2024 19:01:05 +0000 (15:01 -0400)]
src/script: add a script to help build ceph using containers

The build-with-container script tries to encapsulate nearly all major
build tasks using docker/podman containers. If there's no build image
locally it will create one for your. It provides targets for building
(make), testing (make check), building rpm packages or deb packages and
is designed to be fairly easily extended.

View the comment at the top of the source file for usage details.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit f276cc5176f7f842267beb985d2a3bd073005839)
(cherry picked from commit 4507594714ea4f72826e385d18c38369d7520f28)

5 days agoscript: add discover_compiler function to lib-build.sh
John Mulligan [Tue, 1 Nov 2022 18:51:57 +0000 (14:51 -0400)]
script: add discover_compiler function to lib-build.sh

The discover_compiler function is an abstraction over the current
compiler detection code in run-make.sh. It is intended to be flexible
enough to work on {centos,rhel} systems, but currently is just an
updated version of the logic from run-make.sh. The intent is that this
function will grow and become useful for other scripts used for
building (possibly do_cmake.sh for example).

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 561bf4ea9b4dd8f6710a959c5bd38eb4085a9d52)
(cherry picked from commit 8dae1c161c4d3bc3a1ef3cd48de0da9a89e44e65)

5 days agoscript: add discover_compiler function to lib-build.sh
John Mulligan [Tue, 1 Nov 2022 18:51:57 +0000 (14:51 -0400)]
script: add discover_compiler function to lib-build.sh

The discover_compiler function is an abstraction over the current
compiler detection code in run-make.sh. It is intended to be flexible
enough to work on {centos,rhel} systems, but currently is just an
updated version of the logic from run-make.sh. The intent is that this
function will grow and become useful for other scripts used for
building (possibly do_cmake.sh for example).

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 561bf4ea9b4dd8f6710a959c5bd38eb4085a9d52)
(cherry picked from commit 8dae1c161c4d3bc3a1ef3cd48de0da9a89e44e65)

5 days agoscript: add a common ci_debug function to print ci debug lines
John Mulligan [Mon, 31 Oct 2022 19:06:25 +0000 (15:06 -0400)]
script: add a common ci_debug function to print ci debug lines

Reduces some of the boilerplate around emitting the "CI_DEBUG:"
prefixed debug lines for the CI. Additionally, enables using
the FORCE_CI_DEBUG var to enable ci debug lines even when not
in a jenkins environment.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 93b94811cb10bb936c5abf87d708ae96d7939a8e)
(cherry picked from commit 29da3e654d0f73ac52626c7e2532b996fa4b925b)

5 days agoinstall-deps.sh: source lib-build.sh
John Mulligan [Mon, 31 Oct 2022 17:52:50 +0000 (13:52 -0400)]
install-deps.sh: source lib-build.sh

Currently, only in_jenkins is used. More will come later.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 9b7db758c3f2a381e58790b60aee8908b9a6f1fa)
(cherry picked from commit aee71d803a58605b4dae1abf325e3a7af86b3768)

5 days agoscript: have run-make.sh honor BUILD_DIR like do_cmake.sh does
John Mulligan [Thu, 6 Oct 2022 17:43:41 +0000 (13:43 -0400)]
script: have run-make.sh honor BUILD_DIR like do_cmake.sh does

The BUILD_DIR environment variable is honored by do_cmake.sh in order to
create multiple build output directories. Before this change run-make.sh
did not support BUILD_DIR the same way as do_cmake.sh. This change makes
it possible to use BUILD_DIR with run-make.sh.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 974effaa95ddbc9816a37e382a96e691f4e3cbdd)
(cherry picked from commit 3425674847f7e8500a5dadf6e2e55c9c1866197a)

5 days agoAdd Containerfile and build.sh to build it.
Dan Mick [Wed, 26 Jun 2024 02:07:41 +0000 (19:07 -0700)]
Add Containerfile and build.sh to build it.

The intent is to replace ceph-container.git, at first for ci containers
only, and eventually production containers as well.

There is code present for production containers, including
a separate "make-manifest-list.py" to scan for and glue the two
arch-specific containers into a 'manifest-list' 'fat' container,
but that code is not yet fully tested.

This code will not be used until a corresponding change to the
Jenkins jobs in ceph-build.git is pushed.

Note that this tooling does not authenticate to the container repo;
it is assumed that will be done elsewhere.  Authentication is
verified by pushing a minimal image to the requested repo.

Signed-off-by: Dan Mick <dmick@redhat.com>
(cherry picked from commit 5c40a5c1737cf0628c899c4e9f788017b8b4fca8)
(cherry picked from commit 3baf000d447a831bb936ee7add6ee9a4baae3442)

5 days agosrc/msg: attach header tid + Added more loggings wip-ksirivad-reef-c-build
Kamoltat Sirivadhna [Wed, 1 Oct 2025 19:53:39 +0000 (19:53 +0000)]
src/msg: attach header tid +  Added more loggings

Also dump the encoded payload on the sender
and reciever side

Signed-off-by: Kamoltat Sirivadhna <ksirivad@redhat.com>
(cherry picked from commit dec4382881a93a01d54c627c2642d511311f1469)

15 months ago18.2.4 v18.2.4
Ceph Release Team [Fri, 12 Jul 2024 13:57:23 +0000 (09:57 -0400)]
18.2.4

Signed-off-by: Ceph Release Team <ceph-maintainers@ceph.io>
15 months agoqa/suites/upgrade/reef-p2p/reef-p2p-parallel: increment upgrade to 18.2.2
Yuri Weinstein [Mon, 8 Jul 2024 19:22:12 +0000 (19:22 +0000)]
qa/suites/upgrade/reef-p2p/reef-p2p-parallel: increment upgrade to 18.2.2

Instead of installing 18.2.0, which still contains the osdmap crc bug tracked
in https://tracker.ceph.com/issues/63389, we should install v18.2.2 since this contains
the fix. Then, we upgrade to reef_latest. In this scenario, we do not expect to see the
crc bug. If we test any upgrade path before that, we will hit the warning and the test will fail.

Fixes: https://tracker.ceph.com/issues/66505
Signed-off-by: Laura Flores <lflores@ibm.com>
(cherry picked from commit a9365afeb38afdb59530121ddae5c6fdfdfd2d1a)

15 months agoqa/distros: removed centos 8 from supported distros
Casey Bodley [Mon, 18 Sep 2023 18:17:03 +0000 (14:17 -0400)]
qa/distros: removed centos 8 from supported distros

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 449db416aa82df12b349ce10603c9646c88bde83)
(cherry picked from commit ec249a7549734befaa130dabcb0c14b91be8a4f4)

15 months agomgr/k8sevents: update V1Events to CoreV1Events
Nizamudeen A [Fri, 3 May 2024 08:56:19 +0000 (14:26 +0530)]
mgr/k8sevents: update V1Events to CoreV1Events

centos9 only provides kubernetes 26.1.0 as base dep and hence the
k8sevents code needs to be updated accordingly. the api changes happened
in kuberenetes while 19.0.0 was released

Fixes: https://tracker.ceph.com/issues/65627
Fixes: https://tracker.ceph.com/issues/64981
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 6af964719217d720e6c2fd1ba2a607f6255d2604)
(cherry picked from commit 1f1160442fbc4d8c55d4aabb2a3cfccf26571f70)

15 months agoqa/tasks/qemu: Fix OS version comparison
Zack Cerza [Fri, 14 Jun 2024 19:37:16 +0000 (13:37 -0600)]
qa/tasks/qemu: Fix OS version comparison

See: https://sentry.ceph.com/share/issue/21ed88d705854238bdafbf6711e795ee/
They're strings, not floats.
This surfaced as a result of https://github.com/ceph/teuthology/pull/1953

Signed-off-by: Zack Cerza <zack@redhat.com>
(cherry picked from commit 260a45a03148ba4d2bbfcac9485bcf9a8743cade)
(cherry picked from commit 7fb22816dc66b11742bd52509ecea439c9db8ebd)

15 months agoqa/cephfs: fs:upgrade:mds_upgrade_sequence uses centos9
Venky Shankar [Thu, 27 Jun 2024 09:51:48 +0000 (15:21 +0530)]
qa/cephfs: fs:upgrade:mds_upgrade_sequence uses centos9

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 936c2813b0e526c4588802c2de69c38f631df755)

15 months agoqa: upgrade sub-suite upgraded_client from from n-1|n-2 releases
Dhairya Parmar [Tue, 30 Apr 2024 11:09:19 +0000 (16:39 +0530)]
qa: upgrade sub-suite upgraded_client from from n-1|n-2 releases

... and move to centos9.

Fixes: https://tracker.ceph.com/issues/65580
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 76589659480c6e9cd2ad09b3be21deeb6d1686d1)

 Conflicts:
qa/suites/fs/upgrade/upgraded_client/tasks/0-from/nautilus.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/0-install.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/0-install/quincy.yaml

(cherry picked from commit 329c440eec172401c3b58646b44d415628148ec3)

15 months agoqa: upgrade sub-suite nofs from n-1 and n-2 releases
Dhairya Parmar [Thu, 4 Apr 2024 12:25:52 +0000 (17:55 +0530)]
qa: upgrade sub-suite nofs from n-1 and n-2 releases

also adjust the respective upgrade YAMLs and move to
centos9.

For reef release, start upgrade from pacific/quincy.

Fixes: https://tracker.ceph.com/issues/65580
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit f00a69f714dd07d580731a326aff41cacca6d0b6)
(cherry picked from commit e06d1d6c1d4198d629a941d9777131f65d21b10b)

15 months agoqa: use supported releases for featureful_client
Venky Shankar [Fri, 7 Jun 2024 05:13:27 +0000 (05:13 +0000)]
qa: use supported releases for featureful_client

... and switch for centos9.

For reef release, start upgrade from pacific/quincy.

Fixes: https://tracker.ceph.com/issues/65580
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 3715ce671de97530dda30d59fe643cebc3ebc508)
(cherry picked from commit ecb6824beab99b39b7b533bc42ac3371c8ee69a9)

15 months agoqa: refactor client upgrade yamls and other minor touchups
Dhairya Parmar [Mon, 6 Nov 2023 14:24:20 +0000 (19:54 +0530)]
qa: refactor client upgrade yamls and other minor touchups

* start testing new_ops and stress_tests with both the drivers(i.e. fuse and kclient)
therefore moved 0-clients/ from tasks/3-workload/new_ops/ to tasks/ and renamed it to
2-clients/

* since new_ops/ and stress_tests/ now share the common upgrade yaml, moved the
tests yamls(in stress_tests/1-tests) directly under 3-workload/stress_tests/

* renamed 1-client-sanity.yaml in new_ops/ to newops.yaml

Fixes: https://tracker.ceph.com/issues/62953
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
(cherry picked from commit c556c7324763332df62f4d382da02314900f1a60)

 Conflicts:
qa/suites/fs/upgrade/upgraded_client/tasks/2-clients/fuse-upgrade.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-clients/kclient.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/new_ops/0-clients/fuse-upgrade.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/new_ops/0-clients/kclient.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/new_ops/1-client-sanity.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/new_ops/newops.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/1-tests/blogbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/1-tests/dbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/1-tests/fsstress.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/1-tests/iozone.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/1-tests/kernel_untar_build.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/blogbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/dbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/fsstress.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/iozone.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/2-workload/stress_tests/kernel_untar_build.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/new_ops/0-clients/kclient.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/new_ops/1-client-sanity.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/stress_tests/1-tests/blogbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/stress_tests/1-tests/dbench.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/stress_tests/1-tests/fsstress.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/stress_tests/1-tests/iozone.yaml
qa/suites/fs/upgrade/upgraded_client/tasks/3-workload/stress_tests/1-tests/kernel_untar_build.yaml
qa/suites/rbd/device/workloads/.qa

(cherry picked from commit 1a2e3638911d512c6fc65fcb64ecc3a869a465ad)

15 months agotests: make sure nvmetcli and nvme-cli are up to date
Guillaume Abrioux [Wed, 26 Jun 2024 10:35:43 +0000 (10:35 +0000)]
tests: make sure nvmetcli and nvme-cli are up to date

Otherwise jobs end up with the following failure:

```
2024-06-25T14:22:18.659 INFO:teuthology.orchestra.run.smithi098.stderr:Failed to write to /dev/nvme-fabrics: Invalid argument
```

Also, the output of nvme list has changed so we have to update
qa/tasks/nvme_loop.py accordingly.

Fixes: https://tracker.ceph.com/issues/66707
Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit d707c41eacb513bdcb9fec17c823bfbfdc182700)
(cherry picked from commit 1138d6b17075748e6a98b123ab40351919df473f)

15 months agoqa/rgw/upgrade/pacific: remove centos_8.stream.yaml and rely on ubuntu_20.04.yaml
Casey Bodley [Wed, 26 Jun 2024 16:11:10 +0000 (12:11 -0400)]
qa/rgw/upgrade/pacific: remove centos_8.stream.yaml and rely on ubuntu_20.04.yaml

we can't test this pacific->reef upgrade path on centos because pacific doesn't
have centos 9 builds, and reef no longer has centos 8 builds. only test
this upgrade on ubuntu focal which is still supported for both releases

this commit targets the reef branch directly because this rgw/upgrade/pacific
suite no longer exists on main and squid branches

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e7e2617541852de55093e5689cde7db6b6ed9112)

15 months agoqa/distros: removed rhel 8 from supported distros
Casey Bodley [Wed, 20 Sep 2023 14:19:00 +0000 (10:19 -0400)]
qa/distros: removed rhel 8 from supported distros

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7a1dce1ebd883741b5003b9e18d4765526cbbb3e)
(cherry picked from commit 6bff0eda850b8d7cd1d815328373c1eeff412f13)

15 months agoqa/crimson-rados: remove centos 8 symlinks
Adam King [Fri, 14 Jun 2024 15:59:27 +0000 (11:59 -0400)]
qa/crimson-rados: remove centos 8 symlinks

As we're trying to drop centos 8 from the distros we
test on these symlinks are now dead and need to be
cleaned up. In main, there was no replacement for
these symlinks (it just relies on the
crimson-supposted-all-distro dir for its distro)
so I'm just removing them here.

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 65fd8a574626e9ae63a4064802757d79f74b1b1a)

15 months agoqa/upgrade: make reef p2p parallel upgrade tests to use centos 9
Adam King [Tue, 11 Jun 2024 14:57:43 +0000 (10:57 -0400)]
qa/upgrade: make reef p2p parallel upgrade tests to use centos 9

Since we're no longer using centos 8 for tests after the removal
of the mirrors

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 3d0919d29d9b314b27da1ad83773bf27f15b5783)

15 months agoqa/distros: add ubuntu 22.04 for containerized tests
Adam King [Fri, 7 Jun 2024 17:36:31 +0000 (13:36 -0400)]
qa/distros: add ubuntu 22.04 for containerized tests

Partial backport of 0fa3eb67387eaf403b5a6e716a81582949dcecf1
that adds the symlinks for the containerized tests to use
ubuntu 22.04 but leaves out the part dropping ubuntu 20.04

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit cbb70e37e6b7b82be5f69da6c35db057184b16e2)

15 months agoqa/distros: add supported-container-hosts for cephadm and upgrade suites
Casey Bodley [Thu, 25 Jan 2024 17:41:39 +0000 (12:41 -0500)]
qa/distros: add supported-container-hosts for cephadm and upgrade suites

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 849a58b0873154a6713b4c8d838634f13b0b806d)
(cherry picked from commit 9930b469170ce04602f857d212a6538bab3d55db)

15 months agoqa/workunits/cephadm: enable nodejs:18 on centos 9 stream
Laura Flores [Mon, 22 Jan 2024 20:52:58 +0000 (20:52 +0000)]
qa/workunits/cephadm: enable nodejs:18 on centos 9 stream

Signed-off-by: Laura Flores <lflores@ibm.com>
(cherry picked from commit a602e5f0e0e48c40fd728ae382502826ca354828)
(cherry picked from commit f19ee36410080a3c596fbcbf07308a338bb4066f)

15 months agoqa/cephadm: fix iscsi pids limit check for centos 9
Adam King [Mon, 11 Dec 2023 20:44:30 +0000 (15:44 -0500)]
qa/cephadm: fix iscsi pids limit check for centos 9

Centos 9 uses cgroups v2 which has a slightly
different file location for the pids.max. This commit
updates the test to also check the new location
so the test can pass on centos 9

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 97efa97c2c72dba32774d0f105ae90462b93ac4e)
(cherry picked from commit e0e50da949147b41c685b90a884517fa6e187406)

15 months agoqa/cephadm: use quincy for add-repo test
Adam King [Mon, 11 Dec 2023 18:59:42 +0000 (13:59 -0500)]
qa/cephadm: use quincy for add-repo test

There are no centos 9 build for octopus, so if we
want to start testing on cnetos 9 as a distro we need
the add-repo test to be done on a newer release
for which there are actual builds

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 80dc6ce72a2c209424698ce31549362e9148022f)
(cherry picked from commit b27c4e229187360461ba1dd81eb959676e690751)

15 months agoqa: remove container hosts install from centos 9 distros
Adam King [Thu, 30 Nov 2023 22:14:59 +0000 (17:14 -0500)]
qa: remove container hosts install from centos 9 distros

We needed the container-hosts version of podman on centos 8,
but there's no need to keep using it in centos 9

Additionally, changes from crun variants to runc variants since
crun is now the default container runtime on centos 9

Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit c8873c6591d368e12907669c274fd3d6391e3f68)
(cherry picked from commit 1dbc8e4b6790b7d385d4df2b8a552bd2076026e7)

15 months agoqa/distos: remove rhel from podman and container-hosts
Casey Bodley [Mon, 9 Oct 2023 21:29:21 +0000 (17:29 -0400)]
qa/distos: remove rhel from podman and container-hosts

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7193f76a1502de392af0b407db0073266f9bc9c8)
(cherry picked from commit 53d9a47d1b9d997e00761a7c720af97c768f53ee)

15 months agoqa/suites/fs: workload suite uses centos 9 instead of rhel
Casey Bodley [Mon, 9 Oct 2023 21:28:48 +0000 (17:28 -0400)]
qa/suites/fs: workload suite uses centos 9 instead of rhel

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b9ba9642fea18055e768c3ddee5ba5e372264ede)
(cherry picked from commit 1f9e19c373b93123c68a610325c88bb57b1c3822)

15 months agoqa/distros: bump podman from centos 8 to 9
Casey Bodley [Mon, 9 Oct 2023 21:25:13 +0000 (17:25 -0400)]
qa/distros: bump podman from centos 8 to 9

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 00b3eef5b846dee6e9aae1f1295271c89f2801e5)
(cherry picked from commit a2b5cc150d7e6b80da186ed162edde9ae59fb5bb)

15 months agoqa/distros: bump container-hosts from centos 8 to 9
Casey Bodley [Mon, 9 Oct 2023 21:22:10 +0000 (17:22 -0400)]
qa/distros: bump container-hosts from centos 8 to 9

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit bac9e74abf0f5cb60c74640d6c4689169acf7abe)
(cherry picked from commit 78dead6e384f436cab2c763ea801966dea57100d)

15 months agoqa/distros: remove a-supported-distro.yaml that pointed to centos 7.2
Casey Bodley [Wed, 20 Sep 2023 19:55:54 +0000 (15:55 -0400)]
qa/distros: remove a-supported-distro.yaml that pointed to centos 7.2

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 3825863893a8577a306d70e171224f051d7e70ee)
(cherry picked from commit 030af009e996f46850fe92a342cf98f316ccc9ca)

15 months agoqa/distros: replace supported-all-distro with supported
Casey Bodley [Wed, 20 Sep 2023 19:55:05 +0000 (15:55 -0400)]
qa/distros: replace supported-all-distro with supported

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 0e5746d44ef44ba1c7e7c0c3c3828fdfc8b14fc2)
(cherry picked from commit 75f367c4937d1b670ab937cf826d221d4df840ff)

15 months agoqa/rgw/upgrade: fix broken links to distro files
Casey Bodley [Wed, 20 Sep 2023 16:03:43 +0000 (12:03 -0400)]
qa/rgw/upgrade: fix broken links to distro files

replace the broken links to qa/distros/supported/*.yaml with links under
qa/distros/all/

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit a60978fc51fa45399fbab5f2ca408f771c607c6d)
(cherry picked from commit fde79ec969d1b51dd358f28d015bb78d388154ed)

15 months agoqa/fs/upgrade: fix broken links to distro files
Casey Bodley [Wed, 20 Sep 2023 16:00:48 +0000 (12:00 -0400)]
qa/fs/upgrade: fix broken links to distro files

replace the broken links to qa/distros/supported/centos_8.stream.yaml
with links under qa/distros/all/

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 7486856ba1259ff2c35f5017d12a21f797c869d1)
(cherry picked from commit 0efa15a19606a127bca6dfb4bcb60c829b690e02)

15 months agoqa/rgw/notifications: pin to centos_latest
Casey Bodley [Wed, 20 Sep 2023 15:11:37 +0000 (11:11 -0400)]
qa/rgw/notifications: pin to centos_latest

the subsuite had a supported-all-distro$/ subdirectory, but that only
contained centos_8.yaml. qa/tasks/rabbitmq.py is hardcoded to use 'yum'
and rpm packages, so replace supported-all-distro$ with a link to
centos_latest.yaml

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 2d9348ad564f9199ae58062c1d12b7020cba0790)
(cherry picked from commit 0f15fd37cbbb47485aeb5293ceda3d91c4ce181a)

15 months agoqa: ignore container checkpoint/restore related selinux denials for centos9
Venky Shankar [Mon, 4 Mar 2024 01:15:11 +0000 (06:45 +0530)]
qa: ignore container checkpoint/restore related selinux denials for centos9

Fixes: http://tracker.ceph.com/issues/64616
Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 7a6389272affd04aab9ea88352ac0791dc472480)

 Conflicts:
qa/distros/podman/centos_9.stream.yaml

Adjust for missing centos_9.stream podman distro.

(cherry picked from commit 0418aba03e9802250d686a31d2795234f2ce88b7)

15 months agoqa: use allowlist instead of whitelist for selinux denials
Venky Shankar [Mon, 4 Mar 2024 01:09:06 +0000 (06:39 +0530)]
qa: use allowlist instead of whitelist for selinux denials

https://github.com/ceph/teuthology/pull/1757 introduced this change,
however, qa/distros continued to use `whitelist' keyword.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
(cherry picked from commit 71c9fe55d6a4ba3dbff166c155cc74d485f75330)

 Conflicts:
qa/distros/container-hosts/centos_9.stream.yaml
qa/distros/container-hosts/centos_9.stream_runc.yaml
qa/distros/podman/centos_9.stream.yaml

Adjust for missing centos_9[.stream] distros and other distros
which are present for release.

(cherry picked from commit c86a45dc833193de1904b6a7f64824c8df6e2b8a)

16 months agomon: validate SERVER_REEF on set-require-min-compat-client
Radoslaw Zarzynski [Thu, 30 May 2024 08:44:54 +0000 (08:44 +0000)]
mon: validate SERVER_REEF on set-require-min-compat-client

Unit testing
-------------
```
[rzarzynski@o06 build]$ bin/unittest_features
...
[ RUN      ] features.release_features
1 argonaut features 0x40000 looks like argonaut
2 bobtail features 0x40000 looks like argonaut
3 cuttlefish features 0x40000 looks like argonaut
4 dumpling features 0x42040000 looks like dumpling
5 emperor features 0x42040000 looks like dumpling
6 firefly features 0x20842040000 looks like firefly
7 giant features 0x20842040000 looks like firefly
8 hammer features 0x1020842040000 looks like hammer
9 infernalis features 0x1020842040000 looks like hammer
10 jewel features 0x401020842040000 looks like jewel
11 kraken features 0xc01020842040000 looks like kraken
12 luminous features 0xe01020842240000 looks like luminous
13 mimic features 0xe01020842240000 looks like luminous
14 nautilus features 0xe01020842240000 looks like luminous
15 octopus features 0xe01020842240000 looks like luminous
16 pacific features 0xe01020842240000 looks like luminous
17 quincy features 0xe01020842240000 looks like luminous
18 reef features 0xe010208d2240000 looks like reef
19 squid features 0xe010208d2240000 looks like reef
[       OK ] features.release_features (0 ms)
```

Manual testing
--------------
\### 'quincy` client connected to `main` cluster
There was `ceph -w` from `quincy` running in the background.

```
[rzarzynski@o06 build]$ bin/ceph osd set-require-min-compat-client reef
Error EPERM: cannot set require_min_compat_client to reef: 1 connected client(s) look like luminous (missing 0x80000000); add --yes-i-really-mean-it to do it anyway
```

\### Only `main` clients connected to `main` cluster
```
[rzarzynski@o06 build]$ bin/ceph osd get-require-min-compat-client
luminous
[rzarzynski@o06 build]$ bin/ceph daemon mon.a sessions | jq  -jr '.[] | .name, "\t", .con_features, "\t", .con_features_hex, "\n"' | grep client
client.?        4540701547738038271     3f03cffffffdffff
client.?        4540701547738038271     3f03cffffffdffff
[rzarzynski@o06 build]$ bin/ceph osd set-require-min-compat-client reef
set require_min_compat_client to reef
```

Fixes: https://tracker.ceph.com/issues/61948
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 4d74ff6327ebdc7deb44737cac08125204b2fec6)

(cherry picked from commit 70adcbbc3afadec0b194ae1d7e9833d1c569bce9)

16 months agomon, osd, *: expose upmap-primary in OSDMap::get_features()
Radoslaw Zarzynski [Mon, 27 May 2024 16:58:07 +0000 (16:58 +0000)]
mon, osd, *: expose upmap-primary in OSDMap::get_features()

This is a minimal fix to ensure only peers understanding
`pg-upmap-primary` are able to connect, and thus to exclude
the possibility of running into the `pg_upmap_primaries.empty()`
assertion in encoders.

Fixes for other problems will follow up.

The intention is to ship this patch in the very next minor
release of reef.

Manual testing
--------------

\### start using upmap-primar is presence of `quincy` client
NOTE: incompatible clients aren't disconnected but this is
known and expected as we lack the machinery.

```
[rzarzynski@o06 build]$ bin/ceph osd get-require-min-compat-client
reef
[rzarzynski@o06 build]$ bin/ceph daemon mon.a sessions | jq  -jr '.[] | .name, "\t", .con_features, "\t", .con_features_hex, "\n"' | grep client
client.?        4540701547738038271     3f03cffffffdffff
client.?        4540138320759226367     3f01cfbf7ffdffff
[rzarzynski@o06 build]$ bin/ceph osd pool create test_pool 1 1
pool 'test_pool' created
[rzarzynski@o06 build]$ bin/ceph osd pg-upmap-primary 1.0 2
change primary for pg 1.0 to osd.2
[rzarzynski@o06 build]$ bin/ceph daemon mon.a sessions | jq  -jr '.[] | .name, "\t", .con_features, "\t", .con_features_hex, "\n"' | grep client
client.?        4540701547738038271     3f03cffffffdffff
client.?        4540138320759226367     3f01cfbf7ffdffff
```

\### `main` client is still able to connect
```
[rzarzynski@o06 build]$ bin/ceph -w
  cluster:
    id:     d570a7cd-84ca-4fd0-aafb-80138762c6af
    health: HEALTH_WARN
            11 mgr modules have failed dependencies
            1 pool(s) do not have an application enabled

  services:
    mon: 1 daemons, quorum a (age 64m)
    mgr: x(active, since 64m)
    osd: 3 osds: 3 up (since 64m), 3 in (since 64m)

  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 300 GiB / 303 GiB avail
    pgs:     1 active+clean
```

\### `quincy` client is refused
```
[rzarzynski@o06 build-quincy]$ bin/ceph -s -c /home/rzarzynski/ceph2/build/ceph.conf
2024-05-30T08:59:42.411+0000 7f0911a9b700 -1 --2- 127.0.0.1:0/2812481872 >> [v2:127.0.0.1:40536/0,v1:127.0.0.1:40537/0] conn(0x7f090c111500 0x7f090c1118f0 secure :-1 s=SESSION_CONNECTING pgs=0 cs=0 l=0 rev1=1 crypto rx=0x7f08fc0048c0 tx=0x7f08fc009e30 comp rx=0 tx=0).handle_ident_missing_features client does not support all server features: 80000000
2024-05-30T08:59:42.612+0000 7f0911a9b700  0 --2- 127.0.0.1:0/2812481872 >> [v2:127.0.0.1:40536/0,v1:127.0.0.1:40537/0] conn(0x7f090c111500 0x7f090c1118f0 unknown :-1 s=AUTH_CONNECTING pgs=0 cs=0 l=0 rev1=1 crypto rx=0 tx=0 comp rx=0 tx=0).send_auth_request get_initial_auth_request returned -2
```

\### stop using upmap-primary
```
[rzarzynski@o06 build]$ bin/ceph osd rm-pg-upmap-primary 1.0
clear 1.0 pg_upmap_primary mapping
```

\### `quincy` client may connect again
```
[rzarzynski@o06 build-quincy]$ bin/ceph -s -c /home/rzarzynski/ceph2/build/ceph.conf
  cluster:
    id:     d570a7cd-84ca-4fd0-aafb-80138762c6af
    health: HEALTH_WARN
            11 mgr modules have failed dependencies
            1 pool(s) do not have an application enabled

  services:
    mon: 1 daemons, quorum a (age 77m)
    mgr: x(active, since 77m)
    osd: 3 osds: 3 up (since 76m), 3 in (since 76m)

  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 300 GiB / 303 GiB avail
    pgs:     1 active+clean

```

Fixes: https://tracker.ceph.com/issues/61948
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 5dbb7c4b12707b9c6d1334055cdd9dd820ffc1a6)

Conflicts:
src/osd/OSDMap.cc -- reef lacks MSR

(cherry picked from commit 9fb3902fc371568b28f85d53bd9560974766825b)

17 months agocmake/arrow: don't treat warnings as errors
Casey Bodley [Wed, 24 Jan 2024 14:44:25 +0000 (09:44 -0500)]
cmake/arrow: don't treat warnings as errors

with arrow's default BUILD_WARNING_LEVEL, -Werror is added to cflags and
debug builds fail on a warning about _FORTIFY_SOURCE

Fixes: https://tracker.ceph.com/issues/63130
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit 5c1a57a1afed1e4a632fb6df6de34ff9689460db)
(cherry picked from commit 7ecee431f6f3499730c5425b9b2930df8d61c159)

17 months agoceph.spec.in: remove command-with-macro line
John Mulligan [Fri, 29 Mar 2024 18:04:33 +0000 (14:04 -0400)]
ceph.spec.in: remove command-with-macro line

A comment clearly left as a breadcrumb for a node-proxy manpage is
causing (intermittent) build failures. Remove the line and hope
the manpage is added if/when appropriate.

Fixes: 0dd73643649ddc2366e60de4fe6c078b6e112091
Signed-off-by: John Mulligan <jmulligan@redhat.com>
(cherry picked from commit 5f25005dfbff51531989d121f26ecae308409356)
(cherry picked from commit a75e4b669fff6de47c24a3fa701b5302d86c7725)

17 months agoreef: qa: do not use `fs authorize` for two fs
Patrick Donnelly [Thu, 9 May 2024 01:38:56 +0000 (21:38 -0400)]
reef: qa: do not use `fs authorize` for two fs

This support was only recently added in squid.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 62328dfdf7aa834e5086080a7312b45439c2ebdf)

17 months agoPendingReleaseNotes: add note on the client incompatibility health warning and featur...
Patrick Donnelly [Fri, 3 May 2024 00:45:43 +0000 (20:45 -0400)]
PendingReleaseNotes: add note on the client incompatibility health warning and feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit e70f005f1b2f4ba5466d254ec4a6432297d3fbf4)
(cherry picked from commit 6a6aca8ad879e5fb9a08b23c6641903e40751e0a)

17 months agodoc/cephfs: add client_mds_auth_caps client feature bit
Patrick Donnelly [Fri, 3 May 2024 00:46:17 +0000 (20:46 -0400)]
doc/cephfs: add client_mds_auth_caps client feature bit

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 536b47cbfc669b5a3f04d93964408a2258d05ad0)
(cherry picked from commit cee4b62da42f0026220e6b8a4c3d92ec2c582b65)

17 months agodoc/cephfs: add missing client feature bits
Patrick Donnelly [Fri, 3 May 2024 00:38:19 +0000 (20:38 -0400)]
doc/cephfs: add missing client feature bits

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 79ba8970d7cbc714e160d5957bd849eede93e5a3)
(cherry picked from commit e6f24a3e59fe44c2f52a77c2787c5da369c9e464)

17 months agodoc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error
Patrick Donnelly [Thu, 2 May 2024 23:33:50 +0000 (19:33 -0400)]
doc/cephfs: document MDS_CLIENTS_BROKEN_ROOTSQUASH health error

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit b810bc9c54515b69aefffb36f1a47235b3c9125d)
(cherry picked from commit 2f6dff5e5e80d5376d04897bbae72b7055a3b05b)

17 months agoqa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH
Patrick Donnelly [Fri, 3 May 2024 00:52:29 +0000 (20:52 -0400)]
qa: add tests for MDS_CLIENTS_BROKEN_ROOTSQUASH

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 9d0ab233d822668e88c873bc1314e984feaf1296)
(cherry picked from commit 86fb2fa006f47a9792279895ffd00cb2cfdecc6e)

17 months agomds: raise health warning if client lacks feature for root_squash
Patrick Donnelly [Fri, 3 May 2024 00:50:37 +0000 (20:50 -0400)]
mds: raise health warning if client lacks feature for root_squash

Rather than evict all clients lacking this feature bit, raise a health error
that pushes the administrator to address it. This avoids the surprise of having
all affected clients suddenly evicted in the cluster.

Fixes: https://tracker.ceph.com/issues/65733
Fixes: 954ed30
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 66ff5c9fc8d4664f18b2fa462e96e5548c35951f)

Conflicts:
src/messages/MMDSBeacon.h: missing health beacon type
(cherry picked from commit 480b2cb199e6c933930ece59a3eca9c4cdf29c50)

17 months agomon/MDSMonitor: add note about missing metadata inclusion
Patrick Donnelly [Fri, 3 May 2024 00:49:22 +0000 (20:49 -0400)]
mon/MDSMonitor: add note about missing metadata inclusion

There is a "client_count" metadata on the health warning that apparently was
intended to be used for aggregating warnings but never was. Add a TODO item for
that.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 6517b704e311fd24dbf5bfbdec2ddd23b17d4092)
(cherry picked from commit c5e59168761928980869c612af21dd033808d76c)

17 months agomds: check relevant caps for fs include root_squash
Patrick Donnelly [Wed, 1 May 2024 01:41:14 +0000 (21:41 -0400)]
mds: check relevant caps for fs include root_squash

When denying client reconnects because the MDS caps include root_squash and the
client features do not include CEPHFS_FEATURE_MDS_AUTH_CAPS_CHECK, ensure those
caps are only for the file system the MDS is joined to.

Fixes: https://tracker.ceph.com/issues/65733
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit f79ae86f2c23388f6ecc3177764735e071998e09)
(cherry picked from commit 9b0f49212b11520961e0663fa0f0fa3452133ee7)

17 months agomds: refactor out fs_name match in MDSAuthCaps
Patrick Donnelly [Thu, 2 May 2024 12:55:36 +0000 (08:55 -0400)]
mds: refactor out fs_name match in MDSAuthCaps

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 247b4fed28617c104473d1586b66a8735bff0411)
(cherry picked from commit 1399fafd220453b706af65e3a5b5dba16ea1a37a)

17 months agoqa: test for root_squash with multiple caps
Patrick Donnelly [Thu, 2 May 2024 01:08:57 +0000 (21:08 -0400)]
qa: test for root_squash with multiple caps

Where the client has root_squash for one cap but not for another. The fs
without root_squash should not necessarily reject the client.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit bccc8ceb471c441ec04d7eb2c353630f8c5ce843)

Conflicts:
qa/tasks/cephfs/test_admin.py: missing test
(cherry picked from commit 22342c7f6395764256be16828b65a864767a01fb)

17 months agoqa: pass kwargs to mount from remount
Patrick Donnelly [Thu, 2 May 2024 02:06:54 +0000 (22:06 -0400)]
qa: pass kwargs to mount from remount

So we can pass mntargs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit afcbfc040b56779e58563f715f26a0fe25e9f916)
(cherry picked from commit 14e030f746ab66a5a3cf930da1618ba6fbd61180)

17 months agoqa: simplify update_attrs and only update relevant keys
Patrick Donnelly [Thu, 2 May 2024 02:04:57 +0000 (22:04 -0400)]
qa: simplify update_attrs and only update relevant keys

So we can just pass the caller's kwargs to update_attrs.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 597ff3cb15e7a7ce527b35eb01d9958b755bbf01)
(cherry picked from commit ed939ee6743025c4d88704de7351fad2b62cffb8)

17 months agoclient: allow overriding client features
Patrick Donnelly [Thu, 2 May 2024 00:51:59 +0000 (20:51 -0400)]
client: allow overriding client features

For testing purposes.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit d9239f9375c1ae92a4990950f40078766bd912e8)
(cherry picked from commit e552cfc893e5cd1f89dfa5fe6f0280286d356333)

17 months agodebian: add missing bcrypt to manager .requires
Thomas Lamprecht [Tue, 5 Sep 2023 11:28:07 +0000 (13:28 +0200)]
debian: add missing bcrypt to manager .requires

The `ceph-mgr` package lost its dependency on `python3-bcrypt` when
the dependencies got moved from d/control to a dh_python3 compatible
requires file. Add it again as the bcrypt module is still used there.

Otherwise one gets errors when, e.g., calling `ceph -s` after a fresh
installation:

> 13 mgr modules have failed dependencies
> Module 'balancer' has failed dependency: No module named 'bcrypt'
> Module 'crash' has failed dependency: No module named 'bcrypt'
> Module 'devicehealth' has failed dependency: No module named 'bcrypt'
> Module 'iostat' has failed dependency: No module named 'bcrypt'
> Module 'nfs' has failed dependency: No module named 'bcrypt'
> Module 'orchestrator' has failed dependency: No module named 'bcrypt'
> Module 'pg_autoscaler' has failed dependency: No module named 'bcrypt'
> Module 'progress' has failed dependency: No module named 'bcrypt'
> Module 'rbd_support' has failed dependency: No module named 'bcrypt'
> Module 'restful' has failed dependency: No module named 'bcrypt'
> Module 'status' has failed dependency: No module named 'bcrypt'
> Module 'telemetry' has failed dependency: No module named 'bcrypt'
> Module 'volumes' has failed dependency: No module named 'bcrypt'

Fixes: https://tracker.ceph.com/issues/63637
Fixes: ef19547e83e ("debian: add .requires for specifying python3 deps")
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit adc501c2ceed138dd0b94be5a17ea7489377da57)
(cherry picked from commit 387b840c1786e77afab5c88b90682d1df3d42811)

17 months agosystemd: add systemd unit file for ceph-exporter
Shinya Hayashi [Mon, 5 Feb 2024 04:16:26 +0000 (04:16 +0000)]
systemd: add systemd unit file for ceph-exporter

Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
(cherry picked from commit 32cbe079c60031f67ee91e2f74f39244a027eba6)
(cherry picked from commit 5f7da9d127c6179b7db0b62e82cae46f137129bc)

17 months agodebian: add ceph-exporter package
Shinya Hayashi [Tue, 30 Jan 2024 10:32:50 +0000 (10:32 +0000)]
debian: add ceph-exporter package

It is hard for Debian/Ubuntu users to use ceph-exporter
because it is not included in any deb packages.

This commit adds a new deb package for ceph-exporter.

Fixes: https://tracker.ceph.com/issues/64095
Signed-off-by: Shinya Hayashi <shinya-hayashi@cybozu.co.jp>
(cherry picked from commit a53c0651fbd8991e258ce7d0e3a80865dabfea88)
(cherry picked from commit 0479bc612ac630b0cc5d57b7d1b7f8439152d437)

18 months agoceph-volume: update functional testing
Yuri Weinstein [Fri, 12 Apr 2024 19:27:37 +0000 (19:27 +0000)]
ceph-volume: update functional testing

various changes for fixing ceph-volume functional testing.
cleaning up deploy.yml (drop py2 references)

Signed-off-by: Guillaume Abrioux <gabrioux@ibm.com>
(cherry picked from commit 90bfaaa2f0ab7e28c0f78189ccb83635e944e758)
(cherry picked from commit bf448e3f637f8c8e42f095b1b5ff709e3633dc11)
(cherry picked from commit 63fe3921638f1fb7fc065907a9e1a64700f8a600)

18 months agoMerge pull request #56672 from batrick/wip-65294-reef
Yuri Weinstein [Mon, 8 Apr 2024 18:18:25 +0000 (11:18 -0700)]
Merge pull request #56672 from batrick/wip-65294-reef

reef: mds: skip sr moves when target is an unlinked dir

Reviewed-by: Venky Shankar <vshankar@redhat.com>
18 months agoMerge pull request #53635 from vshankar/wip-62287-reef
Yuri Weinstein [Mon, 8 Apr 2024 18:17:47 +0000 (11:17 -0700)]
Merge pull request #53635 from vshankar/wip-62287-reef

reef: test: explicitly link to ceph-common for some libcephfs tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
18 months agoMerge pull request #53357 from k0ste/wip-61993-reef
Yuri Weinstein [Mon, 8 Apr 2024 18:16:37 +0000 (11:16 -0700)]
Merge pull request #53357 from k0ste/wip-61993-reef

reef: mds/MDSRank: Add set_history_slow_op_size_and_threshold for op_tracker

Reviewed-by: Venky Shankar <vshankar@redhat.com>
18 months agoMerge pull request #56736 from rhcs-dashboard/fix-65285-reef
Aashish Sharma [Mon, 8 Apr 2024 04:33:39 +0000 (10:03 +0530)]
Merge pull request #56736 from rhcs-dashboard/fix-65285-reef

mgr/dashboard: add Table Schema to grafonnet

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agoMerge pull request #56740 from zdover23/wip-doc-2024-05-07-backport-56738-to-reef
Anthony D'Atri [Sun, 7 Apr 2024 12:28:31 +0000 (08:28 -0400)]
Merge pull request #56740 from zdover23/wip-doc-2024-05-07-backport-56738-to-reef

reef: doc/dev: refine "Concepts" 4 of 3

18 months agodoc/dev: refine "Concepts" 4 of 3
Zac Dover [Sat, 6 Apr 2024 04:43:16 +0000 (14:43 +1000)]
doc/dev: refine "Concepts" 4 of 3

s/PG's PG logs/PG's logs/

re https://github.com/ceph/ceph/pull/56727#discussion_r1553541922

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 221d734760b6f680e4d17cd2f0bfcd39f914c8d6)

18 months agoMerge pull request #56729 from zdover23/wip-doc-2024-04-05-backport-56727-to-reef
Zac Dover [Sat, 6 Apr 2024 04:39:26 +0000 (14:39 +1000)]
Merge pull request #56729 from zdover23/wip-doc-2024-04-05-backport-56727-to-reef

reef: doc/dev: refine "Concepts" 3 of 3

18 months agomgr/dashboard: add Table Schema to grafonnet
Aashish Sharma [Sat, 6 Apr 2024 03:36:51 +0000 (09:06 +0530)]
mgr/dashboard: add Table Schema to grafonnet

Backport of #56509 in reef didn't include the Table Schema in the
utils.libsonnet because of which the json generation ias failing. This
PR tends to add the Table Schema

Signed-off-by: Aashish Sharma <aasharma@redhat.com>
18 months agoMerge pull request #56707 from afreen23/wip-65209-reef
Nizamudeen A [Fri, 5 Apr 2024 17:27:17 +0000 (22:57 +0530)]
Merge pull request #56707 from afreen23/wip-65209-reef

reef: mgr/dashboard:Update encryption and tags in bucket form

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agoMerge pull request #56710 from afreen23/wip-65333-reef
Nizamudeen A [Fri, 5 Apr 2024 17:26:10 +0000 (22:56 +0530)]
Merge pull request #56710 from afreen23/wip-65333-reef

reef: mgr/dashboard:Use advanced fieldset for rbd image

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agodoc/dev: refine "Concepts" 3 of 3
Zac Dover [Fri, 5 Apr 2024 06:43:47 +0000 (16:43 +1000)]
doc/dev: refine "Concepts" 3 of 3

Refine the third third of the entries in the section "Concepts" in
doc/dev/peering.rst.

Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 512e2dc9d52fdd14dfdd87ccd141e535d3098fb7)

18 months agoMerge pull request #56725 from zdover23/wip-doc-2024-04-05-backport-56646-to-reef
Anthony D'Atri [Fri, 5 Apr 2024 12:34:21 +0000 (08:34 -0400)]
Merge pull request #56725 from zdover23/wip-doc-2024-04-05-backport-56646-to-reef

reef: doc/dev: refine "Concepts" 2 of 3

18 months agoMerge pull request #56682 from aaSharma14/wip-65285-reef
Aashish Sharma [Fri, 5 Apr 2024 04:52:48 +0000 (10:22 +0530)]
Merge pull request #56682 from aaSharma14/wip-65285-reef

reef: mgr/dashboard: replace deprecated table panel in grafana with a newer table panel

Reviewed-by: Nizamudeen A <nia@redhat.com>
18 months agodoc/dev: refine "Concepts" 2 of 3
Zac Dover [Wed, 3 Apr 2024 05:02:29 +0000 (15:02 +1000)]
doc/dev: refine "Concepts" 2 of 3

Refine the second third of the entries in the section "Concepts" in
doc/dev/peering.rst.

Co-authored-by: Anthony D'Atri <anthony.datri@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
(cherry picked from commit 7bb35282da27f0c18ffbe36f2c0852a827c5bc2f)

18 months agomgr/dashboard:Use advanced fieldset for rbd image
Afreen [Wed, 27 Mar 2024 09:35:58 +0000 (15:05 +0530)]
mgr/dashboard:Use advanced fieldset for rbd image

Fixes https://tracker.ceph.com/issues/65025

- using cd-advanced-fieldset component for advanced section
- this will align advanced sections of forms in dashboard
- changed heading of sections of rbd-configuration to h5 to better represent it
  as a sub section.
- added unit tests for rbd image config

Signed-off-by: Afreen <afreen23.git@gmail.com>
(cherry picked from commit 25552117b433dbe39bf245aeda99761def5749eb)

18 months agomgr/dashboard:Update encryption and tags in bucket form
Afreen [Mon, 25 Mar 2024 08:39:08 +0000 (14:09 +0530)]
mgr/dashboard:Update encryption and tags in bucket form

Fixes https://tracker.ceph.com/issues/65110

- renamed Security to Encryption
- aligned security fieldset with rest of the form using `cd-help-text`
  and aligning it with object locking in UX
- aligned security fieldset top use `cd-help-text`
- changed help text of Tags

Signed-off-by: Afreen <afreen23.git@gmail.com>
(cherry picked from commit 96b21d7cf5bb698102dc0cfce6fef05204b82d2e)

18 months agoMerge pull request #56692 from afreen23/wip-65304-reef
Nizamudeen A [Thu, 4 Apr 2024 16:34:52 +0000 (22:04 +0530)]
Merge pull request #56692 from afreen23/wip-65304-reef

reef: mgr/dashboard: Add advanced fieldset component

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
18 months agoMerge pull request #56323 from adk3798/wip-64844-reef
Yuri Weinstein [Thu, 4 Apr 2024 15:31:35 +0000 (08:31 -0700)]
Merge pull request #56323 from adk3798/wip-64844-reef

reef: ceph-volume: Use safe accessor to get TYPE info

Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
18 months agoMerge pull request #56648 from zdover23/wip-doc-2024-04-03-backport-56228-to-reef
Zac Dover [Thu, 4 Apr 2024 12:55:35 +0000 (22:55 +1000)]
Merge pull request #56648 from zdover23/wip-doc-2024-04-03-backport-56228-to-reef

reef: doc: fixing doc/cephfs/fs-volumes

Reviewed-by: Cole Mitchell <cole.mitchell.ceph@gmail.com>
18 months agoMerge pull request #56684 from zdover23/wip-doc-2024-04-04-backport-56662-to-reef
Zac Dover [Thu, 4 Apr 2024 11:39:21 +0000 (21:39 +1000)]
Merge pull request #56684 from zdover23/wip-doc-2024-04-04-backport-56662-to-reef

reef: doc/mgr: credit John Jasen for Zabbix 2

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
18 months agoMerge pull request #54945 from rishabh-d-dave/wip-63405-reef
Rishabh Dave [Thu, 4 Apr 2024 10:24:48 +0000 (15:54 +0530)]
Merge pull request #54945 from rishabh-d-dave/wip-63405-reef

reef: MDSAuthCaps: print better error message for perm flag in MDS caps

Reviewed-by: Venky Shankar <vshankar@redhat.com>
18 months agomgr/dashboard: Add advanced fieldset component
Afreen [Fri, 1 Mar 2024 07:26:25 +0000 (12:56 +0530)]
mgr/dashboard: Add advanced fieldset component

Fixes https://tracker.ceph.com/issues/65024

- adds a new shared component for displaying advanced fields in /shared
- utilizes that component in bucket form
- placement targets are under advanced fieldset
- minor help text changes in object locking help text
- updated e2e tests

Signed-off-by: Afreen <afreen23.git@gmail.com>
(cherry picked from commit d0979e9c5223231a0fd3ef6408323d2fd5cd2ac5)

Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/shared/components/components.module.ts

18 months agoMerge pull request #56171 from vshankar/wip-64218-reef
Venky Shankar [Thu, 4 Apr 2024 06:57:43 +0000 (12:27 +0530)]
Merge pull request #56171 from vshankar/wip-64218-reef

reef: qa: `fs volume rename` requires `fs fail` and `refuse_client_session` set

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
18 months agoMerge pull request #56169 from vshankar/wip-64047-reef
Venky Shankar [Thu, 4 Apr 2024 06:57:10 +0000 (12:27 +0530)]
Merge pull request #56169 from vshankar/wip-64047-reef

reef: qa: set mds config with `config set` for a particular test

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
18 months agoMerge pull request #56167 from vshankar/wip-64250-reef
Venky Shankar [Thu, 4 Apr 2024 06:56:40 +0000 (12:26 +0530)]
Merge pull request #56167 from vshankar/wip-64250-reef

reef: qa: correct usage of DEBUGFS_META_DIR in dedent

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
18 months agoMerge pull request #56016 from vshankar/wip-64759-reef
Venky Shankar [Thu, 4 Apr 2024 06:49:54 +0000 (12:19 +0530)]
Merge pull request #56016 from vshankar/wip-64759-reef

reef: mds: relax certain asserts in mdlog replay thread

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>