]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

12 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)

13 months agomon: validate SERVER_REEF on set-require-min-compat-client 57634/head
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)

13 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

14 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)

15 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)

15 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>
15 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>
15 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>
15 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>
15 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

15 months agodoc/dev: refine "Concepts" 4 of 3 56740/head
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)

15 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

15 months agomgr/dashboard: add Table Schema to grafonnet 56736/head
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>
15 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>
15 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>
15 months agodoc/dev: refine "Concepts" 3 of 3 56729/head
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)

15 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

15 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>
15 months agodoc/dev: refine "Concepts" 2 of 3 56725/head
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)

15 months agomgr/dashboard:Use advanced fieldset for rbd image 56710/head
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)

15 months agomgr/dashboard:Update encryption and tags in bucket form 56707/head
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)

15 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>
15 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>
15 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>
15 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>
15 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>
15 months agomgr/dashboard: Add advanced fieldset component 56692/head
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

15 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>
15 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>
15 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>
15 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>
15 months agoMerge pull request #56557 from afreen23/wip-65205-reef
Nizamudeen A [Thu, 4 Apr 2024 05:49:41 +0000 (11:19 +0530)]
Merge pull request #56557 from afreen23/wip-65205-reef

reef: mgr/dashboard: make ceph logo redirect to dashboard

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #56621 from afreen23/wip-65211-reef
Nizamudeen A [Thu, 4 Apr 2024 05:47:51 +0000 (11:17 +0530)]
Merge pull request #56621 from afreen23/wip-65211-reef

reef: mgr/dashboard: Mark placement targets as non-required

Reviewed-by: Ankush Behl <cloudbehl@gmail.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
15 months agoMerge pull request #56049 from lxbsz/wip-64584
Venky Shankar [Thu, 4 Apr 2024 04:29:10 +0000 (09:59 +0530)]
Merge pull request #56049 from lxbsz/wip-64584

reef: mds: allow lock state to be LOCK_MIX_SYNC in replica for filelock

Reviewed-by: Venky Shankar <vshankar@redhat.com>
15 months agodoc/mgr: credit John Jasen for Zabbix 2 56684/head
Zac Dover [Wed, 3 Apr 2024 12:21:04 +0000 (22:21 +1000)]
doc/mgr: credit John Jasen for Zabbix 2

Credit John Jasen for the development of the procedures describing the
installation of Zabbix 2.

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

15 months agomgr/dashboard: replace deprecated table panel in grafana with a newer 56682/head
Aashish Sharma [Wed, 27 Mar 2024 08:16:24 +0000 (13:46 +0530)]
mgr/dashboard: replace deprecated table panel in grafana with a newer
table panel

Fixes: https://tracker.ceph.com/issues/65174
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
(cherry picked from commit c2f4aa7887d8322bc58cd1cb322746246ccebe32)

15 months agoMerge pull request #56347 from cbodley/wip-65003-reef
Yuri Weinstein [Wed, 3 Apr 2024 22:04:30 +0000 (15:04 -0700)]
Merge pull request #56347 from cbodley/wip-65003-reef

reef: rgw: Add missing empty checks to the split string in is_string_in_set().

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
15 months agoMerge pull request #56197 from ifed01/wip-ifed-fix-estimate-kv-reef
Yuri Weinstein [Wed, 3 Apr 2024 22:03:38 +0000 (15:03 -0700)]
Merge pull request #56197 from ifed01/wip-ifed-fix-estimate-kv-reef

reef: os/kv_test: Fix estimate functions

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
15 months agoMerge pull request #55867 from trociny/wip-64650-reef
Yuri Weinstein [Wed, 3 Apr 2024 22:02:44 +0000 (15:02 -0700)]
Merge pull request #55867 from trociny/wip-64650-reef

reef: mon/OSDMonitor: fix get_min_last_epoch_clean()

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Matan Breizman <Matan.Brz@gmail.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
15 months agoMerge pull request #55777 from ifed01/wip-ifed-fix-expand-with-ncb-reef
Yuri Weinstein [Wed, 3 Apr 2024 22:01:23 +0000 (15:01 -0700)]
Merge pull request #55777 from ifed01/wip-ifed-fix-expand-with-ncb-reef

reef: os/bluestore: fix free space update after bdev-expand in NCB mode

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
15 months agoMerge pull request #55548 from k0ste/wip-64397-reef
Yuri Weinstein [Wed, 3 Apr 2024 21:58:18 +0000 (14:58 -0700)]
Merge pull request #55548 from k0ste/wip-64397-reef

reef: mon: fix health store size growing infinitely

Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
Reviewed-by: Matan Breizman <Matan.Brz@gmail.com>
15 months agoMerge pull request #54258 from YiteGu/backport-bluestore-fragmentation-to-metrics
Yuri Weinstein [Wed, 3 Apr 2024 21:57:54 +0000 (14:57 -0700)]
Merge pull request #54258 from YiteGu/backport-bluestore-fragmentation-to-metrics

reef: os/bluestore: add bluestore fragmentation micros to prometheus

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
15 months agoqa/cephfs: don't use run_cluster_cmd() 54945/head
Rishabh Dave [Thu, 21 Mar 2024 12:59:52 +0000 (18:29 +0530)]
qa/cephfs: don't use run_cluster_cmd()

The method was deleted in favour of run_ceph_cmd() and
get_ceph_cmd_stdout() in commit
35a0d84972d691535533ffeb1635e5f94d808575.

This commit is not a backport but a new commit to fix the code present
on Reef branch but not present in release branches after Reef. At least
some of these issues were exposed during QA done for the backport.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
15 months agoAuthMonitor: no need to check permission in MDS caps
Rishabh Dave [Sat, 24 Jun 2023 04:17:12 +0000 (09:47 +0530)]
AuthMonitor: no need to check permission in MDS caps

For "fs authorize" command, AuthMonitor.cc checks if permissions is "r"
or begins with "rw". This check is redundant now.
AuthMonitor::valid_caps() runs MDSAuthCaps.parse() which now runs same
check for the MDS caps, regardless of the command.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 8e1e322054ea14eb5e59969439c0ea27885503ab)

15 months agoMDSAuthCaps: print a special error message for wrong permissions
Rishabh Dave [Fri, 9 Jun 2023 18:54:12 +0000 (00:24 +0530)]
MDSAuthCaps: print a special error message for wrong permissions

Permissions mentioned in MDS caps flags can either begin with "r" or
"rw", or can be "*" and "all". But it can't start with or be just "w" or
something else. This is confusing for some CephFS users since MON caps
can be just "w".

Command "ceph fs authorize" complains about this to the user. But other
commands (specifically, "ceph auth add", "ceph auth caps",
"ceph auth get-or-create" and "ceph auth get-or-create-key") don't. Make
these commands too print a helpful message, the way "ceph fs authorize"
command does.

Fixes: https://tracker.ceph.com/issues/61666
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f163dd3ef1fd9f05f05fa50eda9993225770d524)

Conflicts:
src/mds/MDSAuthCaps.cc
"std::string" was replace "string" in main but that's not the case
in Reef.

15 months agoqa/ceph_test_case: add a method to negative test Ceph commands
Rishabh Dave [Sat, 24 Jun 2023 17:11:07 +0000 (22:41 +0530)]
qa/ceph_test_case: add a method to negative test Ceph commands

Also, add comments to explain the users the arguments are accepted by
run_ceph_cmd(), get_ceph_cmd_result(), get_ceph_cmd_stdout() and
negtest_ceph_cmd() methods of class RunCephCmd.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f72b217e3542de1880f694917bacd18f092560c4)

15 months agoqa: inherit RunCephCmd in CephTestCase instead of CephFSTestCase
Rishabh Dave [Wed, 9 Aug 2023 12:40:32 +0000 (18:10 +0530)]
qa: inherit RunCephCmd in CephTestCase instead of CephFSTestCase

MgrTestCase also needs RunCephCmd. If RunCephCmd is inherited by
CephTestCase, instead of CephFSTestCase, MgrTestCase will automatically
inherit RunCephCmd because it inhertis CephTestCase.

Fixes: https://tracker.ceph.com/issues/62084
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 4b369cf18ed1391a426ab4ae86da834e9c074f81)

15 months agoqa/cephfs: use run_ceph_cmd() when cmd output is not needed
Rishabh Dave [Mon, 27 Mar 2023 06:21:16 +0000 (11:51 +0530)]
qa/cephfs: use run_ceph_cmd() when cmd output is not needed

In filesystem.py and wherever instance of class Filesystem are used, use
run_ceph_cmd() instead of get_ceph_cluster_stdout() when output of Ceph
command is not required.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 0a781ef0807ae9473fb1306ef07036226ca4f1a6)

15 months agoqa/cephfs: add helper methods to filesystem.py
Rishabh Dave [Mon, 27 Mar 2023 06:09:11 +0000 (11:39 +0530)]
qa/cephfs: add helper methods to filesystem.py

Add run_ceph_cmd(), get_ceph_cmd_stdout() and get_ceph_cmd_result() to
class Filesystem so that running Ceph command is easier. This affects
not only methods inside class Filesystem but also methods elsewhere that
uses instance of class Filesystem to run Ceph commands.

Instead of "self.fs.mon_manager.raw_cluster_cmd()" writing
"self.fs.run_ceph_cmd()" will suffice.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 1bf87e6eec91b05a15702068bcf6a96e228f8d42)

15 months agoqa/cephfs: when cmd output is not needed call run_ceph_cmd()
Rishabh Dave [Thu, 16 Mar 2023 16:28:22 +0000 (21:58 +0530)]
qa/cephfs: when cmd output is not needed call run_ceph_cmd()

instead of get_ceph_cmd_stdout().

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit c7c38ba558e089c51d71e0b0713b3e0a368b9699)

Conflicts:
qa/tasks/cephfs/test_mirroring.py
- Commit e4dd0e41a3a0 was not present on main but it is now
present on main as well as on Reef, which leads to conflict.
- The line located right before one of the patches in this
  commit was modified in latest Reef branch, thus creating
  conflict when PR branch was rebased on latest Reef.

15 months agoqa/cephfs: add and use get_ceph_cmd_stdout()
Rishabh Dave [Thu, 16 Mar 2023 10:02:39 +0000 (15:32 +0530)]
qa/cephfs: add and use get_ceph_cmd_stdout()

Add method get_ceph_cmd_stdout() to class CephFSTestCase so that one
doesn't have to type something as long as
"self.mds_cluster.mon_manager.raw_cluster_cmd()" to execute a
command and get its output. And delete and replace
CephFSTestCase.run_cluster_cmd() too.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 13168834e374120d9c319a120a35768ddbc70de5)

Conflicts:
qa/tasks/cephfs/caps_helper.py
- This file is very different in Reef.
qa/tasks/cephfs/test_mirroring.py
- Commit e4dd0e41a3a0 was not present on main but it is now
  present on main as well as on Reef, which leads to conflict.
- On Reef branch, the line before that patch in this commit was
  thus creating a conflict when the PR branch for this commit
  series was rebased on latest Reef.

15 months agoqa/cephfs: add and use run_ceph_cmd()
Rishabh Dave [Thu, 16 Mar 2023 09:41:08 +0000 (15:11 +0530)]
qa/cephfs: add and use run_ceph_cmd()

Instead of writing something as long as
"self.mds_cluster.mon_manager.run_cluster_cmd()" to execute a command,
let's add a helper method to class CephFSTestCase and use it instead.

With this, running a command becomes simple - "self.run_ceph_cmd()".

Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit f8f2154e54e202996b24904162da6022081e9d93)

Conflicts:
qa/tasks/cephfs/test_damage.py
This file is slightly different because this commit
c8f8324ee2fae48e8d3c2bbdbf45cc9ffe46fd4c was merged on main and
backported after the commit being cherry-picked here was merged
in main.