]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agocmake: try to find dml only if PMEM is enabled 45977/head
Kefu Chai [Wed, 20 Apr 2022 22:27:25 +0000 (06:27 +0800)]
cmake: try to find dml only if PMEM is enabled

as the feature dependent on DML library requires PMEM backend.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #45973 from ionutbalutoiu/add-windows-tests 46002/head
David Galloway [Wed, 20 Apr 2022 20:08:21 +0000 (16:08 -0400)]
Merge pull request #45973 from ionutbalutoiu/add-windows-tests

qa/crontab/teuthology-cronjobs: add windows suite

3 years agoqa/crontab/teuthology-cronjobs: add windows suite 45973/head
Ionut Balutoiu [Wed, 20 Apr 2022 16:56:23 +0000 (19:56 +0300)]
qa/crontab/teuthology-cronjobs: add windows suite

Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
3 years agoMerge pull request #44230 from optimistyzy/122_add_dml
Kefu Chai [Wed, 20 Apr 2022 10:47:00 +0000 (18:47 +0800)]
Merge pull request #44230 from optimistyzy/122_add_dml

blk/pmem: use DML library to offload read/write operations in pmem

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #45872 from idryomov/wip-make-check-enable-rbd-caches
Ilya Dryomov [Wed, 20 Apr 2022 09:08:41 +0000 (11:08 +0200)]
Merge pull request #45872 from idryomov/wip-make-check-enable-rbd-caches

run-make-check.sh: enable RBD persistent caches

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
3 years agoMerge pull request #45609 from optimistyzy/wip_pmem_devdax
Kefu Chai [Wed, 20 Apr 2022 01:54:00 +0000 (09:54 +0800)]
Merge pull request #45609 from optimistyzy/wip_pmem_devdax

blk/pmem: Add the devdax support.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #45048 from ceph/1710
David Galloway [Wed, 20 Apr 2022 01:37:33 +0000 (21:37 -0400)]
Merge pull request #45048 from ceph/1710

doc: Add Quincy 17.2.0 release notes

3 years agodoc/releases/quincy.rst: mention log_to_journald 45048/head
Neha Ojha [Wed, 20 Apr 2022 00:45:49 +0000 (00:45 +0000)]
doc/releases/quincy.rst: mention log_to_journald

Details about https://tracker.ceph.com/issues/55383

Signed-off-by: Neha Ojha <nojha@redhat.com>
3 years agodoc: Typo and indentation fix
David Galloway [Wed, 20 Apr 2022 00:20:44 +0000 (20:20 -0400)]
doc: Typo and indentation fix

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agoMerge pull request #45933 from ionutbalutoiu/qa-add-rbd-wnbd-tests
David Galloway [Tue, 19 Apr 2022 20:50:24 +0000 (16:50 -0400)]
Merge pull request #45933 from ionutbalutoiu/qa-add-rbd-wnbd-tests

qa: add basic Ceph on Windows integration test

3 years agodoc: No changelog for first release
David Galloway [Tue, 19 Apr 2022 18:32:39 +0000 (14:32 -0400)]
doc: No changelog for first release

The diff between origin/pacific..origin/quincy is definitely not what we want listed.  There is no Changelog for the first major release.

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agodoc/releases: additional clarification, release date
Neha Ojha [Tue, 19 Apr 2022 16:59:06 +0000 (16:59 +0000)]
doc/releases: additional clarification, release date

- address review comments
- emphasize LevelDB removal
- update release date

Signed-off-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #45945 from vshankar/wip-54374
Venky Shankar [Tue, 19 Apr 2022 17:27:07 +0000 (22:57 +0530)]
Merge pull request #45945 from vshankar/wip-54374

mgr/snap_schedule: add time zone suffix to snapshot dir name

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45916 from tchaikov/wip-python3
David Galloway [Tue, 19 Apr 2022 15:55:35 +0000 (11:55 -0400)]
Merge pull request #45916 from tchaikov/wip-python3

cmake/modules: always use the python3 specified in command line

3 years agoMerge pull request #45864 from cyx1231st/wip-crimson-refactor-with-device-ut
Samuel Just [Tue, 19 Apr 2022 15:14:03 +0000 (08:14 -0700)]
Merge pull request #45864 from cyx1231st/wip-crimson-refactor-with-device-ut

test/crimson/.../test_transaction_manager: test multiple devices

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45938 from liu-chunmei/seastore-omap-enlarge
Samuel Just [Tue, 19 Apr 2022 15:03:47 +0000 (08:03 -0700)]
Merge pull request #45938 from liu-chunmei/seastore-omap-enlarge

crimson/seastore: enlarge omap_leaf_node size

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoqa: add basic Ceph on Windows integration test 45933/head
Ionut Balutoiu [Wed, 6 Apr 2022 18:21:39 +0000 (21:21 +0300)]
qa: add basic Ceph on Windows integration test

Due to lack of Windows support in the Teuthology, the test case adopts
the following workaround:

* Deploy baremetal machine with `ubuntu_latest.yaml` and
  configure it with libvirt KVM.
* Create a libvirt VM and provision it with Windows Server 2019, using
  the official ISO from Microsoft.
* Configure SSH in the Windows VM, and run the tests remotely via SSH.

The implementation of the test case consists of workunit scripts.

`qa/workunits/windows/test_rbd_wnbd.py` is the main Python script
to test Ceph on Windows basic functionality. This is executed in the
libvirt VM configured with Windows Server 2019.

Co-authored-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
Co-authored-by: Daniel Vincze <dvincze@cloudbasesolutions.com>
Signed-off-by: Ionut Balutoiu <ibalutoiu@cloudbasesolutions.com>
3 years agoMerge pull request #45708 from votdev/issue_55133_improve_exception_handling
Ernesto Puerta [Tue, 19 Apr 2022 11:29:00 +0000 (13:29 +0200)]
Merge pull request #45708 from votdev/issue_55133_improve_exception_handling

mgr/dashboard: Imrove error message of '/api/grafana/validation' API endpoint

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: sunilangadi2 <NOT@FOUND>
3 years agoMerge pull request #45603 from nmshelke/feature-54472
Venky Shankar [Tue, 19 Apr 2022 11:22:13 +0000 (16:52 +0530)]
Merge pull request #45603 from nmshelke/feature-54472

mgr/volumes: set, get, list and remove metadata of subvolume

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45909 from soumyakoduri/wip-skoduri-dbstore-fixes
Soumya Koduri [Tue, 19 Apr 2022 11:04:32 +0000 (16:34 +0530)]
Merge pull request #45909 from soumyakoduri/wip-skoduri-dbstore-fixes

rgw/dbstore: Handle prefix/delim while listing objects

3 years agomgr/snap_schedule: add time zone suffix to snapshot dir name 45945/head
Milind Changire [Sat, 9 Apr 2022 03:03:22 +0000 (08:33 +0530)]
mgr/snap_schedule: add time zone suffix to snapshot dir name

Fixes: https://tracker.ceph.com/issues/54374
Signed-off-by: Milind Changire <mchangir@redhat.com>
Signed-off-by: Venky Shankar <vshankar@redhat.com>
3 years agorun-make-check.sh: enable RBD persistent caches 45872/head
Ilya Dryomov [Tue, 19 Apr 2022 09:21:06 +0000 (11:21 +0200)]
run-make-check.sh: enable RBD persistent caches

This was attempted in commit 69a7ed4eab36 ("run-make-check: enable
WITH_RBD_RWL when WITH_PMEM is true") but never completed.  We soon
bumped the requirement on libpmem, so WITH_SYSTEM_PMDK=ON wouldn't
have worked anyway.

Enable the RWL mode conditionally based on WITH_RBD_RWL variable.
Enable the SSD mode unconditionally as it has no special dependencies
and can be built on any architecture.

Fixes: https://tracker.ceph.com/issues/55285
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agotest/encoding/check-generated.sh: show diff if binary reencode check fails
Ilya Dryomov [Tue, 19 Apr 2022 09:21:06 +0000 (11:21 +0200)]
test/encoding/check-generated.sh: show diff if binary reencode check fails

Take bf0b161115aa ("test/encoding/check-generated.sh: show diff if cmp
fails") a bit further.  Suggesting "cmp $tmp1 $tmp2" isn't very helpful
since cmp would report just the mismatch offset.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: WriteLogCacheEntry constructor must initialize flags
Ilya Dryomov [Tue, 19 Apr 2022 09:21:05 +0000 (11:21 +0200)]
librbd/cache/pwl: WriteLogCacheEntry constructor must initialize flags

Initializing the individual bit field members leaves the remaining two
bits uninitialized and that garbage state gets persisted.

In general, using bit fields in a structure where the layout actually
matters is not desirable.  Even with a few single bits, such as here,
their order, strictly speaking, is not guaranteed:

    An implementation may allocate any addressable storage unit large
    enough to hold a bit-field. If enough space remains, a bit-field
    that immediately follows another bit-field in a structure shall be
    packed into adjacent bits of the same unit. If insufficient space
    remains, whether a bit-field that does not fit is put into the next
    unit or overlaps adjacent units is implementation-defined. The
    order of allocation of bit-fields within a unit (high-order to
    low-order or low-order to high-order) is implementation-defined.
    The alignment of the addressable storage unit is unspecified.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: initialize generate_test_instances() objects
Ilya Dryomov [Tue, 19 Apr 2022 09:21:05 +0000 (11:21 +0200)]
librbd/cache/pwl: initialize generate_test_instances() objects

... to prevent check-generated.sh failures such as:

**** librbd::cache::pwl::WriteLogPoolRoot test 1 dump_json check failed ****
   ceph-dencoder type librbd::cache::pwl::WriteLogPoolRoot select_test 1 dump_json > /tmp/typ-cAoWrqlHC
   ceph-dencoder type librbd::cache::pwl::WriteLogPoolRoot select_test 1 encode decode dump_json > /tmp/typ-ES5yHpfGL
5c5
<     "flushed_sync_gen": 0,
---
>     "flushed_sync_gen": 255,

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl: fix -Wunused-lambda-capture warnings
Ilya Dryomov [Tue, 19 Apr 2022 09:21:05 +0000 (11:21 +0200)]
librbd/cache/pwl: fix -Wunused-lambda-capture warnings

Reported by clang on "make check" and "make check arm64" builds.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agorgw/dbstore: Handle prefix/delim in Bucket::List op 45909/head
Soumya Koduri [Thu, 14 Apr 2022 19:51:17 +0000 (01:21 +0530)]
rgw/dbstore: Handle prefix/delim in Bucket::List op

Given a prefix, fetch only those objects matching the prefix.
In addition, skip the entries with "delim" and instead include
those entries in common_prefixes

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
3 years agorgw/dbstore: DBObject state initialization
Soumya Koduri [Mon, 11 Apr 2022 08:36:59 +0000 (14:06 +0530)]
rgw/dbstore: DBObject state initialization

Initialize & store 'state' part of DBObject to be
referenced by callers of 'get_obj_state'.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
3 years agoAdd the support to use DML library for PMEM device. 44230/head
Ziye Yang [Thu, 2 Dec 2021 02:15:28 +0000 (02:15 +0000)]
Add the support to use DML library for PMEM device.

The purpose of this patch is to add the initial support to
offload memory/pmem operations by sync usage through hardware path
in DML library.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
3 years agoMerge pull request #45866 from liu-chunmei/crimson-longxattr
Liu-Chunmei [Tue, 19 Apr 2022 03:09:07 +0000 (20:09 -0700)]
Merge pull request #45866 from liu-chunmei/crimson-longxattr

crimson: check long attr name

Reviewed-by: Samuel Just <sjust@redhat.com>
Radoslaw Zarzynski <rzarzyns@redhat.com>

3 years agocrimson/seastore: enlarge omap_leaf_node size 45938/head
chunmei-liu [Fri, 15 Apr 2022 05:47:30 +0000 (22:47 -0700)]
crimson/seastore: enlarge omap_leaf_node size

to avoid double split when key size around 2K.

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #44784 from Gaoweinan/master-doc-InconsistentFormat-gaoweinan
Laura Flores [Mon, 18 Apr 2022 18:59:21 +0000 (13:59 -0500)]
Merge pull request #44784 from Gaoweinan/master-doc-InconsistentFormat-gaoweinan

doc:InconsistentFormat

3 years agoMerge pull request #45860 from adk3798/alertmanager-skip-verify
Adam King [Mon, 18 Apr 2022 12:57:14 +0000 (08:57 -0400)]
Merge pull request #45860 from adk3798/alertmanager-skip-verify

mgr/cephadm: allow setting insecure_skip_verify for alertmanager

Reviewed-by: Francesco Pantano <fpantano@redhat.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>
3 years agoMerge pull request #43879 from rishabh-d-dave/vr-clearer-msg
Venky Shankar [Mon, 18 Apr 2022 09:57:52 +0000 (15:27 +0530)]
Merge pull request #43879 from rishabh-d-dave/vr-clearer-msg

qa/vstart_runner: print "success" explicitly

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45924 from rishabh-d-dave/qa-cephfs-test_cephfs_shell
Venky Shankar [Mon, 18 Apr 2022 09:32:55 +0000 (15:02 +0530)]
Merge pull request #45924 from rishabh-d-dave/qa-cephfs-test_cephfs_shell

qa/cephfs: expand note for test_cephfs_shell.py

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45923 from rishabh-d-dave/doc-fix-note
Venky Shankar [Mon, 18 Apr 2022 07:58:46 +0000 (13:28 +0530)]
Merge pull request #45923 from rishabh-d-dave/doc-fix-note

doc/developer_guide: split a note point into two

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoqa/cephfs: expand note for test_cephfs_shell.py 45924/head
Rishabh Dave [Sun, 17 Apr 2022 17:28:10 +0000 (22:58 +0530)]
qa/cephfs: expand note for test_cephfs_shell.py

Signed-off-by: Rishabh Dave <ridave@redhat.com>
3 years agoqa/vstart_runner: print "success" explicitly 43879/head
Rishabh Dave [Thu, 21 Oct 2021 05:09:39 +0000 (10:39 +0530)]
qa/vstart_runner: print "success" explicitly

This makes it effortless for new vstart_runner.py users to spot that the
test passed.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
3 years agoMerge pull request #45816 from kotreshhr/clone-failure-status
Venky Shankar [Mon, 18 Apr 2022 04:13:40 +0000 (09:43 +0530)]
Merge pull request #45816 from kotreshhr/clone-failure-status

mgr/volumes: Show clone failure reason in clone status command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agodoc/developer_guide: split a note point into two 45923/head
Rishabh Dave [Sun, 17 Apr 2022 17:23:09 +0000 (22:53 +0530)]
doc/developer_guide: split a note point into two

Since both the sentences in the note point aren't strictly related to
each other, it's better to split that note point into two.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
3 years agoMerge pull request #45114 from lxbsz/wip-54362
Venky Shankar [Sun, 17 Apr 2022 09:54:57 +0000 (15:24 +0530)]
Merge pull request #45114 from lxbsz/wip-54362

client: do not release the global snaprealm until unmounting

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45688 from lxbsz/fwd
Venky Shankar [Sun, 17 Apr 2022 09:53:15 +0000 (15:23 +0530)]
Merge pull request #45688 from lxbsz/fwd

client: stop forwarding the request when exceeding 256 times

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45107 from lxbsz/wip-54345
Venky Shankar [Sat, 16 Apr 2022 15:20:17 +0000 (20:50 +0530)]
Merge pull request #45107 from lxbsz/wip-54345

mds: reset heartbeat when fetching or committing dentries

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45915 from ljflores/wip-dashboard-cypress-password
Laura Flores [Sat, 16 Apr 2022 04:58:58 +0000 (23:58 -0500)]
Merge pull request #45915 from ljflores/wip-dashboard-cypress-password

3 years agocmake/modules: always use the python3 specified in command line 45916/head
Kefu Chai [Sat, 16 Apr 2022 01:10:20 +0000 (09:10 +0800)]
cmake/modules: always use the python3 specified in command line

if another python3 with higher version is found by
find_package(Python3), the cmake's install script would just
install the python modules/extensions into that python3's
dist-package directory, and the packaging script would fail
to find these artifacts when trying to package them.

so we need to ensure that the install directories for python
modeules/extensions are always "versioned" with WITH_PYTHON3
cmake option.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
3 years agomgr/dashboard/frontend: fix cypress env password 45915/head
Laura Flores [Thu, 14 Apr 2022 20:42:05 +0000 (20:42 +0000)]
mgr/dashboard/frontend: fix cypress env password

"LOGIN_PASSWORD" should be "LOGIN_PWD". Bug introduced
in e9128c4.

Fixes: https://tracker.ceph.com/issues/55323
Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #45765 from m-ildefons/1196785-cephadm-status-trace
Adam King [Fri, 15 Apr 2022 15:05:05 +0000 (11:05 -0400)]
Merge pull request #45765 from m-ildefons/1196785-cephadm-status-trace

cephadm: avoid crashing on expected non-zero exit

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge pull request #45863 from adk3798/mgr-fail-retry
Adam King [Fri, 15 Apr 2022 15:02:55 +0000 (11:02 -0400)]
Merge pull request #45863 from adk3798/mgr-fail-retry

mgr/cephadm: retry mgr fail over in case of transient failure

Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Redouane Kachach <rkachach@redhat.com>
3 years agoMerge pull request #45898 from idryomov/wip-resurrect-mutex-debug
Ilya Dryomov [Fri, 15 Apr 2022 09:09:42 +0000 (11:09 +0200)]
Merge pull request #45898 from idryomov/wip-resurrect-mutex-debug

cmake: resurrect mutex debugging in all Debug builds

Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agocrimson/osd: check obj exists 45866/head
chunmei-liu [Tue, 12 Apr 2022 09:16:37 +0000 (02:16 -0700)]
crimson/osd: check obj exists

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoclient: do not release the global snaprealm until unmounting 45114/head
Xiubo Li [Tue, 22 Feb 2022 03:46:44 +0000 (11:46 +0800)]
client: do not release the global snaprealm until unmounting

The global snaprealm would be created and then destroyed immediately
every time when updating it.

Fixes: https://tracker.ceph.com/issues/54362
Signed-off-by: Xiubo Li <xiubli@redhat.com>
3 years agoblk/pmem: Add the devdax support. 45609/head
Ziye Yang [Wed, 23 Mar 2022 17:34:36 +0000 (01:34 +0800)]
blk/pmem: Add the devdax support.

The purpose is to make the pmem device usage more flexible
than the current solution. And prepare for the potential
offloading by hardware engine later.

Signed-off-by: Ziye Yang <ziye.yang@intel.com>
3 years agomgr/cephadm: allow setting insecure_skip_verify for alertmanager 45860/head
Adam King [Wed, 6 Apr 2022 14:32:22 +0000 (10:32 -0400)]
mgr/cephadm: allow setting insecure_skip_verify for alertmanager

Add a "secure" parameter to alertmanager spec that will cause it
to deploy alertmanagers with insecure_skip_verify as true or false
depending on the value given for "secure".

NOTE: alertmanager must still be reconfigured after applying a yaml
with this option changed.

Fixes: https://tracker.ceph.com/issues/55272
Fixes: https://tracker.ceph.com/issues/55333
Signed-off-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45394 from iqbalredkhan/amrojiqbal
Ali Maredia [Thu, 14 Apr 2022 13:35:00 +0000 (09:35 -0400)]
Merge pull request #45394 from iqbalredkhan/amrojiqbal

cls/rgw : Add missing classes in < #include "cls/rgw/cls_rgw_types.h">

Reviewed-by: Ali Maredia <amaredia@redhat.com>
3 years agoclient: stop forwarding the request when exceeding 256 times 45688/head
Xiubo Li [Tue, 29 Mar 2022 08:45:12 +0000 (16:45 +0800)]
client: stop forwarding the request when exceeding 256 times

The type of 'num_fwd' in ceph 'MClientRequestForward' is 'int32_t',
while in 'ceph_mds_request_head' the type is '__u8'. So in case
the request bounces between MDSes exceeding 256 times, the client
will get stuck.

In this case it's ususally a bug in MDS and continue bouncing the
request makes no sense.

Fixes: https://tracker.ceph.com/issues/55129
Signed-off-by: Xiubo Li <xiubli@redhat.com>
3 years agoMerge pull request #45549 from nmshelke/fuse-linux-only
Venky Shankar [Thu, 14 Apr 2022 12:08:20 +0000 (17:38 +0530)]
Merge pull request #45549 from nmshelke/fuse-linux-only

ceph-fuse: restrict already_fuse_mounted function only for linux

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45636 from joscollin/wip-B54971-rank0-stale-perf-stats-assertion...
Venky Shankar [Thu, 14 Apr 2022 12:06:42 +0000 (17:36 +0530)]
Merge pull request #45636 from joscollin/wip-B54971-rank0-stale-perf-stats-assertion-error

qa: make test_perf_stats_stale_metrics check only the clients created for the tests

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45663 from lxbsz/client_cleanup_dl
Venky Shankar [Thu, 14 Apr 2022 12:04:31 +0000 (17:34 +0530)]
Merge pull request #45663 from lxbsz/client_cleanup_dl

client: remove expect_null and cleanup the code get_or_create()

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agoMerge pull request #45683 from kotreshhr/subvolume-retainsnap-rm-fix
Venky Shankar [Thu, 14 Apr 2022 12:01:46 +0000 (17:31 +0530)]
Merge pull request #45683 from kotreshhr/subvolume-retainsnap-rm-fix

mgr/volumes: Fix idempotent subvolume rm

Reviewed-by: Venky Shankar <vshankar@redhat.com>
3 years agodoc/releases/releases.yml: update release date
Josh Durgin [Thu, 14 Apr 2022 06:51:26 +0000 (02:51 -0400)]
doc/releases/releases.yml: update release date

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
3 years agodoc/releases/quincy: add new cephadm features
Josh Durgin [Thu, 14 Apr 2022 06:50:33 +0000 (02:50 -0400)]
doc/releases/quincy: add new cephadm features

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
3 years agodoc/releases/quincy: link to quincy versions of the docs
Josh Durgin [Thu, 14 Apr 2022 06:43:23 +0000 (02:43 -0400)]
doc/releases/quincy: link to quincy versions of the docs

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
3 years agodoc/releases/quincy: add rbd release notes
Josh Durgin [Thu, 14 Apr 2022 06:42:46 +0000 (02:42 -0400)]
doc/releases/quincy: add rbd release notes

[ idryomov: mention notrim option, minor nits ]

Signed-off-by: Josh Durgin <jdurgin@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45897 from idryomov/wip-rbd-mirror-test-timer-lock
Ilya Dryomov [Thu, 14 Apr 2022 05:50:15 +0000 (07:50 +0200)]
Merge pull request #45897 from idryomov/wip-rbd-mirror-test-timer-lock

test/rbd_mirror: grab timer lock before calling add_event_after()

Reviewed-by: Christopher Hoffman <choffman@redhat.com>
3 years agoMerge pull request #45571 from rzarzynski/wip-doc-mempool-acct
Anthony D'Atri [Thu, 14 Apr 2022 02:18:26 +0000 (19:18 -0700)]
Merge pull request #45571 from rzarzynski/wip-doc-mempool-acct

doc/dev: Define what mempools we use in BlueStore

3 years agoMerge pull request #45884 from markhpc/wip-bs-avl-cursor-fix
Yuri Weinstein [Wed, 13 Apr 2022 23:18:47 +0000 (16:18 -0700)]
Merge pull request #45884 from markhpc/wip-bs-avl-cursor-fix

os/bluestore: Always update the cursor position in AVL near-fit search.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
3 years agocrimson/osd: check big object size
chunmei-liu [Tue, 12 Apr 2022 08:49:08 +0000 (01:49 -0700)]
crimson/osd: check big object size

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agocrimson/osd: check CEPH_OSD_FLAG_PARALLELEXEC
chunmei-liu [Tue, 12 Apr 2022 08:08:30 +0000 (01:08 -0700)]
crimson/osd: check CEPH_OSD_FLAG_PARALLELEXEC

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agocrimson/osd: check long attr name
chunmei-liu [Tue, 12 Apr 2022 07:15:50 +0000 (00:15 -0700)]
crimson/osd: check long attr name

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agomgr/cephadm: retry mgr fail over in case of transient failure 45863/head
Adam King [Mon, 11 Apr 2022 20:57:51 +0000 (16:57 -0400)]
mgr/cephadm: retry mgr fail over in case of transient failure

Fixes: https://tracker.ceph.com/issues/55279
Signed-off-by: Adam King <adking@redhat.com>
3 years agodoc/dev: define what mempools we use in bluestore 45571/head
Anthony D'Atri [Wed, 13 Apr 2022 17:35:22 +0000 (10:35 -0700)]
doc/dev: define what mempools we use in bluestore

doc/dev: define what mempools we use in bluestore

Signed-off-by: Anthony D'Atri <anthony.datri@gmail.com>
3 years agoMerge pull request #45851 from rkachach/fix_issue_53528
Adam King [Wed, 13 Apr 2022 18:34:41 +0000 (14:34 -0400)]
Merge pull request #45851 from rkachach/fix_issue_53528

mgr/cephadm: skip loopback devices when gathering facts

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45796 from asm0deuz/issue_54618_ssh_config
Adam King [Wed, 13 Apr 2022 18:34:06 +0000 (14:34 -0400)]
Merge pull request #45796 from asm0deuz/issue_54618_ssh_config

mgr/cephadm: ceph cephadm set-user does not reflect the user change in ssh-config

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #45768 from rkachach/fix_issue_55174
Adam King [Wed, 13 Apr 2022 18:33:21 +0000 (14:33 -0400)]
Merge pull request #45768 from rkachach/fix_issue_55174

mgr/cephadm: Adding cephadm networking configuration checks + refactoring

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #43796 from windgmbh/cephadm-sysctl-fhs-fix
Adam King [Wed, 13 Apr 2022 18:24:36 +0000 (14:24 -0400)]
Merge pull request #43796 from windgmbh/cephadm-sysctl-fhs-fix

cephadm: Fix sysctl.d location

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agocephadm: avoid crashing on expected non-zero exit 45765/head
Moritz Röhrich [Mon, 21 Mar 2022 16:32:25 +0000 (17:32 +0100)]
cephadm: avoid crashing on expected non-zero exit

- Avoid crashing when a call out to an external program expectedly does
  not return exit status zero.

There are programs that communicate other information than error/no
error through exit status. E.g. `systemctl status` will return different
exit codes depending on the actual status of the units in question.
In cases where this is expected crashing with a RuntimeError exception
is inappropriate and should be avoided.

Fixes: https://tracker.ceph.com/issues/55117
Signed-off-by: Moritz Röhrich <moritz.rohrich@suse.com>
3 years agocmake: resurrect mutex debugging in all Debug builds 45898/head
Ilya Dryomov [Wed, 13 Apr 2022 13:42:21 +0000 (15:42 +0200)]
cmake: resurrect mutex debugging in all Debug builds

Commit 403f1ec2888a ("cmake: make "WITH_CEPH_DEBUG_MUTEX" depend on
CMAKE_BUILD_TYPE") made WITH_CEPH_DEBUG_MUTEX depend on build type
being set to Debug, in CMakeLists.txt.  However, if CMAKE_BUILD_TYPE
isn't specified by the user, we may still set it to Debug later, in
src/CMakeLists.txt, and in that case WITH_CEPH_DEBUG_MUTEX doesn't
get enabled.  The result is that

  $ do_cmake.sh -DCMAKE_BUILD_TYPE=Debug ...

debug builds have mutex debugging enabled, while

  $ do_cmake.sh ...

builds, which are supposed to be the same, don't.  Jenkins builders
don't pass -DCMAKE_BUILD_TYPE=Debug so that commit effectively turned
off all ceph_mutex_is_locked* asserts in "make check".

Fixes: https://tracker.ceph.com/issues/55318
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agotest/rbd_mirror: grab timer lock before calling add_event_after() 45897/head
Ilya Dryomov [Wed, 13 Apr 2022 13:24:04 +0000 (15:24 +0200)]
test/rbd_mirror: grab timer lock before calling add_event_after()

add_event_after() expects an externally provided mutex to be held
for the call.  This was missed in commit 8965a0f2a6f7 ("rbd-mirror:
synchronize with in-flight stop in ImageReplayer::stop()").

Fixes: https://tracker.ceph.com/issues/55317
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #45859 from rhcs-dashboard/add-cypress-env
Ernesto Puerta [Wed, 13 Apr 2022 12:09:21 +0000 (14:09 +0200)]
Merge pull request #45859 from rhcs-dashboard/add-cypress-env

mgr/dashboard: Add cypress env for login credentials

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
3 years agomgr/dashboard: Imrove error message of '/api/grafana/validation' API endpoint 45708/head
Volker Theile [Wed, 30 Mar 2022 11:38:33 +0000 (13:38 +0200)]
mgr/dashboard: Imrove error message of '/api/grafana/validation' API endpoint

In case the validation of the Grafana URL fails, e.g. because of an invalid SSL certificate, a useless and not helping default error message is displayed in the UI.
This PR will re-raise the exception as a DashboardException which includes the detailed description of what happened. This will help to identify SSL cert issues much easier for example.

Fixes: https://tracker.ceph.com/issues/55133
Signed-off-by: Volker Theile <vtheile@suse.com>
3 years agoMerge pull request #44236 from CongMinYin/fix-pwl-cache-lose
Ilya Dryomov [Wed, 13 Apr 2022 10:12:51 +0000 (12:12 +0200)]
Merge pull request #44236 from CongMinYin/fix-pwl-cache-lose

rbd: add persistent-cache command group

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agodoc: Document the clone failure status 45816/head
Kotresh HR [Wed, 6 Apr 2022 07:21:54 +0000 (12:51 +0530)]
doc: Document the clone failure status

Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agomgr/volumes: Fix clone hang issue
Kotresh HR [Thu, 7 Apr 2022 13:28:28 +0000 (18:58 +0530)]
mgr/volumes: Fix clone hang issue

Following sequence of operation lead to deadlock

1. Created subvolume
2. Written some I/O on the subvolume
3. Create snapshot of the subvolume
4. Create clone of the snapshot
5. Delete snapshot from back end (don't use subvolume interface) before
   clone completes
6. Delete clone with force
7. Delete subvolume
8. Delete fs and associated pools
9. Created new fs
10 Created new subvolume,
11. Written some I/O on the subvolume
12. Create snapshot of the subvolume
13. Create clone of the snapshot <---------------THIS OPERATION HANGS -----------------

Root Cause:
Since the snapshot is deleted from the back end, the clone fails. But it
also fails to remove the clone index at '/volumes/_index/clone'. The
cloner thread goes to infinite loop of starting the clone and failing.
This involves taking 'self.async_job.lock()' and reads the clone index
to get the job and registers the above job.

While the 'cloner thread' is in above loop, the fs is destroyed. The
cloner threads which lives till the mgr/volumes is enabled in mgr, takes
the 'self.async_job.lock()' and hangs while reading the clone index.

Any further clone operations which also requires above lock hangs.

Fix:
Remove the clone index even though snapshot is not present.

Fixes: https://tracker.ceph.com/issues/55217
Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agoqa: Add test for clone failure status
Kotresh HR [Sat, 22 Jan 2022 06:38:15 +0000 (12:08 +0530)]
qa: Add test for clone failure status

Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agomgr/volumes: Add clone failure reason in clone status
Kotresh HR [Wed, 6 Apr 2022 07:16:01 +0000 (12:46 +0530)]
mgr/volumes: Add clone failure reason in clone status

Add the clone failure reason in the clone status.
The sample output is as below:

$ ceph fs clone status cephfs clone_0
{
  "status": {
    "state": "failed",
    "source": {
      "volume": "cephfs",
      "subvolume": "subvolume_0",
      "snapshot": "snapshot_0",
      "size": "52428800"
    },
    "failure": {
      "errno": "2",
      "error_msg": "snapshot 'snapshot_0' does not exist"
    }
  }
}

Fixes: https://tracker.ceph.com/issues/55190
Signed-off-by: Kotresh HR <khiremat@redhat.com>
3 years agoMerge pull request #45059 from ceph/wip-merge_message_browser-master
Ernesto Puerta [Wed, 13 Apr 2022 08:37:30 +0000 (10:37 +0200)]
Merge pull request #45059 from ceph/wip-merge_message_browser-master

doc: browser extension for merge message

Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoMerge pull request #45081 from ceph/epuertat-patch-2
Ernesto Puerta [Wed, 13 Apr 2022 08:37:18 +0000 (10:37 +0200)]
Merge pull request #45081 from ceph/epuertat-patch-2

doc: fix format issues

Reviewed-by: anthonyeleven <NOT@FOUND>
Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoMerge pull request #45083 from ceph/epuertat-patch-4
Ernesto Puerta [Wed, 13 Apr 2022 08:37:01 +0000 (10:37 +0200)]
Merge pull request #45083 from ceph/epuertat-patch-4

doc: fix config option links

Reviewed-by: anthonyeleven <NOT@FOUND>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agocrimson/os/seastore: fix segment_id_t::device_id() always return 0 45864/head
Yingxin Cheng [Mon, 11 Apr 2022 15:43:55 +0000 (23:43 +0800)]
crimson/os/seastore: fix segment_id_t::device_id() always return 0

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: minor debugging improvements
Yingxin Cheng [Mon, 11 Apr 2022 15:42:47 +0000 (23:42 +0800)]
crimson/os/seastore: minor debugging improvements

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agotest/crimson/.../test_transaction_manager: test multiple devices
Yingxin Cheng [Mon, 11 Apr 2022 15:41:46 +0000 (23:41 +0800)]
test/crimson/.../test_transaction_manager: test multiple devices

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agotest/crimson: support multiple EphemeralSegmentManagers
Yingxin Cheng [Mon, 11 Apr 2022 12:40:03 +0000 (20:40 +0800)]
test/crimson: support multiple EphemeralSegmentManagers

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: cleanup, reuse device_spec/config_t
Yingxin Cheng [Fri, 8 Apr 2022 03:50:10 +0000 (11:50 +0800)]
crimson/os/seastore: cleanup, reuse device_spec/config_t

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoMerge pull request #45574 from cyx1231st/wip-crimson-refactor-with-device
Samuel Just [Wed, 13 Apr 2022 05:05:43 +0000 (22:05 -0700)]
Merge pull request #45574 from cyx1231st/wip-crimson-refactor-with-device

crimson/os/seastore: introduce the generic Device class

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #45775 from liu-chunmei/seastore-zero
Samuel Just [Wed, 13 Apr 2022 03:20:54 +0000 (20:20 -0700)]
Merge pull request #45775 from liu-chunmei/seastore-zero

crimson: seastore add OP_ZERO support

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
3 years agoos/bluestore: Always update the cursor position in AVL near-fit search. 45884/head
Mark Nelson [Wed, 13 Apr 2022 00:53:56 +0000 (00:53 +0000)]
os/bluestore: Always update the cursor position in AVL near-fit search.

Signed-off-by: Mark Nelson <mnelson@redhat.com>
3 years agocrimson: Implement ObjectDataHandler::zero using hole punching 45775/head
Samuel Just [Thu, 7 Apr 2022 21:30:32 +0000 (21:30 +0000)]
crimson: Implement ObjectDataHandler::zero using hole punching

Trim already treats Reserved regions as zero, let's use that
for zero as well.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/object_data_handler: don't return empty buffers from split_pin*
Samuel Just [Fri, 8 Apr 2022 09:20:49 +0000 (02:20 -0700)]
crimson/os/seastore/object_data_handler: don't return empty buffers from split_pin*

Always return std::nullopt rather than an empty buffer -- this way users
can rely on this as an invariant.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agotest/crimson/seastore: improve test_seastore zero() coverage
Samuel Just [Thu, 7 Apr 2022 20:48:38 +0000 (20:48 +0000)]
test/crimson/seastore: improve test_seastore zero() coverage

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson: add seastore::zero unit test
chunmei-liu [Wed, 6 Apr 2022 23:37:23 +0000 (16:37 -0700)]
crimson: add seastore::zero unit test

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>