]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agoMerge pull request #47373 from adk3798/wip-56986-quincy
Adam King [Wed, 3 Aug 2022 12:04:13 +0000 (08:04 -0400)]
Merge pull request #47373 from adk3798/wip-56986-quincy

quincy: mgr/cephadm: clear error message when resuming upgrade

Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoMerge pull request #47374 from adk3798/wip-56983-quincy
Adam King [Wed, 3 Aug 2022 12:03:58 +0000 (08:03 -0400)]
Merge pull request #47374 from adk3798/wip-56983-quincy

quincy: cephadm: Fix repo_gpgkey should return 2 vars

Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoMerge pull request #46467 from mdw-at-linuxbox/mdw-quincy-mankey
Casey Bodley [Wed, 3 Aug 2022 11:40:47 +0000 (07:40 -0400)]
Merge pull request #46467 from mdw-at-linuxbox/mdw-quincy-mankey

quincy -- sse s3 changes

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47356 from rhcs-dashboard/wip-56965-quincy
Avan [Wed, 3 Aug 2022 08:35:50 +0000 (14:05 +0530)]
Merge pull request #47356 from rhcs-dashboard/wip-56965-quincy

quincy: mgr/dashboard: add required validation for frontend and monitor port

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #47403 from aaSharma14/wip-57003-quincy
Aashish Sharma [Wed, 3 Aug 2022 05:40:57 +0000 (11:10 +0530)]
Merge pull request #47403 from aaSharma14/wip-57003-quincy

quincy: mgr/dashboard: Show error on creating service with duplicate service id

Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #47195 from adamemerson/wip-54208-quincy
Yuri Weinstein [Tue, 2 Aug 2022 21:24:53 +0000 (14:24 -0700)]
Merge pull request #47195 from adamemerson/wip-54208-quincy

quincy: rgw: Fix data race in ChangeStatus

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47191 from adamemerson/wip-56585-quincy
Yuri Weinstein [Tue, 2 Aug 2022 21:24:03 +0000 (14:24 -0700)]
Merge pull request #47191 from adamemerson/wip-56585-quincy

quincy: rgw: Guard against malformed bucket URLs

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47415 from zdover23/wip-doc-2022-08-03-backport-47197-to-quincy
zdover23 [Tue, 2 Aug 2022 20:26:57 +0000 (06:26 +1000)]
Merge pull request #47415 from zdover23/wip-doc-2022-08-03-backport-47197-to-quincy

quincy: doc/dev: Elaborate on boost .deb creation

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/dev: Elaborate on boost .deb creation 47415/head
David Galloway [Wed, 20 Jul 2022 21:07:44 +0000 (17:07 -0400)]
doc/dev: Elaborate on boost .deb creation

Signed-off-by: David Galloway <dgallowa@redhat.com>
(cherry picked from commit 3222485d6582ba6ab3ee908c13b6459c2e2b6302)

2 years agoMerge pull request #47149 from guits/wip-56496-quincy
Guillaume Abrioux [Tue, 2 Aug 2022 14:10:12 +0000 (16:10 +0200)]
Merge pull request #47149 from guits/wip-56496-quincy

quincy: ceph-volume: fix `simple scan`

2 years agoMerge pull request #47406 from guits/quincy-cv-backports
Guillaume Abrioux [Tue, 2 Aug 2022 13:52:15 +0000 (15:52 +0200)]
Merge pull request #47406 from guits/quincy-cv-backports

ceph-volume: Quincy backports

2 years agoceph-volume: fix is_ceph_disk_member() 47406/head
Guillaume Abrioux [Tue, 26 Jul 2022 14:24:31 +0000 (16:24 +0200)]
ceph-volume: fix is_ceph_disk_member()

`dev['NAME']` can't match `part` given that it's the name of the
parent device being compared to the partition name.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 24899a1f8d77bc3c10ef158bb463349d615f7c57)

2 years agoceph-volume: filter out non-existing devices
Guillaume Abrioux [Mon, 25 Jul 2022 15:19:01 +0000 (17:19 +0200)]
ceph-volume: filter out non-existing devices

[1] has broken teuthology tests.

```
[root@smithi097 /]# ls -l /sys/block/
total 0
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-0 -> ../devices/virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-1 -> ../devices/virtual/block/dm-1
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-2 -> ../devices/virtual/block/dm-2
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-3 -> ../devices/virtual/block/dm-3
lrwxrwxrwx 1 root root 0 Jul 25 14:15 dm-4 -> ../devices/virtual/block/dm-4
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop0 -> ../devices/virtual/block/loop0
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop1 -> ../devices/virtual/block/loop1
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop2 -> ../devices/virtual/block/loop2
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop3 -> ../devices/virtual/block/loop3
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop4 -> ../devices/virtual/block/loop4
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop5 -> ../devices/virtual/block/loop5
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop6 -> ../devices/virtual/block/loop6
lrwxrwxrwx 1 root root 0 Jul 25 14:13 loop7 -> ../devices/virtual/block/loop7
lrwxrwxrwx 1 root root 0 Jul 25 14:12 nvme0n1 -> ../devices/pci0000:00/0000:00:02.0/0000:02:00.0/nvme/nvme0/nvme0n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme1c1n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme1/nvme1c1n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme1n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys1/nvme1n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme2c2n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme2/nvme2c2n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme2n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys2/nvme2n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme3c3n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme3/nvme3c3n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme3n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys3/nvme3n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme4c4n1 -> ../devices/virtual/nvme-fabrics/ctl/nvme4/nvme4c4n1
lrwxrwxrwx 1 root root 0 Jul 25 14:18 nvme4n1 -> ../devices/virtual/nvme-subsystem/nvme-subsys4/nvme4n1
lrwxrwxrwx 1 root root 0 Jul 25 14:12 sda -> ../devices/pci0000:00/0000:00:1f.2/ata5/host4/target4:0:0/4:0:0:0/block/sda
[root@smithi097 /]#
```

devices like `nvme1c1n1` exist in `/sys/block` but aren't present in `/dev`

```
[root@smithi097 /]# ls -l /dev/nvme*
crw------- 1 root root  10, 122 Jul 25 14:16 /dev/nvme-fabrics
crw------- 1 root root 240,   0 Jul 25 14:12 /dev/nvme0
brw-rw---- 1 root disk 259,   0 Jul 25 14:15 /dev/nvme0n1
crw------- 1 root root 240,   1 Jul 25 14:16 /dev/nvme1
brw-rw---- 1 root disk 259,   2 Jul 25 15:24 /dev/nvme1n1
crw------- 1 root root 240,   2 Jul 25 14:16 /dev/nvme2
brw-rw---- 1 root disk 259,   4 Jul 25 15:24 /dev/nvme2n1
crw------- 1 root root 240,   3 Jul 25 14:16 /dev/nvme3
brw-rw---- 1 root disk 259,   6 Jul 25 15:24 /dev/nvme3n1
crw------- 1 root root 240,   4 Jul 25 14:16 /dev/nvme4
brw-rw---- 1 root disk 259,   8 Jul 25 15:24 /dev/nvme4n1
[root@smithi097 /]#
```

If a device isn't actually present in `/dev`, `get_block_devs_sysfs()` shouldn't return it.

[1] https://github.com/ceph/ceph/commit/c7f017b21ade3762ba5b7b9688bed72c6b6

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 0ee8351e4d564724aa68a2b8d03bc53e281e7fc9)

2 years agoceph-volume: drop `ceph-bluestore-tool` call in Device._parse()
Guillaume Abrioux [Mon, 18 Jul 2022 14:54:17 +0000 (14:54 +0000)]
ceph-volume: drop `ceph-bluestore-tool` call in Device._parse()

disk.has_bluestore_label() does the same thing without a subprocess call.

Fixes: https://tracker.ceph.com/issues/56622
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit f5f3117510c287d817534c9f7c25af5f208c2f56)

2 years agoceph-volume: fix simple scan
Guillaume Abrioux [Fri, 29 Jul 2022 13:58:05 +0000 (15:58 +0200)]
ceph-volume: fix simple scan

When the class `Device` is instantiated with a path instead of a
block device, it fails like following.

```
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.6/site-packages/ceph_volume/util/device.py", line 130, in __init__
    self._parse()
  File "/usr/lib/python3.6/site-packages/ceph_volume/util/device.py", line 233, in _parse
    self.ceph_device = disk.has_bluestore_label(self.path)
  File "/usr/lib/python3.6/site-packages/ceph_volume/util/disk.py", line 906, in has_bluestore_label
    with open(device_path, "rb") as fd:
IsADirectoryError: [Errno 21] Is a directory: '/var/lib/ceph/osd/ceph-0/'
```

passing a path instead of a block device is valid, `simple scan` needs it.

Fixes: https://tracker.ceph.com/issues/56969
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 5a10e3e9e865aafd9d3f90beb186777060d17f08)

2 years agoceph-volume/tests: migrate to pyfakefs
Guillaume Abrioux [Wed, 27 Jul 2022 11:41:41 +0000 (13:41 +0200)]
ceph-volume/tests: migrate to pyfakefs

ceph-volume unit tests shouldn't actually create contents on the
filesystem from where it runs (even though they are written in a tmp
dir), let's use pyfakefs.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 1274ba34b4d21c5abf2cd2da035d6d25ae8d03da)

2 years agoceph-volume/tests: fix test_path_is_valid()
Guillaume Abrioux [Wed, 27 Jul 2022 12:28:10 +0000 (14:28 +0200)]
ceph-volume/tests: fix test_path_is_valid()

When ceph-volume tests are run from a host where there's no `/dev/sda`
device, this test fails.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 7ab9d99420db2995542dfab7c416021dcc1c4a47)

2 years agoceph-volume: report slave devices in inventory
Guillaume Abrioux [Tue, 19 Jul 2022 12:06:10 +0000 (12:06 +0000)]
ceph-volume: report slave devices in inventory

`ceph-volume inventory` currently reports the following:

```

Device Path               Size        rotates available Model name
/dev/mapper/mpatha        50.00 GB    True    True
/dev/mapper/mpathaa       6.00 GB     True    True
/dev/mapper/mpathab       6.00 GB     True    True
/dev/mapper/mpathac       6.00 GB     True    True
/dev/mapper/mpathad       6.00 GB     True    True
/dev/mapper/mpathae       6.00 GB     True    True
```

whereas something like following would be useful:

```

Device Path               Size         Device nodes    rotates available Model name
/dev/mapper/mpatha        50.00 GB     sdf,sde         True    True
/dev/mapper/mpathaa       6.00 GB      sdbe,sdat       True    True
/dev/mapper/mpathab       6.00 GB      sdav,sdbf       True    True
/dev/mapper/mpathac       6.00 GB      sdbb,sdbl       True    True
/dev/mapper/mpathad       6.00 GB      sdas,sdbc       True    True
/dev/mapper/mpathae       6.00 GB      sdax,sdbh       True    True
```

Fixes: https://tracker.ceph.com/issues/56624
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 1ac2a8270cf4aece58ae3f952cc4d1ef978384ed)

2 years agoceph-volume: support symlinks as devices
Jan Sobczak [Fri, 20 Nov 2020 13:33:13 +0000 (14:33 +0100)]
ceph-volume: support symlinks as devices

This makes ceph-volume support passing symlinks as devices.

Fixes: https://tracker.ceph.com/issues/49103
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 9ddc5b77372cd2e0d5badd433c93d147cb25c6ee)

2 years agoceph-volume: drop self.abspath in Device()
Guillaume Abrioux [Fri, 8 Jul 2022 11:47:00 +0000 (13:47 +0200)]
ceph-volume: drop self.abspath in Device()

seems useless to have both self.path and self.abspath attributes.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 01112ba6894834287092d3b672ec548cb3a4d676)

2 years agoceph-volume: improve mpath devices reporting
Guillaume Abrioux [Tue, 19 Jul 2022 11:13:31 +0000 (11:13 +0000)]
ceph-volume: improve mpath devices reporting

An environment with mpath devices looks like following:

`lsblk` output:

```
sdy        65:128  0    6G  0 disk
`-mpathm  252:8    0    6G  0 mpath
sdz        65:144  0    6G  0 disk
`-mpathm  252:8    0    6G  0 mpath
```

`multipath -ll` output:

```
mpathm (3600140575bbe2d3c0c6493fb6e6ed84c) dm-8 LIO-ORG,TCMU device
size=6.0G features='0' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 2:0:0:30 sdz  65:144 active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  `- 3:0:0:30 sdy  65:128 active ready running
```

`ceph-volume inventory` output:
```
Device Path               Size         rotates available Model name
/dev/mapper/mpathm        6.00 GB      True    True
/dev/sdy                  6.00 GB      True    False     TCMU device
/dev/sdz                  6.00 GB      True    False     TCMU device
```

ceph-volume shouldn't report devices `/dev/sdy` and `/dev/sdz`, they will never be
available in such a scenario. Considering this, in a host with a bunch of mpath devices
it will pollute the inventory output.

Fixes: https://tracker.ceph.com/issues/56621
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit e892f02a1a9126cbb520c90aeef0afb3590ddbbb)

2 years agoceph-volume: Remove refs to get_block_devs_lsblk
Zack Cerza [Tue, 21 Jun 2022 17:37:49 +0000 (11:37 -0600)]
ceph-volume: Remove refs to get_block_devs_lsblk

It's been replaced by get_block_devs_sysfs

Signed-off-by: Zack Cerza <zack@redhat.com>
(cherry picked from commit 2023e71f695c1962534c6012d5b331bebd10ec31)

2 years agoceph-volume: filter RBD devices from the device inventory
Michael Fritch [Tue, 18 Jan 2022 22:15:45 +0000 (15:15 -0700)]
ceph-volume: filter RBD devices from the device inventory

Avoid running `blkid` or deploying OSDs on RBD devices by ensuring they
do not appear in the `ceph-volume inventory`

Fixes: https://tracker.ceph.com/issues/53846
Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit 47325ec3ec5ce1d53c5eae2952f631e95b7135fe)

2 years agoceph-volume: Rename env var; add warning
Zack Cerza [Tue, 21 Jun 2022 17:28:30 +0000 (11:28 -0600)]
ceph-volume: Rename env var; add warning

So that we can have a nice big warning that fires once per invocation, I
think using a callable class with a class attribute seems like a decent
approach. A closure could work too.

Signed-off-by: Zack Cerza <zack@redhat.com>
(cherry picked from commit 69f58f51a2d7967d597a8d61c0ab20b52e8dc374)

2 years agoceph-volume: Optionally consume loop devices
Zack Cerza [Tue, 17 May 2022 17:29:02 +0000 (11:29 -0600)]
ceph-volume: Optionally consume loop devices

A similar proposal was rejected in #24765; I understand the logic
behind the rejection, but this will allow us to run Ceph clusters on
machines that lack disk resources for testing purposes. We just need to
make it impossible to accidentally enable, and make it clear it is
unsupported.

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

2 years agoMerge pull request #47293 from MrFreezeex/wip-56630-quincy
Guillaume Abrioux [Tue, 2 Aug 2022 09:17:48 +0000 (11:17 +0200)]
Merge pull request #47293 from MrFreezeex/wip-56630-quincy

quincy: ceph-volume: fix fast device alloc size on mulitple device

2 years agoMerge pull request #47348 from guits/wip-56711-quincy
Guillaume Abrioux [Tue, 2 Aug 2022 08:23:58 +0000 (10:23 +0200)]
Merge pull request #47348 from guits/wip-56711-quincy

quincy: ceph-volume: do not call get_device_vgs() per devices

2 years agomgr/dashboard: Show error on creating service with duplicate service id 47403/head
Aashish Sharma [Mon, 25 Jul 2022 08:18:39 +0000 (13:48 +0530)]
mgr/dashboard: Show error on creating service with duplicate service id

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

2 years agoMerge pull request #47248 from idryomov/wip-56676-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:58:48 +0000 (14:58 -0700)]
Merge pull request #47248 from idryomov/wip-56676-quincy

quincy: librbd: tweak misleading "image is still primary" error message

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #47162 from idryomov/wip-56549-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:57:50 +0000 (14:57 -0700)]
Merge pull request #47162 from idryomov/wip-56549-quincy

quincy: librbd: bail from schedule_request_lock() if already lock owner

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2 years agoMerge pull request #47159 from idryomov/wip-48038-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:57:09 +0000 (14:57 -0700)]
Merge pull request #47159 from idryomov/wip-48038-quincy

quincy: qa/suites/rbd: disable workunit timeout for dynamic_features_no_cache

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2 years agoMerge pull request #47144 from idryomov/wip-56561-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:56:09 +0000 (14:56 -0700)]
Merge pull request #47144 from idryomov/wip-56561-quincy

quincy: rbd: don't default empty pool name unless namespace is specified

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2 years agoMerge pull request #47129 from idryomov/wip-50734-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:55:32 +0000 (14:55 -0700)]
Merge pull request #47129 from idryomov/wip-50734-quincy

quincy: qa/suites/rbd/pwl-cache: ensure recovery is actually tested

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
2 years agoMerge pull request #47126 from idryomov/wip-56516-quincy
Yuri Weinstein [Mon, 1 Aug 2022 21:54:23 +0000 (14:54 -0700)]
Merge pull request #47126 from idryomov/wip-56516-quincy

quincy: rbd-mirror: remove bogus completed_non_primary_snapshots_exist check

Reviewed-by: Mykola Golub <mgolub@suse.com>
2 years agoMerge pull request #47297 from aclamk/wip-56668-quincy
Yuri Weinstein [Mon, 1 Aug 2022 17:23:01 +0000 (10:23 -0700)]
Merge pull request #47297 from aclamk/wip-56668-quincy

quincy: os/bluestore: Fix collision between BlueFS and BlueStore deferred writes

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2 years agomgr/dashboard: add required validation for frontend and monitor port 47356/head
Avan Thakkar [Mon, 25 Jul 2022 10:34:00 +0000 (16:04 +0530)]
mgr/dashboard: add required validation for frontend and monitor port

Fixes: https://tracker.ceph.com/issues/56688
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit ea770fd858cae9a8b52c60b293f48cc4dbc925f8)

2 years agoMerge pull request #47344 from ceph/quincy-release
Ilya Dryomov [Mon, 1 Aug 2022 16:56:34 +0000 (18:56 +0200)]
Merge pull request #47344 from ceph/quincy-release

v17.2.3

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agoMerge pull request #47391 from adk3798/quincy-fix-flake8
Ilya Dryomov [Mon, 1 Aug 2022 16:34:03 +0000 (18:34 +0200)]
Merge pull request #47391 from adk3798/quincy-fix-flake8

quincy: pybind/mgr: fix flake8

Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agorbd-mirror: remove bogus completed_non_primary_snapshots_exist check 47126/head
Ilya Dryomov [Sat, 9 Jul 2022 11:35:04 +0000 (13:35 +0200)]
rbd-mirror: remove bogus completed_non_primary_snapshots_exist check

This check was added in commit ecd3778a6f9a ("rbd-mirror: ensure that
the last non-primary snapshot cannot be pruned") as an additional
safeguard against pruning an incomplete non-primary snapshot in case
there is no predecessor mirror snapshot.  However it still fires if the
predecessor is there but happens to be a primary demotion snapshot.
A bogus "incomplete local non-primary snapshot" error is reported and
the replayer gets stuck.

Remove completed_non_primary_snapshots_exist tracking as the presence
of the predecessor in the incomplete non-primary snapshot pruning arm
is already ensured by "m_local_snap_id_start > 0" condition.

Fixes: https://tracker.ceph.com/issues/56516
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit a581509381ba84b49c906a1fe440ca3ddcab418c)

2 years agotest/rbd-mirror: add last_copied_object_number == 0 coverage
Ilya Dryomov [Fri, 8 Jul 2022 17:15:48 +0000 (19:15 +0200)]
test/rbd-mirror: add last_copied_object_number == 0 coverage

Incomplete non-primary snapshot handling is bifurcated depending
on whether any data objects have been copied.  If no data objects
have been copied, an incomplete non-primary snapshot is assumed to
be malformed and gets pruned; the sync is restarted from scratch.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 13aa47ae2ee89babca7571165ac88eaa665d2fc0)

2 years agoqa/tasks: rename persistent write log cache trash task 47129/head
Ilya Dryomov [Sat, 16 Jul 2022 06:54:38 +0000 (08:54 +0200)]
qa/tasks: rename persistent write log cache trash task

It doesn't really thrash anything, just repeatedly restarts the
workload on top of a dirty cache file.  rbd_pwl_cache_recovery is
more on point and gets covered by existing CODEOWNERS.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 2de0574382e2c1c63f20745d6870ac7f82b27b9f)

2 years agoqa/tasks: add thrash test for persistent write log cache
Yin Congmin [Fri, 7 Jan 2022 07:03:44 +0000 (15:03 +0800)]
qa/tasks: add thrash test for persistent write log cache

add thrash test for persistent write log cache. run rbd bench
on persistent write log cache, thrashes rbd bench, test the
recovery function of persistent write log cache.

Signed-off-by: Yin Congmin <congmin.yin@intel.com>
(cherry picked from commit 0eab8de3c017d8318bd6c846991bb3f7c51fa97d)

2 years agorbd: drop unused default_empty_pool_name argument 47144/head
Ilya Dryomov [Thu, 14 Jul 2022 12:42:45 +0000 (14:42 +0200)]
rbd: drop unused default_empty_pool_name argument

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 365300f253fd8066ae6f8cbd36c94ff4b145ab8d)

2 years agorbd: don't default empty pool name unless namespace is specified
Ilya Dryomov [Thu, 14 Jul 2022 12:19:06 +0000 (14:19 +0200)]
rbd: don't default empty pool name unless namespace is specified

Commit 96f05a7956b3 ("rbd: delay determination of default pool name")
broke "rbd perf image iostat" and "rbd perf image iotop" GLOBAL_POOL_KEY
support (the ability to blend all rbd pools together into a single
view).

Fixes: https://tracker.ceph.com/issues/56561
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit b2137e205862e6cfc316c11036266da65a78d26d)

2 years agoqa/suites/rbd: disable workunit timeout for dynamic_features_no_cache 47159/head
Ilya Dryomov [Fri, 20 May 2022 12:05:03 +0000 (14:05 +0200)]
qa/suites/rbd: disable workunit timeout for dynamic_features_no_cache

The I/O workload in this test is xfstests (qa/run_xfstests_qemu.sh)
which isn't subjected to any timeout other than global max_job_time
limit in any other subsuite (e.g. qemu/workloads/qemu_xfstests.yaml).
But here, there is a parallel "op" workload defined as a workunit.
The workunit task has a default timeout of 3 hours which is effectively
imposed on the entire job.  In the "rbd cache = false" configuration,
it's sometimes exceeded.

Fixes: https://tracker.ceph.com/issues/48038
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 0a6a70760a6f771b848852e0779a221e22c8775d)

2 years agolibrbd: bail from schedule_request_lock() if already lock owner 47162/head
Christopher Hoffman [Thu, 14 Jul 2022 18:20:29 +0000 (12:20 -0600)]
librbd: bail from schedule_request_lock() if already lock owner

Race condition may be hit if there are multiple pending locks for the
same image and pending callbacks. Abort exclusive lock process if
already exclusive lock owner.

Fixes: https://tracker.ceph.com/issues/56549
Signed-off-by: Christopher Hoffman <choffman@redhat.com>
(cherry picked from commit 3527d2c764626c09c5ede80ae844551fd8845756)

2 years agolibrbd: tweak misleading "image is still primary" error message 47248/head
Ilya Dryomov [Fri, 22 Jul 2022 13:23:57 +0000 (15:23 +0200)]
librbd: tweak misleading "image is still primary" error message

m_promotion_state == PROMOTION_STATE_NON_PRIMARY doesn't say anything
about the remote image.  It could still be primary but it could also be
demoted.

Fixes: https://tracker.ceph.com/issues/56676
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
(cherry picked from commit 95dd89b4d771a8e01ce52beecc701548bf8321e8)

2 years agomgr/cephadm: fix flake8 47391/head
Avan Thakkar [Mon, 1 Aug 2022 09:23:14 +0000 (14:53 +0530)]
mgr/cephadm: fix flake8

Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit a124f6c47b119a8741f347ea5a809f3fb48d6679)

2 years agocephadm: ceph.manual.gpg cleanup 47374/head
Laurent Barbe [Fri, 29 Jul 2022 07:33:36 +0000 (09:33 +0200)]
cephadm: ceph.manual.gpg cleanup

Cleanup file /etc/apt/trusted.gpg.d/ceph.manual.gpg when repo is removed

Signed-off-by: Laurent Barbe <laurent@ksperis.com>
(cherry picked from commit bf0951353a80dc17edcc85a7914cfaf2b956d544)

2 years agocephadm: Fix repo_gpgkey should return 2 vars
Laurent Barbe [Thu, 28 Jul 2022 07:30:59 +0000 (09:30 +0200)]
cephadm: Fix repo_gpgkey should return 2 vars

when option --gpg-url is specified, the name used for the gpg filename is missing and throws an exception
this adds the string "manual" to the gpg key : /etc/apt/trusted.gpg.d/ceph.manual.gpg

Fixes: https://tracker.ceph.com/issues/56950
Signed-off-by: Laurent Barbe <laurent@ksperis.com>
(cherry picked from commit 79c805546c9bf4747a9019f4ad59f55e03c9fcef)

2 years agomgr/cephadm: clear error message when resuming upgrade 47373/head
Adam King [Tue, 26 Jul 2022 13:55:05 +0000 (09:55 -0400)]
mgr/cephadm: clear error message when resuming upgrade

the message field in the output of "ceph orch upgrade status"
will first take the value of the error field of the UpgradeState,
and if only if it blank/None, display an info string we periodically
update throughout the upgrade with useful info such as that
we're upgrading a daemon of a particular type or pulling an image
on a certain host. When an upgrade fails, we set the error field
of the UpgradeState, pause the upgrade and raise a health warning.
Sometimes, the user is able to resolve the issue and simply resume
the upgrade. The issue here is, in that case, the error field of
the UpgradeState is still set, so instead of seeing the useful info
messages, it will continue to display an error message that may
no longer be relevant. By emptying the error field of the UpgradeState
when upgrades are resumed, we return to normal behavior of
displaying the info string, and will only show another error message
if another error actually occurs.

Fixes: https://tracker.ceph.com/issues/56714
Signed-off-by: Adam King <adking@redhat.com>
(cherry picked from commit 429561ccb7b524f071214ff3aad99ba8830a924c)

2 years agoMerge pull request #44641 from rzarzynski/wip-bs-lazy4freebsd-quincy
Kefu Chai [Sat, 30 Jul 2022 02:00:47 +0000 (10:00 +0800)]
Merge pull request #44641 from rzarzynski/wip-bs-lazy4freebsd-quincy

quincy: bdev: fix FTBFS on FreeBSD, keep the huge paged read buffers.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agobdev: fix FTBFS on FreeBSD, keep the huge paged read buffers. 44641/head
Radoslaw Zarzynski [Mon, 17 Jan 2022 14:55:05 +0000 (14:55 +0000)]
bdev: fix FTBFS on FreeBSD, keep the huge paged read buffers.

Special thanks to Willem Jan Withagen!

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit d04ea43cfd0a834f470677d17a15d9c9d5c1c2e7)

2 years agoceph-volume: fix shebang of install command 47293/head
Arthur Outhenin-Chalandre [Tue, 14 Jun 2022 09:10:33 +0000 (11:10 +0200)]
ceph-volume: fix shebang of install command

Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
(cherry picked from commit 5255d4be74f15032331ba24b708ad04193ff87f3)

2 years agoceph-volume: fix fast device alloc size on mulitple device
Arthur Outhenin-Chalandre [Tue, 14 Jun 2022 09:02:05 +0000 (11:02 +0200)]
ceph-volume: fix fast device alloc size on mulitple device

The size computed by get_physical_fast_allocs() was wrong when the
function had multiple devices to treat.

For instance if there is 4 OSDs and 2 fast devices of each 10G while
allocating 2 slots per fast devvices. The behavior before was that each
slot would be 2.5G meaning that both fast devices would half full. The
behavior now is that each slot will take 5G so that the fast devices
would be full.

Fixes: https://tracker.ceph.com/issues/56031
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
(cherry picked from commit d0f9e93914e2b7feac41a634311d74c146c8868b)

2 years agoMerge pull request #47359 from zdover23/wip-doc-2022-07-29-backport-47347-to-quincy
zdover23 [Fri, 29 Jul 2022 13:13:36 +0000 (23:13 +1000)]
Merge pull request #47359 from zdover23/wip-doc-2022-07-29-backport-47347-to-quincy

quincy: doc/radosgw: Uppercase s3

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc/radosgw: make s3 uppercase 47359/head
Anthony D'Atri [Fri, 29 Jul 2022 07:11:22 +0000 (00:11 -0700)]
doc/radosgw: make s3 uppercase

s/s3/S3/

(cherry picked from commit 73f0d5707d275529416d5110160b9ff5ead23d22)

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoceph-volume: do not call get_device_vgs() per devices 47348/head
Guillaume Abrioux [Tue, 19 Jul 2022 11:07:33 +0000 (11:07 +0000)]
ceph-volume: do not call get_device_vgs() per devices

let's call `ceph_volume.api.lvm.get_all_devices_vgs` only one time instead
so we avoid a bunch of subprocess calls that slow down the process when running
`ceph-volume inventory` command.

Fixes: https://tracker.ceph.com/issues/56623
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit f5bd0f6da9a3c2f60df2ed6dfaa4c26831a3be37)

2 years agoceph-volume: fix `simple scan` 47149/head
Guillaume Abrioux [Wed, 6 Jul 2022 11:42:02 +0000 (13:42 +0200)]
ceph-volume: fix `simple scan`

`lsblk_all()` should return an empty dict `{}` if nothing was found.
If we raise `RuntimeError()` then the loop in `scan.Scan.main` will stop
and make ceph-volume fails because we don't try to catch this exception.
`scan.Scan.main()` has its own logic in order to detect the given path
is a ceph-disk created OSD anyway.

Fixes: https://tracker.ceph.com/issues/56482
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
(cherry picked from commit 2630a50acb4654332c0b6801e9214564bd09d3d0)

2 years ago17.2.3 47344/head v17.2.3
Ceph Release Team [Thu, 28 Jul 2022 21:52:12 +0000 (21:52 +0000)]
17.2.3

Signed-off-by: Ceph Release Team <ceph-maintainers@ceph.io>
2 years agoMerge pull request #47270 from vumrao/wip-vumrao-56702
Neha Ojha [Thu, 28 Jul 2022 21:49:26 +0000 (14:49 -0700)]
Merge pull request #47270 from vumrao/wip-vumrao-56702

quincy: libcephsqlite: ceph-mgr crashes when compiled with gcc12

Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agolibcephsqlite: ceph-mgr crashes when compiled with gcc12
Ganesh Maharaj Mahalingam [Mon, 11 Apr 2022 17:15:43 +0000 (10:15 -0700)]
libcephsqlite: ceph-mgr crashes when compiled with gcc12

regex in libcephsqlite, when compiled with GCC12 treats '-' as a range
operator resulting in the following error.
"Invalid start of '[x-x]' range in regular expression"

Fixes: https://tracker.ceph.com/issues/55304
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
(cherry picked from commit ac043a09c5ffb4b434b8644920004b3d5b7f9d8c)
(cherry picked from commit 5a10875d4570356afa3af024f63ac229caaa765b)

2 years agoos/bluestore: Fix deferred writes corrupting RocksDB 47297/head
Adam Kupczyk [Wed, 29 Jun 2022 08:31:43 +0000 (10:31 +0200)]
os/bluestore: Fix deferred writes corrupting RocksDB

Deferred writes can sometimes update regions that are no longer mapped to any object.
This cannot happen when BlueStore is running, as blobs are being held,
and allocations are not released until deferred op is executed.
However in case of restart allocations that deferred is targetting are already freed.
Deferred replay is done on BlueStore bootup, before any new object can be allocated,
so no collision with object is possible.
But BlueFS can allocate space from block with deferred ops still pending.

Fixes: https://tracker.ceph.com/issues/54547
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit 2afb951a490aac9ca4d01614867396cbd06b793d)

Conflicts: src/os/bluestore/BlueStore.cc
Modified non-critical BlueFS call foreach_block_extents to get_block_extents.

2 years agocommon/interval_set: Add operator-- to iterator
Adam Kupczyk [Wed, 29 Jun 2022 08:28:37 +0000 (10:28 +0200)]
common/interval_set: Add operator-- to iterator

Only ++ was allowed. Extend iterator manipulation to -- too.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit 58860ce3f60489d258aaa10fd783e68083261937)

2 years agotest/objectstore: Add test for deferred writes
Adam Kupczyk [Mon, 27 Jun 2022 12:50:10 +0000 (12:50 +0000)]
test/objectstore: Add test for deferred writes

Add test that recreates situation when BlueStore deferred writes
can cause RocksDB files corruption.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
(cherry picked from commit 42de47ae8468d000d5bca62bd537d7a1028bae42)

2 years agolibcephsqlite: ceph-mgr crashes when compiled with gcc12 47270/head
Ganesh Maharaj Mahalingam [Mon, 11 Apr 2022 17:15:43 +0000 (10:15 -0700)]
libcephsqlite: ceph-mgr crashes when compiled with gcc12

regex in libcephsqlite, when compiled with GCC12 treats '-' as a range
operator resulting in the following error.
"Invalid start of '[x-x]' range in regular expression"

Fixes: https://tracker.ceph.com/issues/55304
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
(cherry picked from commit ac043a09c5ffb4b434b8644920004b3d5b7f9d8c)

2 years agoMerge pull request #47283 from zdover23/wip-doc-2022-07-27-backport-47082-to-quincy
zdover23 [Tue, 26 Jul 2022 16:34:37 +0000 (02:34 +1000)]
Merge pull request #47283 from zdover23/wip-doc-2022-07-27-backport-47082-to-quincy

quincy: doc, crimson: document installing crimson with cephadm

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agodoc, crimson: document installing crimson with cephadm 47283/head
Radosław Zarzyński [Wed, 13 Jul 2022 12:33:06 +0000 (14:33 +0200)]
doc, crimson: document installing crimson with cephadm

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
(cherry picked from commit 60b8348a843ffaaf475453611a8235d6f892093a)

2 years agoMerge pull request #47222 from ceph/1722
David Galloway [Fri, 22 Jul 2022 20:16:32 +0000 (16:16 -0400)]
Merge pull request #47222 from ceph/1722

v17.2.2

2 years agoqa: Remove unused variable 47222/head
Kotresh HR [Fri, 22 Jul 2022 13:50:33 +0000 (19:20 +0530)]
qa: Remove unused variable

Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit c8416c3f0e15e49dde4b9bca6f732231d9b5d16b)

2 years agoMerge pull request #46805 from nmshelke/wip-56103-quincy
Yuri Weinstein [Fri, 22 Jul 2022 12:13:03 +0000 (05:13 -0700)]
Merge pull request #46805 from nmshelke/wip-56103-quincy

quincy: mgr/volumes: subvolume ls command crashes if groupname as '_nogroup'

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
2 years agoMerge pull request #46804 from nmshelke/wip-56108-quincy
Yuri Weinstein [Fri, 22 Jul 2022 12:11:56 +0000 (05:11 -0700)]
Merge pull request #46804 from nmshelke/wip-56108-quincy

quincy: mgr/volumes: remove incorrect 'size' from output of 'snapshot info'

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
2 years agoMerge pull request #46667 from nmshelke/wip-56013-quincy
Yuri Weinstein [Fri, 22 Jul 2022 12:10:30 +0000 (05:10 -0700)]
Merge pull request #46667 from nmshelke/wip-56013-quincy

quincy: mgr/volumes: subvolumegroup quotas

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
2 years agoMerge pull request #46647 from rhcs-dashboard/wip-54578-quincy
Yuri Weinstein [Fri, 22 Jul 2022 12:09:32 +0000 (05:09 -0700)]
Merge pull request #46647 from rhcs-dashboard/wip-54578-quincy

quincy: Add mapping for ernno:13 and adding path in error msg in opendir()/cephfs.pyx

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
2 years agoMerge pull request #46563 from neesingh-rh/wip-55936-quincy
Yuri Weinstein [Fri, 22 Jul 2022 12:07:39 +0000 (05:07 -0700)]
Merge pull request #46563 from neesingh-rh/wip-55936-quincy

quincy: client: Inode::hold_caps_until is time from monotonic clock now.

Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 years agoMerge pull request #46827 from ceph/quincy-release
David Galloway [Fri, 22 Jul 2022 01:16:14 +0000 (21:16 -0400)]
Merge pull request #46827 from ceph/quincy-release

v17.2.1

2 years ago17.2.2 v17.2.2
Jenkins Build Slave User [Thu, 21 Jul 2022 17:29:33 +0000 (17:29 +0000)]
17.2.2

2 years agorgw: s3website check for bucket before retargeting
Seena Fallah [Fri, 1 Jul 2022 21:19:40 +0000 (23:19 +0200)]
rgw: s3website check for bucket before retargeting

On requesting s3website API without a bucket name it will crash because s->bucket is null

Fixes: https://tracker.ceph.com/issues/56281
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
(cherry picked from commit 933dbabb3a2a43fd016bc61cc0ee5e27f7ad32e7)
(cherry picked from commit e2b923600c28626b921107c13e2c12d691eed3f1)

2 years agoqa: validate subvolume discover on upgrade
Kotresh HR [Fri, 4 Feb 2022 09:58:39 +0000 (15:28 +0530)]
qa: validate subvolume discover on upgrade

Validate subvolume discover on upgrade from
legacy subvolume to v1. The handcrafted
".meta" file on legacy subvolume root should
not be used for any subvolume apis like getpath,
authorize.

Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit fcc118500c545fe6018cd3f2742127b92c657def)
(cherry picked from commit 7e6453d32f78e4a02771396c96dcba472f275135)

2 years agomgr/volumes: V2 Fix for test_subvolume_retain_snapshot_invalid_recreate
Kotresh HR [Thu, 9 Jun 2022 08:00:59 +0000 (13:30 +0530)]
mgr/volumes: V2 Fix for test_subvolume_retain_snapshot_invalid_recreate

Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit ac791879096c8a9e5bda4eef69f1269eee819932)

2 years agomgr/volumes: Fix subvolume discover during upgrade
Kotresh HR [Fri, 4 Feb 2022 09:25:03 +0000 (14:55 +0530)]
mgr/volumes: Fix subvolume discover during upgrade

Fixes the subvolume discover to use the correct
metadata file after an upgrade from legacy subvolume
to v1. The fix makes sure, it doesn't use the
handcrafted metadata file placed in the subvolume
root of legacy subvolume.

Co-authored-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
Co-authored-by: Dan van der Ster <daniel.vanderster@cern.ch>
Co-authored-by: Ramana Raja <rraja@redhat.com>
Signed-off-by: Kotresh HR <khiremat@redhat.com>
(cherry picked from commit 7eba9cab6cfb9a13a84062177d7a0fa228311e13)
(cherry picked from commit 50f4ac7b75185c89ede210b2c975672e8bdd73aa)

2 years agoqa/rgw: use 'with-sse-s3' override for s3tests 46467/head
Casey Bodley [Wed, 11 May 2022 18:49:49 +0000 (14:49 -0400)]
qa/rgw: use 'with-sse-s3' override for s3tests

don't rely on the ceph manager task to parse a config file. each rgw
could be using a different config. instead, revert to an s3tests
override called 'with-sse-s3'

this way, the only job that enables sse-s3, vault_transit.yaml, contains
both the 'rgw crypt sse s3' configurables, and the flag to enable the
associated test cases

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

3 years agoMerge pull request #46738 from trociny/wip-56096-quincy
Yuri Weinstein [Wed, 20 Jul 2022 20:57:16 +0000 (13:57 -0700)]
Merge pull request #46738 from trociny/wip-56096-quincy

quincy: mgr: relax "pending_service_map.epoch > service_map.epoch" assert

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agorgw: Fix data race in ChangeStatus 47195/head
Adam C. Emerson [Tue, 8 Feb 2022 18:47:49 +0000 (13:47 -0500)]
rgw: Fix data race in ChangeStatus

Fixes: https://tracker.ceph.com/issues/54208
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 27f5ba9e5f649d8767c8ab44d56404e0186f6fc1)
Fixes: https://tracker.ceph.com/issues/54208
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
3 years agorgw: Guard against malformed bucket URLs 47191/head
Adam C. Emerson [Fri, 8 Jul 2022 18:58:16 +0000 (14:58 -0400)]
rgw: Guard against malformed bucket URLs

Misplaced colons can result in radosgw thinking is has a bucket URL
but with no bucket name, leading to a crash later on.

Fixes: https://tracker.ceph.com/issues/55765
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit 3ee9a3b41a289a926fed8b8927ca2a93b4f120a6)
Fixes: https://tracker.ceph.com/issues/56585
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
3 years agoMerge pull request #46872 from ronen-fr/wip-rf-46860-quincy
Yuri Weinstein [Wed, 20 Jul 2022 16:42:35 +0000 (09:42 -0700)]
Merge pull request #46872 from ronen-fr/wip-rf-46860-quincy

Quincy: osd/scrub: late-arriving reservation grants are not an error

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #46844 from ronen-fr/wip-rf-46727-quincy
Yuri Weinstein [Wed, 20 Jul 2022 16:41:59 +0000 (09:41 -0700)]
Merge pull request #46844 from ronen-fr/wip-rf-46727-quincy

Quincy: osd/scrubber/pg_scrubber.cc: fix bug where scrub machine gets stuck

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #46689 from sseshasa/wip-56060-quincy
Yuri Weinstein [Wed, 20 Jul 2022 16:40:39 +0000 (09:40 -0700)]
Merge pull request #46689 from sseshasa/wip-56060-quincy

quincy: mon/OSDMonitor: Ensure kvmon() is writeable before handling "osd new" cmd

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #46498 from ronen-fr/wip-rf-46440-quincy
Yuri Weinstein [Wed, 20 Jul 2022 16:39:53 +0000 (09:39 -0700)]
Merge pull request #46498 from ronen-fr/wip-rf-46440-quincy

quincy: osd/scrub: do not start scrubbing if the PG is snap-trimming

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agorgw: Fix `rgw::sal::Bucket::empty` static method signatures
Adam C. Emerson [Mon, 11 Jul 2022 15:52:09 +0000 (11:52 -0400)]
rgw: Fix `rgw::sal::Bucket::empty` static method signatures

`unique_ptr` overload should take by reference.

Both should be const.

Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
(cherry picked from commit b1d3e6c00674ebf6bde08968789a426d65db73d9)

Conflicts:
src/rgw/rgw_sal.h
 - `unique_ptr` overload of empty

Fixes: https://tracker.ceph.com/issues/56585
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
3 years agoMerge pull request #47156 from rhcs-dashboard/wip-56616-quincy
Nizamudeen A [Wed, 20 Jul 2022 06:34:08 +0000 (12:04 +0530)]
Merge pull request #47156 from rhcs-dashboard/wip-56616-quincy

quincy: mgr/dashboard: do not recommend throughput for ssd's only cluster

Reviewed-by: Pegonzal <NOT@FOUND>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
3 years agomgr/dashboard: do not recommend throughput for ssd's only cluster 47156/head
Nizamudeen A [Mon, 18 Jul 2022 05:38:28 +0000 (11:08 +0530)]
mgr/dashboard: do not recommend throughput for ssd's only cluster

This is just a bug fix where we recommend the throughput option even if
there are only ssd's are present in the cluster.

Fixes: https://tracker.ceph.com/issues/56413
Signed-off-by: Nizamudeen A <nia@redhat.com>
(cherry picked from commit 0f6f79f1d9c716e13f662151459fa107f651f158)

3 years agoMerge pull request #47094 from rhcs-dashboard/wip-56547-quincy
Pedro Gonzalez Gomez [Tue, 19 Jul 2022 07:00:26 +0000 (09:00 +0200)]
Merge pull request #47094 from rhcs-dashboard/wip-56547-quincy

quincy: mgr/dashboard: don't log tracebacks on 404s

Reviewed-by: Pegonzal <pegonzal@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
3 years agoMerge pull request #47146 from s0nea/wip-56593-quincy
Pedro Gonzalez Gomez [Mon, 18 Jul 2022 14:15:01 +0000 (16:15 +0200)]
Merge pull request #47146 from s0nea/wip-56593-quincy

quincy: mgr/dashboard: prevent alert redirect

Reviewed-by: Pegonzal <pegonzal@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agomgr/dashboard: prevent alert redirect 47146/head
Tatjana Dehler [Thu, 7 Jul 2022 15:21:14 +0000 (17:21 +0200)]
mgr/dashboard: prevent alert redirect

Prevent Alertmanager alerts from being redirected to the active mgr
dashboard instance. There are two reasons for it:

1. It doesn't bring any additional benefit. The Alertmanager config
   includes all available mgr instances - active and passive ones. In
   case of an alert, it will be sent to all of them. It ensures that
   the active mgr dashboard will receive the alert in any case.
2. The redirect URL includes the mgr IP and NOT the FQDN. This leads
   to issues in environments where an SSL certificate is configured and
   matches the FQDNs, only.

Fixes: https://tracker.ceph.com/issues/56401
Signed-off-by: Tatjana Dehler <tdehler@suse.com>
(cherry picked from commit 965005e0789e566ccadce7a326b0e197ab8d7f5f)

3 years agoMerge pull request #47071 from adk3798/wip-56475-quincy
Guillaume Abrioux [Mon, 18 Jul 2022 07:15:39 +0000 (09:15 +0200)]
Merge pull request #47071 from adk3798/wip-56475-quincy

quincy: cephadm: improve message when removing osd

3 years agoMerge pull request #46966 from guits/wip-56471-quincy
Guillaume Abrioux [Mon, 18 Jul 2022 07:14:24 +0000 (09:14 +0200)]
Merge pull request #46966 from guits/wip-56471-quincy

quincy: ceph-volume: decrease number of `pvs` calls in `lvm list`

3 years agoMerge pull request #46968 from guits/wip-56471-2-quincy
Guillaume Abrioux [Mon, 18 Jul 2022 07:14:05 +0000 (09:14 +0200)]
Merge pull request #46968 from guits/wip-56471-2-quincy

quincy: ceph-volume: avoid unnecessary subprocess calls

3 years agoMerge pull request #47072 from adk3798/wip-56474-quincy
Adam King [Sat, 16 Jul 2022 19:41:18 +0000 (15:41 -0400)]
Merge pull request #47072 from adk3798/wip-56474-quincy

quincy: pybind/mgr/cephadm/serve: don't remove ceph.conf which leads to qa failure

Reviewed-by: Dhairya Parmar <dparmar@redhat.com>
3 years agoMerge pull request #47070 from adk3798/wip-56494-quincy
Adam King [Sat, 16 Jul 2022 18:55:36 +0000 (14:55 -0400)]
Merge pull request #47070 from adk3798/wip-56494-quincy

quincy: mgr/cephadm: limiting ingress/keepalived pass to 8 chars

Reviewed-by: Redouane Kachach <rkachach@redhat.com>