]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
4 years agoceph-volume: add a unit tests to lvm batch 38046/head
Guillaume Abrioux [Wed, 4 Nov 2020 14:11:58 +0000 (15:11 +0100)]
ceph-volume: add a unit tests to lvm batch

This commit adds unit tests in order to cover `_sort_rotational_disks()`
call when deploying with full hdd/ssd or mixed hdd/sdd scenarios.

Fixes: https://tracker.ceph.com/issues/48150
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
Co-authored-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit 13514a24cfdc32d67cfbc1201aa427168a926978)

4 years agoceph-volume: fix lvm batch auto with full SSDs
Dimitri Savineau [Tue, 3 Nov 2020 23:21:35 +0000 (18:21 -0500)]
ceph-volume: fix lvm batch auto with full SSDs

The ceph-volume lvm batch --auto introduced by [1] breaks the backward
compatibility when using non rotational devices only (SSD and/or NVMe).
Those devices are reaffected as bluestore db or filestore journal
devices while we want them as data devices.

Fixes: https://tracker.ceph.com/issues/48106
[1] https://github.com/ceph/ceph/pull/34740

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
(cherry picked from commit 2a854ca373fadef099a1d037930eb241e757b2c3)

4 years ago14.2.14 v14.2.14
Jenkins Build Slave User [Tue, 17 Nov 2020 18:10:11 +0000 (18:10 +0000)]
14.2.14

4 years agoMerge remote-tracking branch 'security/wip-resurrect-authorizer-challenges-nautilus...
Yuri Weinstein [Tue, 17 Nov 2020 16:53:03 +0000 (08:53 -0800)]
Merge remote-tracking branch 'security/wip-resurrect-authorizer-challenges-nautilus' into nautilus

4 years agoMerge pull request #38076 from badone/wip-admin_socket_output-invalidated-iterator...
Yuri Weinstein [Mon, 16 Nov 2020 16:55:49 +0000 (08:55 -0800)]
Merge pull request #38076 from badone/wip-admin_socket_output-invalidated-iterator-crash

nautilus: test/admin_socket_output: Don't invalidate 'target' iterator

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
4 years agoMerge pull request #38069 from smithfarm/wip-48233-nautilus
Yuri Weinstein [Sat, 14 Nov 2020 23:27:21 +0000 (15:27 -0800)]
Merge pull request #38069 from smithfarm/wip-48233-nautilus

nautilus: mgr: avoid false alarm of MGR_MODULE_ERROR

Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agotest/admin_socket_output: Don't invalidate 'target' iterator 38076/head
Brad Hubbard [Sat, 14 Nov 2020 01:53:06 +0000 (11:53 +1000)]
test/admin_socket_output: Don't invalidate 'target' iterator

Fixes: https://tracker.ceph.com/issues/48204
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
4 years agomgr: avoid false alarm of MGR_MODULE_ERROR 38069/head
Kefu Chai [Thu, 25 Jun 2020 02:41:30 +0000 (10:41 +0800)]
mgr: avoid false alarm of MGR_MODULE_ERROR

mgr sends healthy report periodically, the report includes the
information whether the always-on modules are loaded or not. but the
modules are loaded with two steps:

1. load the options and command exposed by modules. the options and
   commands are registered using static methods of the subclasss of
   MgrModule.
2. create an instance of the subclass of MgrModule. this is performed
   in background by a Finisher thread. upon finishing of the construction
   of the instance, ActivePyModules::start_one() adds the module which
   successfully creates the class to `modules`.

but there is chance that when mgr sends healthy report, the always-on
module is still creating its instance of MgrModule subclass, or that
task is still pending in the finisher thread. in that case, mgr would
add a false error message like
```
4 mgr modules have failed (MGR_MODULE_ERROR)
```
in the healthy report

in this change, the number of modules in pending state is tracked,
and mgr will not take the missing always-on modules into account unless
the number of pending modules is 0.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 2d9b3abd1fc50e5fcd9ce2c05e8fac41d389b052)

4 years agomgr/PyModuleRegistry: ignore 'obsolete' modules
Sage Weil [Sat, 11 Apr 2020 14:51:46 +0000 (09:51 -0500)]
mgr/PyModuleRegistry: ignore 'obsolete' modules

Old modules may be in the mgrmap (and always_on) but no longer exist.  Do
not try to load those or raise errors about them.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit a59f4e5deb49536af23473658e0f04d0f495829f)

4 years agoMerge pull request #37554 from Vicente-Cheng/wip-47748-nautilus
Yuri Weinstein [Wed, 11 Nov 2020 01:05:18 +0000 (17:05 -0800)]
Merge pull request #37554 from Vicente-Cheng/wip-47748-nautilus

nautilus: mon: set session_timeout when adding to session_map

Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
4 years agomon/MonClient: bring back CEPHX_V2 authorizer challenges
Ilya Dryomov [Fri, 16 Oct 2020 10:57:50 +0000 (12:57 +0200)]
mon/MonClient: bring back CEPHX_V2 authorizer challenges

Commit c58c5754dfd2 ("msg/async/ProtocolV1: use AuthServer and
AuthClient") introduced a backwards compatibility issue into msgr1.
To fix it, commit 321548010578 ("mon/MonClient: skip CEPHX_V2
challenge if client doesn't support it") set out to skip authorizer
challenges for peers that don't support CEPHX_V2.  However, it
made it so that authorizer challenges are skipped for all peers in
both msgr1 and msgr2 cases, effectively disabling the protection
against replay attacks that was put in place in commit f80b848d3f83
("auth/cephx: add authorizer challenge", CVE-2018-1128).

This is because con->get_features() always returns 0 at that
point.  In msgr1 case, the peer shares its features along with the
authorizer, but while they are available in connect_msg.features they
aren't assigned to con until ProtocolV1::open().  In msgr2 case, the
peer doesn't share its features until much later (in CLIENT_IDENT
frame, i.e. after the authentication phase).  The result is that
!CEPHX_V2 branch is taken in all cases and replay attack protection
is lost.

Only clusters with cephx_service_require_version set to 2 on the
service daemons would not be silently downgraded.  But, since the
default is 1 and there are no reports of looping on BADAUTHORIZER
faults, I'm pretty sure that no one has ever done that.  Note that
cephx_require_version set to 2 would have no effect even though it
is supposed to be stronger than cephx_service_require_version
because MonClient::handle_auth_request() didn't check it.

To fix:

- for msgr1, check connect_msg.features (as was done before commit
  c58c5754dfd2) and challenge if CEPHX_V2 is supported.  Together
  with two preceding patches that resurrect proper cephx_* option
  handling in msgr1, this covers both "I want old clients to work"
  and "I wish to require better authentication" use cases.

- for msgr2, don't check anything and always challenge.  CEPHX_V2
  predates msgr2, anyone speaking msgr2 must support it.

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

Conflicts:
src/msg/async/ProtocolV1.cc [ commit c58c5754dfd2
  ("msg/async/ProtocolV1: use AuthServer and AuthClient") not
  in nautilus.  This means that only msgr2 is affected, so drop
  ProtocolV1.cc hunk.  As a result, skip_authorizer_challenge is
  never set, but this is fine because msgr1 still uses old ms_*
  auth methods and tests CEPHX_V2 appropriately. ]

4 years agomsg/async/ProtocolV1: resurrect "implement cephx_*require_version options"
Ilya Dryomov [Fri, 16 Oct 2020 09:35:27 +0000 (11:35 +0200)]
msg/async/ProtocolV1: resurrect "implement cephx_*require_version options"

This was added in commit 9bcbc2a3621f ("mon,msg: implement
cephx_*_require_version options") and inadvertently dropped in
commit e6f043f7d2dc ("msgr/async: huge refactoring of protocol V1").
As a result, service daemons don't enforce cephx_require_version
and cephx_cluster_require_version options and connections without
CEPH_FEATURE_CEPHX_V2 are allowed through.

(cephx_service_require_version enforcement was brought back a
year later in commit 321548010578 ("mon/MonClient: skip CEPHX_V2
challenge if client doesn't support it"), although the peer gets
TAG_BADAUTHORIZER instead of TAG_FEATURES.)

Resurrect the original behaviour: all cephx_*require_version
options are enforced and the peer gets TAG_FEATURES, signifying
that it is missing a required feature.

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

Conflicts:
src/msg/async/ProtocolV1.cc [ drop nautilus-only commit
  89ffece49097 ("msg/async/ProtocolV1: require CEPHX_V2 if
  cephx_service_require_version >= 2") ]

4 years agomsg/async/ProtocolV1: resurrect "include MGR as service when applying cephx settings"
Ilya Dryomov [Fri, 16 Oct 2020 09:33:32 +0000 (11:33 +0200)]
msg/async/ProtocolV1: resurrect "include MGR as service when applying cephx settings"

This was added in commit 0ec7d6bbc4af ("msg/async,simple: include MGR
as service when applying cephx settings") and inadvertently dropped in
commit e6f043f7d2dc ("msgr/async: huge refactoring of protocol V1").
As a result, mgr daemons are miscategorized as clients when enforcing
cephx_*require_signatures options.

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

4 years agoMerge pull request #37844 from smithfarm/wip-46118-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:20:20 +0000 (09:20 -0800)]
Merge pull request #37844 from smithfarm/wip-46118-nautilus

nautilus: mgr: fix race between module load and notify

Reviewed-by: Mykola Golub <mgolub@mirantis.com>
4 years agoMerge pull request #37843 from smithfarm/wip-47894-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:19:37 +0000 (09:19 -0800)]
Merge pull request #37843 from smithfarm/wip-47894-nautilus

nautilus: bluestore: attach csum for compressed blobs

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #37842 from smithfarm/wip-47707-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:19:11 +0000 (09:19 -0800)]
Merge pull request #37842 from smithfarm/wip-47707-nautilus

nautilus: bluestore: Support flock retry

Reviewed-by: Kefu Chai <kchai@redhat.com>
4 years agoMerge pull request #37824 from smithfarm/wip-46008-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:18:21 +0000 (09:18 -0800)]
Merge pull request #37824 from smithfarm/wip-46008-nautilus

nautilus: bluestore: test/objectstore/store_test: kill ExcessiveFragmentation test case

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #37823 from smithfarm/wip-46628-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:17:46 +0000 (09:17 -0800)]
Merge pull request #37823 from smithfarm/wip-46628-nautilus

nautilus: bluestore: BlockDevice.cc: use pending_aios instead of iovec size as ios num

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #37818 from smithfarm/wip-47993-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:17:18 +0000 (09:17 -0800)]
Merge pull request #37818 from smithfarm/wip-47993-nautilus

nautilus: test/store_test: use 'threadsafe' style for death tests

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Igor Fedotov <ifedotov@suse.com>
4 years agoMerge pull request #37815 from smithfarm/wip-47825-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:16:35 +0000 (09:16 -0800)]
Merge pull request #37815 from smithfarm/wip-47825-nautilus

nautilus: osd/osd-rep-recov-eio.sh: TEST_rados_repair_warning:  return 1

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: David Zafman <dzafman@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agoMerge pull request #37563 from smithfarm/wip-47761-nautilus
Yuri Weinstein [Thu, 5 Nov 2020 17:13:03 +0000 (09:13 -0800)]
Merge pull request #37563 from smithfarm/wip-47761-nautilus

nautilus: mgr/prometheus: add pool compression stats

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
4 years agoMerge pull request #37333 from callithea/wip-46975-nautilus
Lenz Grimmer [Thu, 5 Nov 2020 10:57:44 +0000 (11:57 +0100)]
Merge pull request #37333 from callithea/wip-46975-nautilus

nautilus: mgr/dashboard: Strange iSCSI discovery auth behavior

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years agoMerge pull request #36834 from rhcs-dashboard/wip-47156-nautilus
Lenz Grimmer [Thu, 5 Nov 2020 09:48:53 +0000 (10:48 +0100)]
Merge pull request #36834 from rhcs-dashboard/wip-47156-nautilus

nautilus: mgr/dashboard: redirect to original URL after successful login

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
4 years agoMerge pull request #37813 from smithfarm/wip-47705-nautilus
Yuri Weinstein [Wed, 4 Nov 2020 21:19:57 +0000 (13:19 -0800)]
Merge pull request #37813 from smithfarm/wip-47705-nautilus

nautilus: osdc/ObjectCacher: overwrite might cause stray read request callbacks

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37810 from smithfarm/wip-48004-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:48:50 +0000 (11:48 -0800)]
Merge pull request #37810 from smithfarm/wip-48004-nautilus

nautilus: rgw: fix: S3 API KeyCount incorrect return.

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37806 from smithfarm/wip-47959-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:48:05 +0000 (11:48 -0800)]
Merge pull request #37806 from smithfarm/wip-47959-nautilus

nautilus: rgw: fix expiration header returned even if there is only one tag in the object the same as the rule

Reviewed-by: Friedmann <ofriedma@redhat.com>
4 years agoMerge pull request #37805 from smithfarm/wip-47897-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:47:12 +0000 (11:47 -0800)]
Merge pull request #37805 from smithfarm/wip-47897-nautilus

nautilus: rgw: use yum rather than dnf for teuthology testing of rgw-orphan-list

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #37804 from smithfarm/wip-47851-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:46:42 +0000 (11:46 -0800)]
Merge pull request #37804 from smithfarm/wip-47851-nautilus

nautilus: rgw/rgw_file: Fix the incorrect lru object eviction

Reviewed-by: Matt Benjamin <mbenjami@redhat.com>
4 years agoMerge pull request #37802 from smithfarm/wip-47818-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:46:04 +0000 (11:46 -0800)]
Merge pull request #37802 from smithfarm/wip-47818-nautilus

nautilus: rgw: radosgw-admin should paginate internally when listing bucket

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
4 years agoMerge pull request #37814 from smithfarm/wip-47890-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:45:13 +0000 (11:45 -0800)]
Merge pull request #37814 from smithfarm/wip-47890-nautilus

nautilus: rbd: librbd: ignore -ENOENT error when disabling object-map

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37811 from smithfarm/wip-47703-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:43:01 +0000 (11:43 -0800)]
Merge pull request #37811 from smithfarm/wip-47703-nautilus

nautilus: rbd: rbd-nbd: don't ignore namespace when unmapping by image spec

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Mykola Golub <mgolub@mirantis.com>
4 years agoMerge pull request #37682 from idryomov/wip-qa-krbd-whitelist-mon-down-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:42:18 +0000 (11:42 -0800)]
Merge pull request #37682 from idryomov/wip-qa-krbd-whitelist-mon-down-nautilus

nautilus: qa/suites/krbd: whitelist MON_DOWN health warning

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
4 years agoMerge pull request #37552 from Vicente-Cheng/wip-47735-nautilus
Yuri Weinstein [Tue, 3 Nov 2020 19:41:32 +0000 (11:41 -0800)]
Merge pull request #37552 from Vicente-Cheng/wip-47735-nautilus

nautilus: rgw: rgw_file: avoid long-ish delay on shutdown

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years ago14.2.13 v14.2.13
Jenkins Build Slave User [Fri, 30 Oct 2020 14:54:37 +0000 (14:54 +0000)]
14.2.13

4 years agoMerge pull request #37799 from smithfarm/wip-47816-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:31:33 +0000 (12:31 -0700)]
Merge pull request #37799 from smithfarm/wip-47816-nautilus

nautilus: rgw: allow rgw-orphan-list to note when rados objects are in namespace

Reviewed-by: Casey Bodley <cbodley@redhat.com>
4 years agoMerge pull request #37798 from smithfarm/wip-47814-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:30:41 +0000 (12:30 -0700)]
Merge pull request #37798 from smithfarm/wip-47814-nautilus

nautilus: rgw: fix setting of namespace in ordered and unordered bucket listing

4 years agoMerge pull request #37747 from smithfarm/wip-fix-enum34-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 19:29:55 +0000 (12:29 -0700)]
Merge pull request #37747 from smithfarm/wip-fix-enum34-nautilus

nautilus: rpm: move python-enum34 into rhel 7 conditional

Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
4 years agoMerge pull request #37816 from smithfarm/wip-47986-nautilus
Yuri Weinstein [Wed, 28 Oct 2020 18:17:03 +0000 (11:17 -0700)]
Merge pull request #37816 from smithfarm/wip-47986-nautilus

nautilus: mon/MonMap: fix unconditional failure for init_with_hosts

Reviewed-by: Wido den Hollander <wido@widodh.nl>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
4 years agodoc/PendingReleaseNotes: mention mon_host DNS regression 37816/head
Nathan Cutler [Tue, 27 Oct 2020 20:35:28 +0000 (21:35 +0100)]
doc/PendingReleaseNotes: mention mon_host DNS regression

This is a nautilus-specific commit.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
4 years agomon/MonMap: fix unconditional failure for init_with_hosts
Patrick Donnelly [Thu, 22 Oct 2020 17:08:26 +0000 (10:08 -0700)]
mon/MonMap: fix unconditional failure for init_with_hosts

This bug prevents setting mon_host to a DNS name.

Fixes: https://tracker.ceph.com/issues/47951
Fixes: 7a1f02acfe6b5d8a760efd16bb594a0656b39eac
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 21d9f8333b8c76979bbe90d60a8ad6ebb5e36c76)

4 years agotest/mon: add tests for mon_host build by hostname
Patrick Donnelly [Fri, 23 Oct 2020 23:33:23 +0000 (16:33 -0700)]
test/mon: add tests for mon_host build by hostname

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

Conflicts:
    src/test/mon/MonMap.cc
- do not attempt to introduce boost::intrusive_ptr into Nautilus
- monmap.build_initial takes bare cct in nautilus (master: cct.get())

4 years agotest/mon: fix compiler errors in MonMap unittest
Patrick Donnelly [Fri, 23 Oct 2020 23:28:08 +0000 (16:28 -0700)]
test/mon: fix compiler errors in MonMap unittest

The code atrophied. Clean this up.

The tests are disabled because they SIGSEGV during SetUp.

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

Conflicts:
    src/test/mon/MonMap.cc
- do not attempt to introduce boost::intrusive_ptr into nautilus
- monmap.build_initial takes bare cct in nautilus (master: cct.get())

4 years agoblk/kernel: retry forever if bdev_flock_retry is 0 37842/head
Kefu Chai [Wed, 16 Sep 2020 01:28:04 +0000 (09:28 +0800)]
blk/kernel: retry forever if bdev_flock_retry is 0

retry forever if cct->_conf->bdev_flock_retry is 0.
systemd-udevd is most likely the reason why ceph-osd fails to
acquire the flock when "mkfs", because systemd-udevd probes
all block devices when the device changes in the system using
libblkid, and when systemd-udevd starts looking at the device
it takes a `LOCK_SH|LOCK_NB` lock. and it releases the lock
right after done with it. so normally, it only takes a jiffy,
see
https://github.com/systemd/systemd/blob/ee0b9e721a368742ac6fa9c3d9a33e45dc3203a2/src/shared/lockfile-util.c#L18
so, we just need to retry couple times before acquiring the
lock.

Fixes: https://tracker.ceph.com/issues/46124
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 743b5bda6559c9be0e64617aa43ef5e06a5a6e60)

Conflicts:
src/blk/kernel/KernelDevice.cc
- file does not exist in nautilus; made changes manually in
  src/os/bluestore/KernelDevice.cc

4 years agoblk/kernel: use open file description lock if available
Kefu Chai [Tue, 15 Sep 2020 07:38:36 +0000 (15:38 +0800)]
blk/kernel: use open file description lock if available

* use OFD lock if available. OFD is Linux specific, and only available
  on 3.15 kernels. OFD is able to synchronize both threads and
  processes. and has simpler semantics. this is just a cleanup.
  as we don't create threads for acquiring the flock.
* use BSD flock(2) as a fallback
* return the errno right away, without printing logging messages.
  for two reasons:
  - writing logging messages would reset the errno.
  - the caller of _lock() also prints the logging messages along
    with strerror(errno)

Fixes: https://tracker.ceph.com/issues/46124
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit ec7fa396247ecf20e58eeb3c6caa1e5f5f05ae98)

Conflicts:
src/blk/kernel/KernelDevice.cc
- file does not exist in nautilus; made changes manually in
  src/os/bluestore/KernelDevice.cc

4 years agoblk/kernel: use uint64_t for bdev_flock_retry
Kefu Chai [Mon, 21 Sep 2020 12:01:25 +0000 (20:01 +0800)]
blk/kernel: use uint64_t for bdev_flock_retry

also drop bdev_flock_retry and bdev_flock_retry_interval from
legacy_config_opts.h, as `KernelDevice::_lock()` is not in the critical
path, there is no need to access these settings via member variables --
get_val<> would just suffice.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 8fb80db9ff32a85fcdf91e38075c42165805e37f)

Conflicts:
src/blk/kernel/KernelDevice.cc
- file does not exist in nautilus; changes applied without conflicts to
  src/os/bluestore/KernelDevice.cc

4 years agoblk/kernel: use sleep_for()
Kefu Chai [Tue, 15 Sep 2020 07:01:55 +0000 (15:01 +0800)]
blk/kernel: use sleep_for()

instead of relying on utime_t, use standard library directly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit bcb197d5d8cab33c3598d3a3043dfae8235a13bc)

Conflicts:
src/blk/kernel/KernelDevice.cc
- file does not exist in nautilus; changes applied without conflicts to
  os/bluestore/KernelDevice.cc

4 years agomgr: fix race between module load and notify 37844/head
Mykola Golub [Mon, 13 Jan 2020 08:36:39 +0000 (08:36 +0000)]
mgr: fix race between module load and notify

When starting a module, there was a time window between we
registered the module in the module list and loaded it in the
finisher thread, when a notify could be delivered to not fully
initialized module.

We can avoid this by delaying registering the module in the
module list until it is successfully initialized.

Fixes: https://tracker.ceph.com/issues/41736
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit 56e34f58cb7a84439c53779467b2d5b495beb3ef)

4 years agomgr: handle race with finisher after shutdown
Patrick Donnelly [Wed, 13 Nov 2019 19:00:44 +0000 (11:00 -0800)]
mgr: handle race with finisher after shutdown

The module is deleted when modules is cleared. The notify method is
called on a destructed class.

Fixes: https://tracker.ceph.com/issues/42744
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 40c4b9ac9d8e2b2c17269affada304f5e1554974)

Conflicts:
src/mgr/ActivePyModules.cc
- nautilus has capitalized lock.Lock and lock.Unlock
- finisher.queue calls look different in nautilus

4 years agoos/bluestore: attach csum for compressed blobs 37843/head
Igor Fedotov [Tue, 15 Sep 2020 20:06:20 +0000 (23:06 +0300)]
os/bluestore: attach csum for compressed blobs

Fixes: https://tracker.ceph.com/issues/47475
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 53346d06beb4de971703e63627444bca40a1fa44)

4 years agobluestore: Support flock retry
wanghongxu [Wed, 15 Apr 2020 11:52:40 +0000 (19:52 +0800)]
bluestore: Support flock retry

When the block changes, systemd-udevd will open the block,
read some information and close it. Then a failure occurs here.
So we need to try again here.

Fixes: https://tracker.ceph.com/issues/46124
Signed-off-by: wanghongxu <x.ken@outlook.com>
(cherry picked from commit 23f8c323d2ba9133c3ef5834ae93115425c862d1)

Conflicts:
src/blk/kernel/KernelDevice.cc
- file does not exist in Nautilus; made the changes manually in
  src/os/bluestore/KernelDevice.cc

4 years agotest/objectstore/store_test: kill ExcessiveFragmentation test case. 37824/head
Igor Fedotov [Fri, 29 May 2020 19:28:15 +0000 (22:28 +0300)]
test/objectstore/store_test: kill ExcessiveFragmentation test case.
This test case was introduced by https://github.com/ceph/ceph/pull/18494
to verify allocation failure handling while gifting during bluefs rebalance
Not it looks outdated as there is no periodic gifting any more.

Fixes: https://tracker.ceph.com/issues/45788
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit b852703dd01a66028c0d123ac3579e1611393afe)

4 years agoblk:BlockDevice.cc: use pending_aios instead of iovec size as ios num 37823/head
weixinwei [Fri, 29 May 2020 14:43:31 +0000 (22:43 +0800)]
blk:BlockDevice.cc: use pending_aios instead of iovec size as ios num

Signed-off-by: weixinwei <xinweiwei90@gmail.com>
(cherry picked from commit 64ce414b022b96b7a5c73d2c03393a877b30e508)

Conflicts:
src/blk/BlockDevice.cc
- file does not exist in Nautilus; made the changes manually in
  src/os/bluestore/BlockDevice.cc

4 years agotest/store_test: use 'threadsafe' style for death tests. 37818/head
Igor Fedotov [Wed, 21 Oct 2020 13:24:30 +0000 (16:24 +0300)]
test/store_test: use 'threadsafe' style for death tests.

Hopefully Fixes: https://tracker.ceph.com/issues/47328
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 99ac34cbfeb98c36ffcc3e1b5b65174930273c4c)

4 years agotest/mon: build MonMap unittest
Patrick Donnelly [Fri, 23 Oct 2020 23:27:39 +0000 (16:27 -0700)]
test/mon: build MonMap unittest

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

4 years agotest: Avoid races by waiting for PGs go clean before query 37815/head
David Zafman [Tue, 29 Sep 2020 18:03:10 +0000 (18:03 +0000)]
test: Avoid races by waiting for PGs go clean before query

Fixes: https://tracker.ceph.com/issues/46405
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit 3ba7ebd3e299587b3828a7f794f070d3d01da4c4)

4 years agotest: Inconsequential change to get object names as desired
David Zafman [Tue, 29 Sep 2020 18:01:24 +0000 (18:01 +0000)]
test: Inconsequential change to get object names as desired

Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit b20a277f0546b951df8c29650d1d699afd43e498)

4 years agolibrbd: ignore -ENOENT error when disabling object-map 37814/head
Jason Dillaman [Mon, 12 Oct 2020 19:28:52 +0000 (15:28 -0400)]
librbd: ignore -ENOENT error when disabling object-map

Fixes: https://tracker.ceph.com/issues/47840
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 8e88224d8d1e7602392a81ed4da8139a79600d8f)

4 years agoosdc/ObjectCacher: overwrite might cause stray read request callbacks 37813/head
Jason Dillaman [Mon, 21 Sep 2020 16:53:37 +0000 (12:53 -0400)]
osdc/ObjectCacher: overwrite might cause stray read request callbacks

In librbd, if readahead is active, there might be a pending read request
for the cache which is then (partially) overwritten by a write request.
This overwrite will cause bh splits and merges which can cause the
bh read callback to fail to invoke the pending read callbacks.

Fixes: https://tracker.ceph.com/issues/46822
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
(cherry picked from commit 94d43165ed7319d163640f38d154f8f80408eb14)

4 years agorbd-nbd: don't ignore namespace when unmapping by image spec 37811/head
Mykola Golub [Sun, 27 Sep 2020 16:59:49 +0000 (17:59 +0100)]
rbd-nbd: don't ignore namespace when unmapping by image spec

Fixes: https://tracker.ceph.com/issues/47665
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit b360186eb6463811ce19f21e8d24ab7c44dc7279)

4 years agoqa/workunits/rbd: yet another attempt to improve rbd-nbd unmap
Mykola Golub [Thu, 10 Sep 2020 13:08:42 +0000 (14:08 +0100)]
qa/workunits/rbd: yet another attempt to improve rbd-nbd unmap

Previously it still could race when unmap_device returned success
because the device was not found in `rbd-nbd list-mapped` (the nbd
device was removed) but the test failed because the process was still
found in the ps table.

Fixes: https://tracker.ceph.com/issues/47394
Signed-off-by: Mykola Golub <mgolub@suse.com>
(cherry picked from commit f0c69761c8036a57319ead5cdf97cebb0f0fb5d7)

Conflicts:
qa/workunits/rbd/rbd-nbd.sh
- omit changes in tests that are not in nautilus

4 years agorgw: fix: S3 API KeyCount incorrect return. 37810/head
胡玮文 [Thu, 24 Sep 2020 15:34:43 +0000 (23:34 +0800)]
rgw: fix: S3 API KeyCount incorrect return.

KeyCount should return object count + common prefix count.
see S3 example: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html#API_ListObjectsV2_Example_5

Related: https://github.com/docker/distribution/issues/3200

Signed-off-by: 胡玮文 <huww98@outlook.com>
(cherry picked from commit f96a6fdad16da2a7093f538ee577248dfbc65ca1)

4 years agorgw: radosgw-admin should paginate internally when listing bucket 37802/head
J. Eric Ivancich [Thu, 1 Oct 2020 17:33:01 +0000 (13:33 -0400)]
rgw: radosgw-admin should paginate internally when listing bucket

Currently `radosgw-admin bucket list ...`, when listing a bucket, asks
for the value of "--max-entries" internally. To list a large bucket
entirely the user would have to set "--max-entries" to a large value
(e.g., 10000000). Internally this doesn't paginate, so it will try to
produce the entire list at once. This can consume a lot of memory, and
there are known cases where this induces an out-of-memory crash.

So now we'll set a maximum pagination size of 10,000. So even with
large values of "--max-entries" it will still be able to produce the
full listing without stressing memory, because it will ask for at most
10,000 entries at a time.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 6d033061bf9eaebf3dab37b9ed45de22ce6fa6b7)

Conflicts:
src/rgw/rgw_admin.cc
- RGWRados::Bucket::List.list_objects() does not take null_yield
  argument in nautilus
- formatter does not have get() method in nautilus

4 years agorgw: fix expiration header returned even if there is only one tag in the object the... 37806/head
Or Friedmann [Thu, 23 Jul 2020 15:36:07 +0000 (18:36 +0300)]
rgw: fix expiration header returned even if there is only one tag in the object the same as the rule

Expiration header returned even if there is only one tag in the object the same as the rule

Signed-off-by: Or Friedmann <ofriedma@redhat.com>
Reported-by: Avi Mor <avmor@redhat.com>
Fixes: https://tracker.ceph.com/issues/46614
(cherry picked from commit bf7c7e59f390afb53cb1e30a440ab26bb093c11c)

Conflicts:
src/rgw/rgw_lc.cc
- whitespace (effectively no conflict)

4 years agorgw: use yum rather than dnf for testing rgw-orphan-list 37805/head
J. Eric Ivancich [Thu, 15 Oct 2020 18:14:04 +0000 (14:14 -0400)]
rgw: use yum rather than dnf for testing rgw-orphan-list

The teuthology testing for rgw-orphan-list needs to install
`s3cmd`. Switch from using dnf to yum to work on a wider variety of
platforms.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 11a08a5bb867e05d033f126d9de7c370770ee63f)

4 years agorgw/rgw_file: Fix the incorrect lru object eviction 37804/head
luo rixin [Tue, 1 Sep 2020 09:06:40 +0000 (17:06 +0800)]
rgw/rgw_file: Fix the incorrect lru object eviction

In func lookup_fh, when RGWFileHandle not be found in fh_cache, it
need to recycle an object and create an new RGWFileHandle. When there
are multi threads use lookup_fh to find and create RGWFileHandle concurrently,
it must to make sure evict lru object from the partiton of fh_cache which new
RGWFileHandle will be inserted to.

Fixes: https://tracker.ceph.com/issues/47235
Signed-off-by: luo rixin <luorixin@huawei.com>
(cherry picked from commit f2097338722d7f2526bb815da47695f2da17fcce)

4 years agorgw: rgw-orphan-list should use "plain" formatted `rados ls` output 37799/head
J. Eric Ivancich [Fri, 9 Oct 2020 20:06:55 +0000 (16:06 -0400)]
rgw: rgw-orphan-list should use "plain" formatted `rados ls` output

The previous version that used "json-pretty" output for `rados ls`
added complications due to json's escaping of special characters. So
this version returns to the "plain" output for `rados ls` but deals
with entries (oids) that might have namespaces and/or locators as
well.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 5b994f90594208dab81045732099a03686819b30)

4 years agorgw: allow rgw-orphan-list to note when rados objects are in namespace
J. Eric Ivancich [Tue, 6 Oct 2020 19:21:02 +0000 (15:21 -0400)]
rgw: allow rgw-orphan-list to note when rados objects are in namespace

Currently namespaces and locators are ignored when `rados ls` is run
by rgw-orphan-list to record RADOS's known objects.

However there have been cases where RADOS objects have a locator, and
when one is included in the listing, the script does not handle it
correctly. Now when objects have locators, we will prevent their
output from entering the .intermediate file.

Additionally we do not expect RGW data objects to be in RADOS
namespaces, so when a namespaced object is detected, we'll error out
with a message.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit ddf52016fa03ba192f242ad641a5c8e5a95035a1)

4 years agorgw: fix setting of namespace in ordered and unordered bucket listing 37798/head
J. Eric Ivancich [Tue, 6 Oct 2020 16:42:22 +0000 (12:42 -0400)]
rgw: fix setting of namespace in ordered and unordered bucket listing

The namespace is not always set correctly during bucket listing. This
can, for example, cause the listing of incomplete multipart uploads,
which are in the _multipart_ namespace, to not paginate correctly, and
cause entries to be re-listed.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit bd6f163f366753e8ec42b85a53334f4bf78916bd)

4 years agorgw: fix bug with (un)ordered bucket listing and marker w/ namespace
J. Eric Ivancich [Fri, 31 Jan 2020 20:01:40 +0000 (15:01 -0500)]
rgw: fix bug with (un)ordered bucket listing and marker w/ namespace

When listing without specifying a namespace, the returned entries
could be in one or more namespaces. The marker used to continue the
listing may therefore contain a namespace, and that needs to be
preserved. This fixes a bug in both ordered and unordered listings
where it was not preserved.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 9457abb729754458aafc07a9ee514407906a1011)

Conflicts:
src/rgw/rgw_rados.cc
- trivial whitespace

4 years agorpm: move python-enum34 into rhel 7 conditional 37747/head
Nathan Cutler [Thu, 22 Oct 2020 05:50:37 +0000 (07:50 +0200)]
rpm: move python-enum34 into rhel 7 conditional

There is no "python-enum34" RPM in openSUSE 15.1 (as this release
uses Python 3 exclusively), so the dependency cannot be satisfied.

This nautilus-only change fixes a nautilus-only commit which broke
nautilus on openSUSE and SUSE Linux Enterprise.

Fixes: fdfae1c00c0059a03389bdcfafa6b0ee8d95ad55
Signed-off-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge PR #37522 into nautilus
Jan Fajerski [Wed, 21 Oct 2020 10:53:00 +0000 (12:53 +0200)]
Merge PR #37522 into nautilus

* refs/pull/37522/head:
ceph-volume: don't exit before empty report can be printed
PendingReleaseNotes: add note about batch refactor
ceph-volume batch: return valid empty json reports
ceph-volume: pass filter_for_batch as keyword argument
doc: drop references to drive_groups in batch doc
idempotency must result in the same outcome
doc: update ceph-volume lvm batch docs
ceph-volume batch: fix very_fast_allocation plan and add tests
ceph-volume: batch: call the right prepare method
ceph-volume inventory: add option to filter unwanted devices
ceph-volume: address review comments
ceph-volume: batch: fix size retrieval for lvs
ceph-volume: include encryption in batch report
ceph-volume lvm batch: use namedtuple instead of tuple
ceph-volume: address review comments, mostly tidying, clarification
ceph-volume: batch test should pass --journal-devices with filestore
ceph-volume: make --journal optional, add --journal-slots
ceph-volume batch: add deprecation warning for auto behaviour
ceph-volume batch: add ceph.conf mocking to pass tests
ceph-volume batch: use disk.Size for size args
ceph-volume batch: Fix osd_ids passing and improve plan formatting
ceph-volume batch: track rel_size in percent, more tests
ceph-volume batch: improve backwards compatibility
ceph-volume: batch - enable legacy auto behaviour
ceph-volume: batch - major refactor
ceph-volume: Device - available_lvm if 10 extents are free.
ceph-volume: Device - add vg_free property
ceph-volume: prepare/create - size args as Size class
ceph-volume: disk.Size - add cast to bool
ceph-volume: api/lvm - add VolumeGroup.free_percent property
ceph-volume: util.device -  add vg_free_percent property
ceph-volume: api/lvm - query LV units in bytes
ceph-volume: lvm/common - refactor common arg specification
ceph-volume: batch: fix argument help message

Reviewed-by: Rishabh Dave <ridave@redhat.com>
4 years agoMerge pull request #37060 from callithea/wip-46971-nautilus
Lenz Grimmer [Wed, 21 Oct 2020 09:52:38 +0000 (11:52 +0200)]
Merge pull request #37060 from callithea/wip-46971-nautilus

nautilus: mgr/dashboard: Proper format iSCSI target portals

Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
4 years agomgr/dashboard: Strange iSCSI discovery auth behavior 37333/head
Volker Theile [Tue, 11 Aug 2020 12:53:56 +0000 (14:53 +0200)]
mgr/dashboard: Strange iSCSI discovery auth behavior

Disable 'autocomplete' for the user and password form fields.

Fixes: https://tracker.ceph.com/issues/46900
Signed-off-by: Volker Theile <vtheile@suse.com>
(cherry picked from commit 4e9c88649de2ac7ea0ad43613fe247f08a623299)

Conflicts:
src/pybind/mgr/dashboard/frontend/src/app/ceph/block/iscsi-target-discovery-modal/iscsi-target-discovery-modal.component.html
- line 24: span class "invalid feedback" is not available in nautilus, keeping "help-block" instead

4 years ago14.2.12 v14.2.12
Jenkins Build Slave User [Mon, 19 Oct 2020 20:19:21 +0000 (20:19 +0000)]
14.2.12

4 years agoqa/suites/krbd: whitelist MON_DOWN health warning 37682/head
Kefu Chai [Wed, 10 Jun 2020 15:20:40 +0000 (23:20 +0800)]
qa/suites/krbd: whitelist MON_DOWN health warning

see also

93de19adcf1233ce4c68f1253e0b9abef6d97a9d
608e002195638e80323780f1907db40c0b9768f0

Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit f1072fcadc8b31737d1534e7ddad7bd2bef0a0b5)

4 years agoMerge pull request #37364 from wjwithagen/wjw-fix-lazyio.cc
Yuri Weinstein [Fri, 9 Oct 2020 16:03:26 +0000 (09:03 -0700)]
Merge pull request #37364 from wjwithagen/wjw-fix-lazyio.cc

nautilus: test: Do not use <sys/xattr.h> under non-Linux systems

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
4 years agoMerge pull request #37232 from Vicente-Cheng/wip-47259-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:02:25 +0000 (09:02 -0700)]
Merge pull request #37232 from Vicente-Cheng/wip-47259-nautilus

nautilus: client: handle readdir reply without Fs cap

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37229 from Vicente-Cheng/wip-47252-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:01:47 +0000 (09:01 -0700)]
Merge pull request #37229 from Vicente-Cheng/wip-47252-nautilus

nautilus: cephfs: osdc/Journaler: do not call onsafe->complete() if onsafe is 0

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37228 from Vicente-Cheng/wip-47246-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 16:01:17 +0000 (09:01 -0700)]
Merge pull request #37228 from Vicente-Cheng/wip-47246-nautilus

nautilus: qa: ignore expected mds failover message

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37178 from batrick/i47088
Yuri Weinstein [Fri, 9 Oct 2020 16:00:38 +0000 (09:00 -0700)]
Merge pull request #37178 from batrick/i47088

nautilus: mds: recover files after normal session close

Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #37301 from alvistack/nautilus-aio_graceful_reboot
Yuri Weinstein [Fri, 9 Oct 2020 15:28:19 +0000 (08:28 -0700)]
Merge pull request #37301 from alvistack/nautilus-aio_graceful_reboot

nautilus: systemd: Support Graceful Reboot for AIO Node

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
4 years agoMerge pull request #37558 from smithfarm/wip-47737-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 15:09:51 +0000 (08:09 -0700)]
Merge pull request #37558 from smithfarm/wip-47737-nautilus

nautilus: mgr/status: metadata is fetched async

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Jan Fajerski <jfajerski@suse.com>
4 years agoMerge pull request #37481 from smithfarm/wip-47605-nautilus
Yuri Weinstein [Fri, 9 Oct 2020 15:08:33 +0000 (08:08 -0700)]
Merge pull request #37481 from smithfarm/wip-47605-nautilus

nautilus: mds: fix purge_queue's _calculate_ops is inaccurate

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37550 from rhcs-dashboard/wip-47753-nautilus
Lenz Grimmer [Fri, 9 Oct 2020 11:45:37 +0000 (13:45 +0200)]
Merge pull request #37550 from rhcs-dashboard/wip-47753-nautilus

nautilus: mgr/dashboard: Don't use any xlf file when building the default language

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Sebastian Krah <skrah@suse.com>
4 years agoMerge pull request #37505 from rhcs-dashboard/fix-46815-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 18:01:22 +0000 (11:01 -0700)]
Merge pull request #37505 from rhcs-dashboard/fix-46815-nautilus

nautilus: mgr/dashboard: fix broken backporting

Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
4 years agoMerge pull request #37479 from smithfarm/wip-46960-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:23:42 +0000 (08:23 -0700)]
Merge pull request #37479 from smithfarm/wip-46960-nautilus

nautilus: cephfs-journal-tool: fix incorrect read_offset when finding missing objects

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37231 from Vicente-Cheng/wip-47254-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:22:59 +0000 (08:22 -0700)]
Merge pull request #37231 from Vicente-Cheng/wip-47254-nautilus

nautilus: cephfs: client: make Client::open() pass proper cap mask to path_walk

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37179 from batrick/i47090
Yuri Weinstein [Thu, 8 Oct 2020 15:22:23 +0000 (08:22 -0700)]
Merge pull request #37179 from batrick/i47090

nautilus: mds: After restarting an mds, its standy-replay mds remained in the "resolve" state

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #36965 from Vicente-Cheng/wip-46784-nautilus
Yuri Weinstein [Thu, 8 Oct 2020 15:21:51 +0000 (08:21 -0700)]
Merge pull request #36965 from Vicente-Cheng/wip-46784-nautilus

nautilus: mds/CInode: Optimize only pinned by subtrees check

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoceph-volume: don't exit before empty report can be printed 37522/head
Jan Fajerski [Thu, 8 Oct 2020 06:45:26 +0000 (08:45 +0200)]
ceph-volume: don't exit before empty report can be printed

get_plan() called exit in case of an empty plan. This prevented a report
being printed under these circumstances. Avoid exit in this case. Also
adds tests to ensure an empty report is printed.

Fixes: https://tracker.ceph.com/issues/47760
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 0cc5604843b215709a681fa402145c9fa403b1dd)

4 years agoPendingReleaseNotes: add note about batch refactor
Jan Fajerski [Wed, 7 Oct 2020 07:45:42 +0000 (09:45 +0200)]
PendingReleaseNotes: add note about batch refactor

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 485f0d797e4b21ffb7ac742f0949e8c0a23d43f2)

 Conflicts:
PendingReleaseNotes
        Sort new entry under >=15.2.6 heading

4 years agomgr/prometheus: add pool compression stats 37563/head
Paul Cuzner [Tue, 22 Sep 2020 02:02:16 +0000 (14:02 +1200)]
mgr/prometheus: add pool compression stats

This patch adds the compress bytes used and stored metrics for
each pool, so compression ratios and savings can be easily determined

Signed-off-by: Paul Cuzner <pcuzner@redhat.com>
(cherry picked from commit 2beda1dc9ccb7b3ddf28ec0657eddd26a021b503)

4 years agomgr/mgr_module: metadata is fetched async 37558/head
Michael Fritch [Thu, 25 Jun 2020 20:36:22 +0000 (14:36 -0600)]
mgr/mgr_module: metadata is fetched async

fetch metadata using a defaultdict

Signed-off-by: Michael Fritch <mfritch@suse.com>
(cherry picked from commit f06e60b591d7921b0afdd40219f3866773b00683)

Conflicts:
src/pybind/mgr/status/module.py

4 years agomgr/status: metadata is fetched async
Michael Fritch [Thu, 25 Jun 2020 20:16:55 +0000 (14:16 -0600)]
mgr/status: metadata is fetched async

fix timing window during mds rejoin where metadata is not available

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

Conflicts:
src/pybind/mgr/status/module.py

4 years agomon: set session_timeout when adding to session_map 37554/head
Ilya Dryomov [Tue, 29 Sep 2020 13:29:16 +0000 (15:29 +0200)]
mon: set session_timeout when adding to session_map

With msgr2, the session is added in Monitor::ms_handle_accept()
which is queued by ProtocolV2 at the end of handling CLIENT_IDENT
frame, before responding with SERVER_IDENT frame.  session_timeout
is 0 and gets set only in Monitor::ms_dispatch(), so if the session
trimming code in Monitor::tick() gets to the session before the peer
receives our SERVER_IDENT, handles it, sends the first message and
we receive it, the session is wrongly closed.

This doesn't happen with msgr1, because there the session is added in
Monitor::ms_dispatch(), upon receive of the first message (MSG_AUTH).

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

4 years agoMerge pull request #37510 from rhcs-dashboard/wip-47717-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:44:36 +0000 (08:44 -0700)]
Merge pull request #37510 from rhcs-dashboard/wip-47717-nautilus

nautilus: mgr/dashboard: Fix pool renaming functionality

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
4 years agoMerge pull request #37241 from rhcs-dashboard/wip-47538-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:43:28 +0000 (08:43 -0700)]
Merge pull request #37241 from rhcs-dashboard/wip-47538-nautilus

nautilus: mgr/dashboard: Disabling the form inputs for the read_only modals

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
4 years agorgw_file: avoid long-ish delay on shutdown 37552/head
Matt Benjamin [Wed, 30 Sep 2020 19:13:04 +0000 (15:13 -0400)]
rgw_file: avoid long-ish delay on shutdown

Normal shutdown was likely to be delayed a substantial fraction
of rgw_nfs_namespace_expire_secs due to an ill-advised use of
this_thread::sleep_for.

Fixes: https://tracker.ceph.com/issues/47710
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 805f74956489e3158437acc1c3c12f267221843e)

4 years agoMerge pull request #37177 from batrick/i47017
Yuri Weinstein [Mon, 5 Oct 2020 15:41:26 +0000 (08:41 -0700)]
Merge pull request #37177 from batrick/i47017

nautilus: mds: kcephfs parse dirfrag's ndist is always 0

Reviewed-by: Ramana Raja <rraja@redhat.com>
4 years agoMerge pull request #37035 from smithfarm/wip-47317-nautilus
Yuri Weinstein [Mon, 5 Oct 2020 15:40:57 +0000 (08:40 -0700)]
Merge pull request #37035 from smithfarm/wip-47317-nautilus

nautilus: mds: fix incorrect check for if dirfrag is being fragmented

Reviewed-by: Ramana Raja <rraja@redhat.com>