]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agomgr/cephadm: s/_hosts_with_daemon_inventory/_schedulable_hosts/ 41011/head
Kefu Chai [Sat, 24 Apr 2021 07:37:43 +0000 (15:37 +0800)]
mgr/cephadm: s/_hosts_with_daemon_inventory/_schedulable_hosts/

`_hosts_with_daemon_inventory` was renamed to `_schedulable_hosts`
in f260c48f723641a5f82c64c0e31451199aa191f8 which was merged before
eebb842d0487660c93baf9eafda28a2f87e482f3 got merged, hence the
regression.

this change just updates the test with the new method name.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #34109 from CongMinYin/optimizing-bluestore-lock
Kefu Chai [Sat, 24 Apr 2021 05:58:38 +0000 (13:58 +0800)]
Merge pull request #34109 from CongMinYin/optimizing-bluestore-lock

os/bluestore: Optimizing the lock of bluestore writing process

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40863 from adk3798/maint-fix
Kefu Chai [Sat, 24 Apr 2021 05:54:07 +0000 (13:54 +0800)]
Merge pull request #40863 from adk3798/maint-fix

mgr/cephadm: don't remove daemons on hosts in maintenance or offline mode

Reviewed-by: Sebastian Wagner <swagner@suse.com>
4 years agoMerge pull request #38641 from agayev/zoned-cleaner
Kefu Chai [Sat, 24 Apr 2021 05:53:50 +0000 (13:53 +0800)]
Merge pull request #38641 from agayev/zoned-cleaner

os/bluestore: Some more plumbing for zone cleaning (WIP)

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #40978 from idryomov/wip-reset-authenticate-err
Kefu Chai [Sat, 24 Apr 2021 05:51:17 +0000 (13:51 +0800)]
Merge pull request #40978 from idryomov/wip-reset-authenticate-err

mon/MonClient: reset authenticate_err in _reopen_session()

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #41006 from yuriw/wip-yuriw-simlinks-master
Yuri Weinstein [Fri, 23 Apr 2021 16:49:07 +0000 (09:49 -0700)]
Merge pull request #41006 from yuriw/wip-yuriw-simlinks-master

qa/tests: changed simlink to upgrade/parallel only

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40994 from neha-ojha/wip-50388
Neha Ojha [Fri, 23 Apr 2021 16:36:06 +0000 (09:36 -0700)]
Merge pull request #40994 from neha-ojha/wip-50388

qa/suites/upgrade/pacific-x/rgw-multisite: fix install version

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Yuri Weinstein <yweins@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoqa/tests: changed simlink to upgrade/parallel only 41006/head
Yuri Weinstein [Fri, 23 Apr 2021 15:20:01 +0000 (08:20 -0700)]
qa/tests: changed simlink to upgrade/parallel only

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
4 years agoMerge pull request #40986 from rhcs-dashboard/50484-update-run-api-tests
Kefu Chai [Fri, 23 Apr 2021 12:14:32 +0000 (20:14 +0800)]
Merge pull request #40986 from rhcs-dashboard/50484-update-run-api-tests

mgr/dashboard: set required env. variables in run-backend-api-tests.sh

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #40664 from xxhdx1985126/wip-seastar-missing-apis
Kefu Chai [Fri, 23 Apr 2021 06:31:16 +0000 (14:31 +0800)]
Merge pull request #40664 from xxhdx1985126/wip-seastar-missing-apis

crimson/os/seastore: add set/get attrs and write/read meta methods for seastore

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40991 from rzarzynski/wip-crimson-backtrace-si_addr
Kefu Chai [Fri, 23 Apr 2021 04:57:16 +0000 (12:57 +0800)]
Merge pull request #40991 from rzarzynski/wip-crimson-backtrace-si_addr

crimson/common: print the address that caused the fault on SIGSEGV.

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agocrimson/os/seastore: limit the max size of objects' ns and oid 40664/head
Xuehan Xu [Wed, 14 Apr 2021 06:11:19 +0000 (14:11 +0800)]
crimson/os/seastore: limit the max size of objects' ns and oid

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agotest/crimson/seastore: add set/get attrs test
Xuehan Xu [Thu, 8 Apr 2021 10:09:51 +0000 (18:09 +0800)]
test/crimson/seastore: add set/get attrs test

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agotest/crimson/seastore: add write/read_meta tests
Xuehan Xu [Thu, 8 Apr 2021 07:24:38 +0000 (15:24 +0800)]
test/crimson/seastore: add write/read_meta tests

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agocrimson/os/seastore: add write/read_meta methods for seastore
Xuehan Xu [Tue, 6 Apr 2021 08:42:04 +0000 (16:42 +0800)]
crimson/os/seastore: add write/read_meta methods for seastore

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agoqa/suites/upgrade/pacific-x/rgw-multisite: fix install version 40994/head
Neha Ojha [Thu, 22 Apr 2021 20:39:48 +0000 (20:39 +0000)]
qa/suites/upgrade/pacific-x/rgw-multisite: fix install version

Before:

2021-04-22T06:20:58.260 INFO:teuthology.task.install:Ceph rpm upgrade from
16.2.1-103.gb54cefd0.el8 to 16.2.1-103.gb54cefd0

After:

2021-04-22T21:08:16.565 INFO:teuthology.task.install:Ceph rpm upgrade from
16.2.1-105.g540c2494.el8 to 17.0.0-3515.ga5b16446

Fixes: https://tracker.ceph.com/issues/50388
Signed-off-by: Neha Ojha <nojha@redhat.com>
4 years agocrimson/common: print the address that caused the fault on SIGSEGV. 40991/head
Radoslaw Zarzynski [Thu, 22 Apr 2021 16:06:04 +0000 (16:06 +0000)]
crimson/common: print the address that caused the fault on SIGSEGV.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge PR #40526 into master
Patrick Donnelly [Thu, 22 Apr 2021 16:20:59 +0000 (09:20 -0700)]
Merge PR #40526 into master

* refs/pull/40526/head:
spec: add nfs to spec file
mgr/nfs: Don't enable nfs module by default
mgr/nfs: check for invalid chars in cluster id
mgr/nfs: Use CLICommand wrapper
mgr/nfs: reorg nfs files
mgr/nfs: Check if transport or protocol are list instance
mgr/nfs: reorg cluster class and common helper methods
mgr/nfs: move common export helper methods to ExportMgr class
mgr/nfs: move validate methods into new ValidateExport class
mgr/nfs: add custom exception module
mgr/nfs: create new module for export utils
mgr/nfs: rename fs dir to export
mgr/volumes/nfs: Move nfs code out of volumes plugin

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agomon/MonClient: reset authenticate_err in _reopen_session() 40978/head
Ilya Dryomov [Thu, 22 Apr 2021 10:29:59 +0000 (12:29 +0200)]
mon/MonClient: reset authenticate_err in _reopen_session()

Otherwise, if "mon host" list has at least one unqualified IP address
without a port and both msgr1 and msgr2 are turned on, there is a race
affecting MonClient::authenticate().

For backwards compatibility reasons such an address is expanded into
two entries, each being treated as a separate monitor.  For example,
"mon host = 1.2.3.4" generates the following initial monmap:

  0: v1:1.2.3.4:6789/0
  1: v2:1.2.3.4:3300/0

See MonMap::_add_ambiguous_addr() for details.

Then, the following can happen:

1. we connect to both endpoints and attempt to authenticate
2. authenticate() sets authenticate_err to 1 and sleeps on auth_cond
3. msgr1 authenticates first (i.e. it gets the final MAuth message
   before msgr2 gets the monmap)
4. active_con is set to msgr1 connection, msgr2 connection is closed
   as redundant
5. _finish_auth() sets authenticate_err to 0 and signals auth_cond,
   but before either the monmap is received or authenticate() wakes
   up, msgr1 connection is closed due to a network hiccup
6. ms_handle_reset() calls _reopen_session() which clears active_con
   and again connects to both endpoints and attempts to authenticate
7. authenticate() wakes up, sees that there is no active_con and goes
   back to sleep, but this time with authenticate_err == 0
8. msgr2 authenticates first but doesn't call _finish_auth() because
   it is called only if authenticate_err == 1
9. active_con is set to msgr2 connection, msgr1 connection is closed
   as redundant
10. authenticate() hangs on auth_cond until timeout defaulting to 5
    minutes

The discrepancy between msgr1 and msgr2 plays a key role.  For msgr1,
authentication is considered to be complete as soon as the final MAuth
message is received -- the monmap is not waited for.  For msgr2,
authentication is considered to be complete only after the monmap is
received.

Avoid the race by setting authenticate_err to 1 in _reopen_session(),
so that _finish_auth() is called on/after every authentication attempt
instead of just the first one.

Fixes: https://tracker.ceph.com/issues/50477
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 years agocrimson/common: fix the messed labels for backtrace printing.
Radoslaw Zarzynski [Thu, 22 Apr 2021 15:57:24 +0000 (15:57 +0000)]
crimson/common: fix the messed labels for backtrace printing.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agocrimson/common: rename print_with_backtrace in fatal_signal.cc.
Radoslaw Zarzynski [Thu, 22 Apr 2021 15:53:26 +0000 (15:53 +0000)]
crimson/common: rename print_with_backtrace in fatal_signal.cc.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge pull request #40940 from rhcs-dashboard/50440-fix-nfs-duplicated-rows
Ernesto Puerta [Thu, 22 Apr 2021 15:27:55 +0000 (17:27 +0200)]
Merge pull request #40940 from rhcs-dashboard/50440-fix-nfs-duplicated-rows

mgr/dashboard: fix duplicated rows when creating NFS export.

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Varsha Rao <varao@redhat.com>
4 years agocrimson/common: drop a non-existing method from the FatalSignal's declaration.
Radoslaw Zarzynski [Thu, 22 Apr 2021 15:19:10 +0000 (15:19 +0000)]
crimson/common: drop a non-existing method from the FatalSignal's declaration.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agomgr/dashboard: set required env. variables in run-backend-api-tests.sh 40986/head
Alfonso Martínez [Thu, 22 Apr 2021 15:02:27 +0000 (17:02 +0200)]
mgr/dashboard: set required env. variables in run-backend-api-tests.sh

Fixes: https://tracker.ceph.com/issues/50484
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
4 years agoMerge pull request #40979 from leseb/raw-list-fix-dup
Sébastien Han [Thu, 22 Apr 2021 14:50:09 +0000 (16:50 +0200)]
Merge pull request #40979 from leseb/raw-list-fix-dup

ceph-volume: fix raw listing when finding OSDs from different clusters

4 years agoMerge PR #40913 into master
Sage Weil [Thu, 22 Apr 2021 13:50:02 +0000 (09:50 -0400)]
Merge PR #40913 into master

* refs/pull/40913/head:
qa/tasks/cephadm: fix ctx archive check for teuthology

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agoMerge pull request #40912 from liewegas/fix-bug-49237
Kefu Chai [Thu, 22 Apr 2021 13:22:11 +0000 (21:22 +0800)]
Merge pull request #40912 from liewegas/fix-bug-49237

msgr/async: fix unsafe access in unregister_conn()

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40916 from trociny/wip-50395
Kefu Chai [Thu, 22 Apr 2021 13:19:47 +0000 (21:19 +0800)]
Merge pull request #40916 from trociny/wip-50395

os/FileStore: don't propagate split/merge error to "create"/"remove"

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #40900 from myoungwon/wip-fix-50352
Kefu Chai [Thu, 22 Apr 2021 13:18:41 +0000 (21:18 +0800)]
Merge pull request #40900 from myoungwon/wip-fix-50352

test: extend retry timeout from 150s to 300s

Reviewed-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #40944 from Daniel-Pivonka/cephadmhostlabelsorder
Kefu Chai [Thu, 22 Apr 2021 13:18:01 +0000 (21:18 +0800)]
Merge pull request #40944 from Daniel-Pivonka/cephadmhostlabelsorder

python-common: use OrderedDict instead of Set to remove duplicates from host labels list

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
Reviewed-by: Sage Weil <sweil@redhat.com>
4 years agomgr/dashboard: update documentation about creating NFS export. 40940/head
Alfonso Martínez [Thu, 22 Apr 2021 12:10:25 +0000 (14:10 +0200)]
mgr/dashboard: update documentation about creating NFS export.

- You learn first that orchestrator-managed clusters are detected automatically (therefore the documentation that follows is exclusively for user-defined clusters).
- Include nfs-ganesha in the security scope list.

Fixes: https://tracker.ceph.com/issues/50440
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
4 years agomgr/dashboard: fix duplicated rows when creating NFS export.
Alfonso Martínez [Thu, 22 Apr 2021 12:09:52 +0000 (14:09 +0200)]
mgr/dashboard: fix duplicated rows when creating NFS export.

- Show an error message if the same pool & namespace is used by more than 1 cluster.
- Fix error handling when no rgw daemons found.

Fixes: https://tracker.ceph.com/issues/50440
Signed-off-by: Alfonso Martínez <almartin@redhat.com>
4 years agoceph-volume: fix raw listing when finding OSDs from different clusters 40979/head
Sébastien Han [Thu, 22 Apr 2021 10:52:09 +0000 (12:52 +0200)]
ceph-volume: fix raw listing when finding OSDs from different clusters

When listing OSDs on host with 2 OSDs with the same ID, the output gets
overwritten with the last listed device. So a single OSD will show up.
See the ceph-volume.log which correctly parsed both disks:

```
[2021-04-22 09:44:21,391][ceph_volume.devices.raw.list][DEBUG ] Examining /dev/sda1
[2021-04-22 09:44:21,391][ceph_volume.process][INFO  ] Running command: /usr/bin/ceph-bluestore-tool show-label --dev /dev/sda1
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout {
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "/dev/sda1": {
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "osd_uuid": "423bf64d-f241-4f4b-a589-25a66fc836d1",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "size": 6442450944,
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "btime": "2021-04-22T09:32:55.894961+0000",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "description": "main",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "bfm_blocks": "1572864",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "bfm_blocks_per_key": "128",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "bfm_bytes_per_block": "4096",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "bfm_size": "6442450944",
[2021-04-22 09:44:21,418][ceph_volume.process][INFO  ] stdout "bluefs": "1",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "ceph_fsid": "d3cd4b72-5342-4fd3-96ec-a6e581261eab",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "kv_backend": "rocksdb",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "magic": "ceph osd volume v026",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "mkfs_done": "yes",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "osd_key": "AQDGQoFg+XHqJBAAw9ZQmtrnotHCLI0Nc2to6A==",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "ready": "ready",
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout "whoami": "0"
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout }
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] stdout }
[2021-04-22 09:44:21,419][ceph_volume.devices.raw.list][DEBUG ] Examining /dev/sda2
[2021-04-22 09:44:21,419][ceph_volume.process][INFO  ] Running command: /usr/bin/ceph-bluestore-tool show-label --dev /dev/sda2
[2021-04-22 09:44:21,445][ceph_volume.process][INFO  ] stdout {
[2021-04-22 09:44:21,445][ceph_volume.process][INFO  ] stdout "/dev/sda2": {
[2021-04-22 09:44:21,445][ceph_volume.process][INFO  ] stdout "osd_uuid": "c7c66bbd-7b38-4dcd-ad6d-3769c516f2fe",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "size": 6442450944,
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "btime": "2021-04-22T09:32:21.814768+0000",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "description": "main",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "bfm_blocks": "1572864",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "bfm_blocks_per_key": "128",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "bfm_bytes_per_block": "4096",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "bfm_size": "6442450944",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "bluefs": "1",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "ceph_fsid": "69c40cb1-22af-42e4-9d59-4a4468a2f58f",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "kv_backend": "rocksdb",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "magic": "ceph osd volume v026",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "mkfs_done": "yes",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "osd_key": "AQCkQoFgre9SKBAANgHH6scIb+IiyKxh6MhY0A==",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "ready": "ready",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "require_osd_release": "16",
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout "whoami": "0"
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout }
[2021-04-22 09:44:21,446][ceph_volume.process][INFO  ] stdout }
```

However, a single OSD gets listed by `ceph-volume raw list`:

```
[root@2b5a3b8bf31c /]# ceph-volume raw list
{
    "0": {
        "ceph_fsid": "69c40cb1-22af-42e4-9d59-4a4468a2f58f",
        "device": "/dev/sda2",
        "osd_id": 0,
        "osd_uuid": "c7c66bbd-7b38-4dcd-ad6d-3769c516f2fe",
        "type": "bluestore"
    }
}
```

We now use the osd_uuid so the output will never conflict:

```
[root@2b5a3b8bf31c /]# ceph-volume raw list
{
    "423bf64d-f241-4f4b-a589-25a66fc836d1": {
        "ceph_fsid": "d3cd4b72-5342-4fd3-96ec-a6e581261eab",
        "dev": "/dev/sda1",
        "osd_id": 0,
        "osd_uuid": "423bf64d-f241-4f4b-a589-25a66fc836d1",
        "type": "bluestore"
    },
    "c7c66bbd-7b38-4dcd-ad6d-3769c516f2fe": {
        "ceph_fsid": "69c40cb1-22af-42e4-9d59-4a4468a2f58f",
        "dev": "/dev/sda2",
        "osd_id": 0,
        "osd_uuid": "c7c66bbd-7b38-4dcd-ad6d-3769c516f2fe",
        "type": "bluestore"
    }
}
```

Fixes: https://tracker.ceph.com/issues/50478
Signed-off-by: Sébastien Han <seb@redhat.com>
4 years agomon/MonClient: remove reopen_session() callback mechanism
Ilya Dryomov [Thu, 22 Apr 2021 10:29:59 +0000 (12:29 +0200)]
mon/MonClient: remove reopen_session() callback mechanism

It's been unused for over 5 years, since commit 17d24292b812 ("osd:
remove old stats backoff mechanism").

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
4 years agoMerge pull request #40954 from rhcs-dashboard/password-in-dev-tools
Ernesto Puerta [Thu, 22 Apr 2021 09:26:56 +0000 (11:26 +0200)]
Merge pull request #40954 from rhcs-dashboard/password-in-dev-tools

mgr/dashboard: Remove username and password from request body

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #40909 from tchaikov/wip-osd-cast
Kefu Chai [Thu, 22 Apr 2021 09:00:09 +0000 (17:00 +0800)]
Merge pull request #40909 from tchaikov/wip-osd-cast

osd/ReplicatedBackend: cast variable to unsigned before comparing

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agocrimson/os/seastore: add get/set attr methods
Xuehan Xu [Tue, 30 Mar 2021 10:38:23 +0000 (18:38 +0800)]
crimson/os/seastore: add get/set attr methods

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
4 years agoMerge pull request #40942 from athanatos/sjust/wip-retired-placeholder
Kefu Chai [Thu, 22 Apr 2021 07:30:36 +0000 (15:30 +0800)]
Merge pull request #40942 from athanatos/sjust/wip-retired-placeholder

crimson/os/seastore: track retired extents until in-progress transactions complete

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40956 from rzarzynski/wip-crimson-depends-on-binutils
Kefu Chai [Thu, 22 Apr 2021 07:27:54 +0000 (15:27 +0800)]
Merge pull request #40956 from rzarzynski/wip-crimson-depends-on-binutils

ceph.spec.in: crimson depends on binutils b/c of addr2line.

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40970 from neha-ojha/wip-delete-some
Kefu Chai [Thu, 22 Apr 2021 06:58:19 +0000 (14:58 +0800)]
Merge pull request #40970 from neha-ojha/wip-delete-some

osd: remove references to _delete_some()

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40971 from tchaikov/wip-common-option-osd_erasure_code_plugins
Kefu Chai [Thu, 22 Apr 2021 06:56:53 +0000 (14:56 +0800)]
Merge pull request #40971 from tchaikov/wip-common-option-osd_erasure_code_plugins

common/options: set default variable of osd_erasure_code_plugins

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #40964 from tchaikov/wip-disable-rook-mgr-module
Kefu Chai [Thu, 22 Apr 2021 06:56:09 +0000 (14:56 +0800)]
Merge pull request #40964 from tchaikov/wip-disable-rook-mgr-module

vstart.sh: disable "rook" mgr module by default

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
4 years agoMerge pull request #40580 from anthonyeleven/anthonyeleven/clean-up-cephfs-standby
Kefu Chai [Thu, 22 Apr 2021 06:53:09 +0000 (14:53 +0800)]
Merge pull request #40580 from anthonyeleven/anthonyeleven/clean-up-cephfs-standby

doc/cephfs: refine cephfs/standby

Reviewed-by: Zac Dover <zac.dover@gmail.com>
4 years agocrimson/os/seastore/cached_extent: fix maybe_generate_relative 40942/head
Samuel Just [Wed, 21 Apr 2021 06:59:46 +0000 (23:59 -0700)]
crimson/os/seastore/cached_extent: fix maybe_generate_relative

The only case we really care about here is that record relative addresses
for initial_pending extents need to be turned into block relative extents.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore: retain placeholders for retired, uncached extents
Samuel Just [Mon, 19 Apr 2021 23:48:21 +0000 (16:48 -0700)]
crimson/os/seastore: retain placeholders for retired, uncached extents

We need to track extents retired without first being in cache.  Create
RetiredExtentPlaceholder extent type for conflict detection on those
cases.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore: speed up mount with debugging enabled
Samuel Just [Fri, 16 Apr 2021 23:16:48 +0000 (16:16 -0700)]
crimson/os/seastore: speed up mount with debugging enabled

Logging allocation information really slows down initial mount.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: check cached extents for is_retired
Samuel Just [Fri, 16 Apr 2021 21:58:07 +0000 (21:58 +0000)]
crimson/os/seastore/cache: check cached extents for is_retired

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore/cache: ensure retired extents remain until transactions complete
Samuel Just [Thu, 22 Apr 2021 06:15:38 +0000 (23:15 -0700)]
crimson/os/seastore/cache: ensure retired extents remain until transactions complete

Adds a structure to ensure that retired extents remain in the index until
any transactions which might reference them complete.

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agocrimson/os/seastore_types: fix NULL_SEG_OFF declaration
Samuel Just [Mon, 19 Apr 2021 07:39:34 +0000 (00:39 -0700)]
crimson/os/seastore_types: fix NULL_SEG_OFF declaration

Signed-off-by: Samuel Just <sjust@redhat.com>
4 years agoMerge pull request #40974 from tchaikov/wip-doc-more-conf-vals
Kefu Chai [Thu, 22 Apr 2021 06:14:42 +0000 (14:14 +0800)]
Merge pull request #40974 from tchaikov/wip-doc-more-conf-vals

doc/rados/configuration/mon-config-ref: use confval directive

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agoMerge pull request #40725 from sseshasa/wip-mclock-internal-doc
Kefu Chai [Thu, 22 Apr 2021 06:14:21 +0000 (14:14 +0800)]
Merge pull request #40725 from sseshasa/wip-mclock-internal-doc

doc/dev: Add internal documentation for mclock scheduler

Reviewed-by: Sunny Kumar <sunkumar@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agospec: add nfs to spec file 40526/head
Varsha Rao [Mon, 19 Apr 2021 12:00:16 +0000 (17:30 +0530)]
spec: add nfs to spec file

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: Don't enable nfs module by default
Varsha Rao [Mon, 19 Apr 2021 10:11:22 +0000 (15:41 +0530)]
mgr/nfs: Don't enable nfs module by default

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: check for invalid chars in cluster id
Varsha Rao [Thu, 15 Apr 2021 11:12:35 +0000 (16:42 +0530)]
mgr/nfs: check for invalid chars in cluster id

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: Use CLICommand wrapper
Varsha Rao [Sat, 10 Apr 2021 10:46:11 +0000 (16:16 +0530)]
mgr/nfs: Use CLICommand wrapper

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: reorg nfs files
Varsha Rao [Sat, 10 Apr 2021 09:22:07 +0000 (14:52 +0530)]
mgr/nfs: reorg nfs files

This patch does the following:
- removed export dir and moved its files to nfs dir
- renamed nfs.py to export.py

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: Check if transport or protocol are list instance
Varsha Rao [Sat, 10 Apr 2021 07:38:56 +0000 (13:08 +0530)]
mgr/nfs: Check if transport or protocol are list instance

This is to fix "int object is not iterable” error.

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: reorg cluster class and common helper methods
Varsha Rao [Fri, 9 Apr 2021 19:30:31 +0000 (01:00 +0530)]
mgr/nfs: reorg cluster class and common helper methods

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: move common export helper methods to ExportMgr class
Varsha Rao [Fri, 9 Apr 2021 18:37:44 +0000 (00:07 +0530)]
mgr/nfs: move common export helper methods to ExportMgr class

This reorganization is to support RGW exports in future PR.

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: move validate methods into new ValidateExport class
Varsha Rao [Fri, 9 Apr 2021 16:59:19 +0000 (22:29 +0530)]
mgr/nfs: move validate methods into new ValidateExport class

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: add custom exception module
Varsha Rao [Wed, 31 Mar 2021 10:48:09 +0000 (16:18 +0530)]
mgr/nfs: add custom exception module

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: create new module for export utils
Varsha Rao [Wed, 31 Mar 2021 08:28:36 +0000 (13:58 +0530)]
mgr/nfs: create new module for export utils

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/nfs: rename fs dir to export
Varsha Rao [Tue, 30 Mar 2021 12:01:34 +0000 (17:31 +0530)]
mgr/nfs: rename fs dir to export

Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agomgr/volumes/nfs: Move nfs code out of volumes plugin
Varsha Rao [Thu, 25 Mar 2021 11:43:05 +0000 (17:13 +0530)]
mgr/volumes/nfs: Move nfs code out of volumes plugin

This PR is to support integration of dashboard with volumes/nfs plugin.

Fixes: https://tracker.ceph.com/issues/50080
Signed-off-by: Varsha Rao <varao@redhat.com>
4 years agodoc/_ext/ceph_confval: print out option name if it does not render 40974/head
Kefu Chai [Thu, 22 Apr 2021 04:06:26 +0000 (12:06 +0800)]
doc/_ext/ceph_confval: print out option name if it does not render

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/rados/configuration/mon-config-ref: link by ref instead of relative hyperlink
Kefu Chai [Thu, 22 Apr 2021 03:31:10 +0000 (11:31 +0800)]
doc/rados/configuration/mon-config-ref: link by ref instead of relative hyperlink

the latter is more fragile.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/rados/configuration/mon-config-ref: use confval directive
Kefu Chai [Thu, 22 Apr 2021 03:24:31 +0000 (11:24 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive

for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/rados/configuration: add missing options
Kefu Chai [Thu, 22 Apr 2021 03:05:40 +0000 (11:05 +0800)]
doc/rados/configuration: add missing options

and link to them when appropriate

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocommon/options: add description to osd_op_num_shards*
Kefu Chai [Thu, 22 Apr 2021 04:08:05 +0000 (12:08 +0800)]
common/options: add description to osd_op_num_shards*

so they can be rendered

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40968 from rzarzynski/wip-crimson-only-fix-fwd-in-interruptor
Kefu Chai [Thu, 22 Apr 2021 02:29:18 +0000 (10:29 +0800)]
Merge pull request #40968 from rzarzynski/wip-crimson-only-fix-fwd-in-interruptor

crimson/common: fix forwarding in non_futurized_call_with_interruption().

Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40904 from inspur-wyq/patch-3
Kefu Chai [Thu, 22 Apr 2021 02:19:16 +0000 (10:19 +0800)]
Merge pull request #40904 from inspur-wyq/patch-3

doc/radosgw/multisite.rst: fix typos

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #40932 from lyarwood/pybind_rados_connect_timeout
Kefu Chai [Thu, 22 Apr 2021 02:18:36 +0000 (10:18 +0800)]
Merge pull request #40932 from lyarwood/pybind_rados_connect_timeout

pybind/rados: Document that timeout arg is ignored by connect

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge PR #40938 into master
Sage Weil [Thu, 22 Apr 2021 02:12:32 +0000 (22:12 -0400)]
Merge PR #40938 into master

* refs/pull/40938/head:
mgr/cephadm: less noise about osd specs
mgr/cephadm: kick serve loop when adding/removing labels
mgr/cephadm: do not place osds on _no_schedule hosts
doc/cephadm: document _no_schedule label
mgr/cephadm: fix 'orch ls' count to reflect schedulable hosts
mgr/cephadm: do not schedule on _no_schedule hosts

Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
4 years agocommon/options: set default variable of osd_erasure_code_plugins 40971/head
Kefu Chai [Thu, 22 Apr 2021 00:02:09 +0000 (08:02 +0800)]
common/options: set default variable of osd_erasure_code_plugins

5ddda38da4f introduced a regression which failed to substitude
osd_erasure_code_plugins's default value with the the corresponding
CMake variable

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/cephadm: less noise about osd specs 40938/head
Sage Weil [Tue, 20 Apr 2021 14:27:40 +0000 (10:27 -0400)]
mgr/cephadm: less noise about osd specs

We don't want this message every time around the serve() loop

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm: kick serve loop when adding/removing labels
Sage Weil [Tue, 20 Apr 2021 14:26:08 +0000 (10:26 -0400)]
mgr/cephadm: kick serve loop when adding/removing labels

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agomgr/cephadm: do not place osds on _no_schedule hosts
Sage Weil [Tue, 20 Apr 2021 14:08:56 +0000 (10:08 -0400)]
mgr/cephadm: do not place osds on _no_schedule hosts

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agodoc/cephadm: document _no_schedule label
Sage Weil [Tue, 20 Apr 2021 14:07:03 +0000 (10:07 -0400)]
doc/cephadm: document _no_schedule label

Signed-off-by: Sage Weil <sage@newdream.net>
4 years agoosd: remove references to _delete_some() 40970/head
Neha Ojha [Wed, 21 Apr 2021 21:10:41 +0000 (21:10 +0000)]
osd: remove references to _delete_some()

It was replaced by do_delete_work() in b927419dd40987728684cc773e85130d29d06c39

Signed-off-by: Neha Ojha <nojha@redhat.com>
4 years agopython-common: use OrderedDict instead of Set to remove duplicates from host labels... 40944/head
Daniel Pivonka [Tue, 20 Apr 2021 19:30:28 +0000 (15:30 -0400)]
python-common: use OrderedDict instead of Set to remove duplicates from host labels list

this preserves the order of the list instead of randomizing the order

Signed-off-by: Daniel Pivonka <dpivonka@redhat.com>
4 years agoMerge pull request #40969 from zdover23/wip-doc-cephadm-osd-filters-colons-2021-apr-21
zdover23 [Wed, 21 Apr 2021 19:23:07 +0000 (05:23 +1000)]
Merge pull request #40969 from zdover23/wip-doc-cephadm-osd-filters-colons-2021-apr-21

doc/cephadm: osd.rst -- removing colons

Reviewed-by: Sage Weil <sweil@redhat.com>
4 years agodoc/cephadm: osd.rst -- removing colons 40969/head
Zac Dover [Wed, 21 Apr 2021 18:14:24 +0000 (04:14 +1000)]
doc/cephadm: osd.rst -- removing colons

This PR removes colons that weren't necessary.
This is a companion PR to PR#40996.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge pull request #40705 from orozery/libcryptsetup-return-checks
Mykola Golub [Wed, 21 Apr 2021 18:10:32 +0000 (21:10 +0300)]
Merge pull request #40705 from orozery/libcryptsetup-return-checks

librbd/crypto: fix bad return checks from libcryptsetup

Reviewed-by: Mykola Golub <mgolub@suse.com>
4 years agoMerge PR #40966 into master
Sage Weil [Wed, 21 Apr 2021 17:35:40 +0000 (13:35 -0400)]
Merge PR #40966 into master

* refs/pull/40966/head:
doc/cephadm: osd: rewrite "additional opts"

Reviewed-by: Sage Weil <sage@redhat.com>
4 years agocrimson/common: fix forwarding in non_futurized_call_with_interruption(). 40968/head
Radoslaw Zarzynski [Wed, 21 Apr 2021 15:34:30 +0000 (15:34 +0000)]
crimson/common: fix forwarding in non_futurized_call_with_interruption().

This commit fixes a memory corruption problem found on the intersection
of `seastar::thread` and `interruptor` by a teuthology job [1].
It turns out to be caused by a use-after-free which happens due to
an issue with type deduction in `non_futurized_call_with_interruption`.
However, it might be beneficial to audit other members of the family too.

If `Result` is deduced to be a non-reference type (i.e. the `Func`
returns e.g. `ceph::bufferlist`), `std::forward<Result>` forwards
it as a r-value reference (`Result&&`). `decltype(auto)` makes this
reference the return type of the entire function which isn't what
we want.

Debugging
=========

Instrumentation
---------------
```diff
--- a/src/crimson/osd/ops_executer.cc
+++ b/src/crimson/osd/ops_executer.cc
@@ -28,6 +28,21 @@ namespace {

 namespace crimson::osd {

+struct scope_dbgr {
+  scope_dbgr() {
+    logger().debug("{}:{} on {}", __func__, __LINE__, (void*)this);
+  }
+  scope_dbgr(const scope_dbgr& src) {
+    logger().debug("{}:{} copy on {}; src {}", __func__, __LINE__, (void*)this, (void*)&src);
+  }
+  scope_dbgr(scope_dbgr&& src) noexcept {
+    logger().debug("{}:{} move on {}; src {}", __func__, __LINE__, (void*)this, (void*)&src);
+  }
+  ~scope_dbgr() {
+    logger().debug("{}:{} on {}", __func__, __LINE__, (void*)this);
+  }
+};
+
 OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
 {
   std::string cname, mname;
@@ -84,14 +99,16 @@ OpsExecuter::call_ierrorator::future<> OpsExecuter::do_op_call(OSDOp& osd_op)
       ceph::bufferlist outdata;
       auto cls_context = reinterpret_cast<cls_method_context_t>(this);
       const auto ret = method->exec(cls_context, indata, outdata);
-      return std::make_pair(ret, std::move(outdata));
+      logger().debug("do_ops_call: outdata just after exec: {}", outdata);
+      return std::make_tuple(ret, std::move(outdata), scope_dbgr{});
     }
   ).then_interruptible(
     [this, prev_rd, prev_wr, &osd_op, flags]
     (auto outcome) -> call_errorator::future<> {
-      auto& [ret, outdata] = outcome;
+      auto& [ret, outdata, dbgr] = outcome;
       osd_op.rval = ret;
-
+      logger().debug("do_ops_call: outdata just after then_interruptible: {}",
+                     outdata);
       logger().debug("do_op_call: method returned ret={}, outdata.length()={}"
                      " while num_read={}, num_write={}",
                      ret, outdata.length(), num_read, num_write);
```

After the fix
-------------
```
DEBUG 2021-04-21 15:32:30,012 [shard 0] bluestore - get_attr
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_ops_call: outdata just after exec: buffer::list(len=18,
        buffer::ptr(0~18 0x6000000ef000 in raw 0x6000000ef000 len 4000 nref 1)
)
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:33 on 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff00; src 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085feb3
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085fed0; src 0x60000085ff00
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff00
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff40; src 0x60000085fed0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fed0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x60000015a740; src 0x60000085ff40
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff40
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018df0; src 0x60000015a740
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x60000015a740
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x6000005196d8; src 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018df0; src 0x6000005196d8
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x6000005196d8
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018db0; src 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018df0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x600000807b58; src 0x7ffc4d018db0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018db0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - scope_dbgr:39 move on 0x7ffc4d018d30; src 0x600000807b58
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_ops_call: outdata just after then_interruptible: buffer::list(len=18,
        buffer::ptr(0~18 0x6000000ef000 in raw 0x6000000ef000 len 4000 nref 1)
)
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - do_op_call: method returned ret=0, outdata.length()=18 while num_read=1, num_write=0
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x7ffc4d018d30
DEBUG 2021-04-21 15:32:30,012 [shard 0] osd - ~scope_dbgr:42 on 0x600000807b58
```

Before
------
```
DEBUG 2021-04-21 16:06:24,354 [shard 0] bluestore - get_attr
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_ops_call: outdata just after exec: buffer::list(len=18,
        buffer::ptr(0~18 0x6000000f7000 in raw 0x6000000f7000 len 4000 nref 1)
)
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:33 on 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085fed0; src 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fe84
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fed0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085fea0; src 0x60000085fed0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x60000085ff40; src 0x60000085fea0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085fea0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x6000008360b0; src 0x60000085ff40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x60000085ff40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ee00; src 0x6000008360b0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x6000008360b0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x600000801a38; src 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ee00; src 0x600000801a38
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x600000801a38
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3edc0; src 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ee00
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x600000807bf8; src 0x7ffe48b3edc0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3edc0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - scope_dbgr:39 move on 0x7ffe48b3ed40; src 0x600000807bf8
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_ops_call: outdata just after then_interruptible: buffer::list(len=18,
        buffer:ptr(0~18 no raw)
)
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_op_call: method returned ret=0, outdata.length()=18 while num_read=1, num_write=0
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x7ffe48b3ed40
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - ~scope_dbgr:42 on 0x600000807bf8
DEBUG 2021-04-21 16:06:24,354 [shard 0] osd - do_osd_ops: osd_op(client.4131.0:4 1.e 1:70fc7f5f:test-rados-api-o06-82166-2::foo:head {call lock.get_info in=31b out=18b}
 snapc 0={} ondisk+read+known_if_redirected e6) v8 - object 1:70fc7f5f:test-rados-api-o06-82166-2::foo:head all operations successful
Reactor stalled for 521 ms on shard 0.
Backtrace:
  0x00000000017101b8
  0x00000000016d7960
  0x00000000016d7edc
  0x00000000016d810f
  /lib64/libpthread.so.0+0x0000000000012b2f
  0x00000000016b563e
  0x00000000016b801c
  0x00000000016b8504
  0x0000000000d68120
```

[1]: http://pulpito.front.sepia.ceph.com/rzarzynski-2021-04-19_12:11:51-rados-master-distro-basic-smithi/6058778/

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agodoc/cephadm: osd: rewrite "additional opts" 40966/head
Zac Dover [Wed, 21 Apr 2021 15:01:01 +0000 (01:01 +1000)]
doc/cephadm: osd: rewrite "additional opts"

This PR rewrites the "Additional Options"
subsection of the OSD chapter of the cephadm
guide.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
4 years agoMerge pull request #40914 from zdover23/wip-doc-cephadm-osd-advanced-up-to-filters...
zdover23 [Wed, 21 Apr 2021 14:21:38 +0000 (00:21 +1000)]
Merge pull request #40914 from zdover23/wip-doc-cephadm-osd-advanced-up-to-filters-2021-apr-18

doc/cephadm: rewrite "advanced osd s. specs"

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agovstart.sh: disable "rook" mgr module by default 40964/head
Kefu Chai [Wed, 21 Apr 2021 13:50:21 +0000 (21:50 +0800)]
vstart.sh: disable "rook" mgr module by default

as we don't have "jsonpatch" installed for running "make check", "rook"
module always fails to load, and the error message when mgr is
unable to load is misleading and distracting. let's just disabled it.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agomgr/PyModuleRegistry: use vector<> when appropriate
Kefu Chai [Wed, 21 Apr 2021 13:47:29 +0000 (21:47 +0800)]
mgr/PyModuleRegistry: use vector<> when appropriate

no need to use a set<string> for storing module name, they are
inherently unique.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/dev: Add internal documentation for mclock scheduler 40725/head
Sridhar Seshasayee [Fri, 9 Apr 2021 11:30:03 +0000 (17:00 +0530)]
doc/dev: Add internal documentation for mclock scheduler

The document details the refinements to mclock scheduler and presents the
results of a comparison study performed between the mclock scheduler and
the WPQ scheduler.

Signed-off-by: Sridhar Seshasayee <sseshasa@redhat.com>
4 years agolibrbd/crypto: fix bad return checks from libcryptsetup 40705/head
Or Ozeri [Thu, 8 Apr 2021 17:13:49 +0000 (20:13 +0300)]
librbd/crypto: fix bad return checks from libcryptsetup

This commit fixes the return checks for libcryptsetup functions
that may return non-zero success codes.

Fixes: https://tracker.ceph.com/issues/50461
Signed-off-by: Or Ozeri <oro@il.ibm.com>
4 years agoceph.spec.in: crimson depends on binutils b/c of addr2line. 40956/head
Radoslaw Zarzynski [Wed, 21 Apr 2021 09:37:20 +0000 (09:37 +0000)]
ceph.spec.in: crimson depends on binutils b/c of addr2line.

This small utility is needed due to the backtrace processing.
See: d3dcf510c35228a525311732fa5f7385c4a736ba.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
4 years agoMerge pull request #40935 from TRYTOBE8TME/wip-rgw-bootstrap-fix
Yuval Lifshitz [Wed, 21 Apr 2021 08:39:03 +0000 (11:39 +0300)]
Merge pull request #40935 from TRYTOBE8TME/wip-rgw-bootstrap-fix

test/rgw: Removing unrecognized option from bootstrap file

4 years agomgr/dashboard: Remove username and password from request body 40954/head
Nizamudeen A [Wed, 21 Apr 2021 08:10:39 +0000 (13:40 +0530)]
mgr/dashboard: Remove username and password from request body

Fixes: https://tracker.ceph.com/issues/50451
Signed-off-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #40953 from tchaikov/wip-doc-confval
Kefu Chai [Wed, 21 Apr 2021 06:12:57 +0000 (14:12 +0800)]
Merge pull request #40953 from tchaikov/wip-doc-confval

common/options,doc/rados/configuration: extract crimson options, use confval directive

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
4 years agodoc/conf.py: use glob.glob() to find .yaml.in files 40953/head
Kefu Chai [Wed, 21 Apr 2021 05:32:35 +0000 (13:32 +0800)]
doc/conf.py: use glob.glob() to find .yaml.in files

improve the maintainability of .yaml.in files.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocmake: use file(GLOB ..) to find .yaml.in files
Kefu Chai [Wed, 21 Apr 2021 05:28:52 +0000 (13:28 +0800)]
cmake: use file(GLOB ..) to find .yaml.in files

instead of hardcode the option file names, use file(GLOB ..) to find
and collect them instead, for better maintainability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agocommon/optinos: extract crimson options out
Kefu Chai [Wed, 21 Apr 2021 04:46:22 +0000 (12:46 +0800)]
common/optinos: extract crimson options out

prepare for the change to split the options by services

in future, osd will have its own osd.yaml.in, while crimson will consume
both osd.yaml.in and crimson.yaml.in.

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/rados/configuration/mon-config-ref: use confval directive
Kefu Chai [Wed, 21 Apr 2021 04:36:43 +0000 (12:36 +0800)]
doc/rados/configuration/mon-config-ref: use confval directive

for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>
4 years agodoc/rados/configuration/general-config-ref: use confval directive
Kefu Chai [Wed, 21 Apr 2021 04:22:53 +0000 (12:22 +0800)]
doc/rados/configuration/general-config-ref: use confval directive

for defining options

Signed-off-by: Kefu Chai <kchai@redhat.com>