]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agoRGW - Zipper - MultipartUpload 42266/head
Daniel Gryniewicz [Tue, 6 Jul 2021 14:32:19 +0000 (10:32 -0400)]
RGW - Zipper - MultipartUpload

Create a MultipartUpload object in the Zipper API.

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
3 years agoRemove get_raw_obj() from Object
Daniel Gryniewicz [Mon, 14 Jun 2021 14:58:26 +0000 (10:58 -0400)]
Remove get_raw_obj() from Object

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
3 years agorgw - Configure ceph.conf for orphan-list
Daniel Gryniewicz [Mon, 12 Jul 2021 19:08:13 +0000 (15:08 -0400)]
rgw - Configure ceph.conf for orphan-list

Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
3 years agoMerge pull request #42502 from tchaikov/wip-bloomfilter-cleanups
Kefu Chai [Wed, 28 Jul 2021 14:56:52 +0000 (22:56 +0800)]
Merge pull request #42502 from tchaikov/wip-bloomfilter-cleanups

include/intarith, common/bloom_filter: add popcount() and cleanups

Reviewed-by: Sage Weil <sage@redhat.com>
3 years agoMerge pull request #42169 from Matan-B/lua-nats-example
Yuval Lifshitz [Wed, 28 Jul 2021 07:16:30 +0000 (10:16 +0300)]
Merge pull request #42169 from Matan-B/lua-nats-example

rgw: Add an example for lua scripting

3 years agoMerge pull request #42350 from TRYTOBE8TME/wip-rgw-notification
Yuval Lifshitz [Wed, 28 Jul 2021 07:13:10 +0000 (10:13 +0300)]
Merge pull request #42350 from TRYTOBE8TME/wip-rgw-notification

rgw/notifications: Change in multipart upload notification behavior

3 years agocommon/bloom_filter: move bloom_filter::density() to .cc 42502/head
Kefu Chai [Tue, 27 Jul 2021 10:13:36 +0000 (18:13 +0800)]
common/bloom_filter: move bloom_filter::density() to .cc

for faster compilation, also, bloom_filter::density()
is not sitting in the critical paths, so no need to make it an
inline function.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42389 from asannes/ingress-fix
Kefu Chai [Wed, 28 Jul 2021 04:48:04 +0000 (12:48 +0800)]
Merge pull request #42389 from asannes/ingress-fix

mgr/cephadm: ingress: fix typo in spec.virtual_interface_networks reference

Reviewed-by: Sage Weil <sage@redhat.com>
3 years agoMerge pull request #42510 from rzarzynski/wip-crimson-use-random-nonce
Kefu Chai [Wed, 28 Jul 2021 03:06:11 +0000 (11:06 +0800)]
Merge pull request #42510 from rzarzynski/wip-crimson-use-random-nonce

crimson/osd: fix misdirecting msgs when an OSD flips at Sepia.

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42322 from ljflores/wip-lflores-telemetry-docs
Josh Durgin [Wed, 28 Jul 2021 00:31:33 +0000 (17:31 -0700)]
Merge pull request #42322 from ljflores/wip-lflores-telemetry-docs

doc/mgr/telemetry: update Telemetry Module docs to include perf channel

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Zac Dover <zac.dover@gmail.com>
3 years agoMerge pull request #42492 from zdover23/wip-doc-rados-top-level-section-2021-07-26
Josh Durgin [Wed, 28 Jul 2021 00:28:58 +0000 (17:28 -0700)]
Merge pull request #42492 from zdover23/wip-doc-rados-top-level-section-2021-07-26

doc/rados: rewrite index.rst

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agoMerge pull request #42473 from tchaikov/wip-cmake-rgw-cleanup
Casey Bodley [Tue, 27 Jul 2021 18:31:40 +0000 (14:31 -0400)]
Merge pull request #42473 from tchaikov/wip-cmake-rgw-cleanup

cmake: make rgw_common a static library

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agoMerge PR #42406 into master
Sage Weil [Tue, 27 Jul 2021 18:11:56 +0000 (14:11 -0400)]
Merge PR #42406 into master

* refs/pull/42406/head:
mgr/nfs: remove unused 'realm' arg for 'nfs export create rgw'
doc/mgr/rook: update title
doc/mgr/nfs: reference customizing ingress
doc/mgr/nfs: add section for manual ganesha config; reframe
doc/mgr/nfs: document ingress in more detail
doc/mgr/nfs: typo
doc/mgr/nfs: add note about incomplete ingress
qa/suites/orch/cephadm: add rgw nfs export test
mgr/cephadm: ingress: tolerate no daemons
mgr/nfs: add --squash option to 'nfs export create rgw ...'
mgr/nfs: use bucket owner creds for rgw bucket export
mgr/cephadm: use new CEPH_IMAGE_TYPES for all daemons using ceph container image
qa/tasks/python: simple task to run python code
doc/mgr/nfs: revisions
mgr/nfs/export: nicer exceptions on cap update

Reviewed-by: Varsha Rao <varao@redhat.com>
3 years agocrimson/osd: make the get_nonce() static. 42510/head
Radoslaw Zarzynski [Tue, 27 Jul 2021 16:27:11 +0000 (16:27 +0000)]
crimson/osd: make the get_nonce() static.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocrimson/osd: print OSD::nonce on start-up.
Radoslaw Zarzynski [Tue, 27 Jul 2021 15:35:21 +0000 (15:35 +0000)]
crimson/osd: print OSD::nonce on start-up.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocrimson/osd: fix misdirecting msgs when an OSD flips at Sepia.
Radoslaw Zarzynski [Tue, 27 Jul 2021 16:24:55 +0000 (16:24 +0000)]
crimson/osd: fix misdirecting msgs when an OSD flips at Sepia.

For description please refer to:
  * https://gist.github.com/rzarzynski/6cbc20fb28d7ac096ecc4b68500454bf#gistcomment-3830762,
  * https://gist.github.com/rzarzynski/6cbc20fb28d7ac096ecc4b68500454bf#gistcomment-3830939.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #42476 from tchaikov/wip-crimson-more-aliens
Kefu Chai [Tue, 27 Jul 2021 15:58:55 +0000 (23:58 +0800)]
Merge pull request #42476 from tchaikov/wip-crimson-more-aliens

doc, vstart.sh: adapt to the generalize AlienStore support

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #42222 from flipkart-incubator/aws_sse_s3
Casey Bodley [Tue, 27 Jul 2021 14:52:23 +0000 (10:52 -0400)]
Merge pull request #42222 from flipkart-incubator/aws_sse_s3

rgw: Introduce BucketEncryption APIs to support SSE-S3 feature

Reviewed-by: Casey Bodley <cbodley@redhat.com>
3 years agodoc/dev/crimson: document cyanstore and alienstore 42476/head
Kefu Chai [Sun, 25 Jul 2021 06:30:02 +0000 (14:30 +0800)]
doc/dev/crimson: document cyanstore and alienstore

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agomgr/nfs: remove unused 'realm' arg for 'nfs export create rgw' 42406/head
Sage Weil [Tue, 27 Jul 2021 14:46:25 +0000 (10:46 -0400)]
mgr/nfs: remove unused 'realm' arg for 'nfs export create rgw'

This argument is not used.  The rgw exports currently only work on the
default realm.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/rook: update title
Sage Weil [Mon, 26 Jul 2021 20:14:44 +0000 (16:14 -0400)]
doc/mgr/rook: update title

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/nfs: reference customizing ingress
Sage Weil [Mon, 26 Jul 2021 20:12:45 +0000 (16:12 -0400)]
doc/mgr/nfs: reference customizing ingress

Link to the cephadm docs on modifying the service directly.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/nfs: add section for manual ganesha config; reframe
Sage Weil [Mon, 26 Jul 2021 20:04:15 +0000 (16:04 -0400)]
doc/mgr/nfs: add section for manual ganesha config; reframe

This documentation is incomplete because this mode of operation is not
tested/validated.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agocommon/bloom_filter: use popcount() to implement density()
Kefu Chai [Tue, 27 Jul 2021 06:58:01 +0000 (14:58 +0800)]
common/bloom_filter: use popcount() to implement density()

instead of counting the bits using a loop, it'd be more efficient to do
this using the SIMD instruction.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/bloom_filter: s/bits_per_char/CHAR_BIT/
Kefu Chai [Tue, 27 Jul 2021 07:20:07 +0000 (15:20 +0800)]
common/bloom_filter: s/bits_per_char/CHAR_BIT/

use macro defined by standard libary instead of inventing our own.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoinclude/intarith: add popcount()
Kefu Chai [Tue, 27 Jul 2021 05:54:26 +0000 (13:54 +0800)]
include/intarith: add popcount()

for counting "1" in an integer.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agotest/test_intarith: adapt to the change in intarith.h
Kefu Chai [Tue, 27 Jul 2021 06:24:18 +0000 (14:24 +0800)]
test/test_intarith: adapt to the change in intarith.h

back in 2623fec1cdd5fd9b15ee67c4b115385c67129ef4, the vaiants of, for
instance, ctz() are consolidated to a single template. so the
ctz<>() dispatches by the size of argument after that change.
but the tests were not updated accordingly.

in this change:

* the tests are updated to use the template.
* instead of using integer literal postfix, use the macros like
  UINT64_C to define integer constants for better portability on
  different architectures where the lengths of integer *might* be
  different from amd64. also, it's more readable than postfixes
  like ULL in this context, as we really care about the exact
  length of an integer in this context when counting the leading
  zeros.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: add unittest_intarith back
Kefu Chai [Tue, 27 Jul 2021 05:53:24 +0000 (13:53 +0800)]
cmake: add unittest_intarith back

this unit test was missed when we migrated from autotools to CMake.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/bloom_filter: use vector for holding bits
Kefu Chai [Tue, 27 Jul 2021 04:58:54 +0000 (12:58 +0800)]
common/bloom_filter: use vector for holding bits

to be more consistent with the upstream at https://github.com/ArashPartow/bloom/blob/master/bloom_filter.hpp
and for better readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/bloom_filter: use "using" for better readability
Kefu Chai [Tue, 27 Jul 2021 04:15:19 +0000 (12:15 +0800)]
common/bloom_filter: use "using" for better readability

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/bloom_filter: return by return values not by input params
Kefu Chai [Tue, 27 Jul 2021 03:57:46 +0000 (11:57 +0800)]
common/bloom_filter: return by return values not by input params

it'd be easier for the static analyzer (like GCC), to reason about if
a variable is initialized before being used.

this change also helps to improve the readability, and to silence the
false alarm like:

In file included from ../src/os/bluestore/BlueStore.h:42,
                 from ../src/os/bluestore/BlueStore.cc:26:
../src/common/bloom_filter.hpp: In member function 'void std::vector<_Tp, _Alloc>::_M_fill_insert(std::vector<_Tp, _Alloc>::iterator, std::vector<_Tp, _Alloc>::size_type, const value_type&) [with _Tp = bloom_filter; _Alloc = mempool::pool_allocator<mempool::mempool_bluestore_fsck, bloom_filter>]':
../src/common/bloom_filter.hpp:118:46: warning: '*((void*)(& __tmp)+8).bloom_filter::table_size_' may be used uninitialized in this function [-Wmaybe-uninitialized]
  118 |  mempool::bloom_filter::alloc_byte.deallocate(bit_table_, table_size_);
      |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42457 from cyx1231st/wip-seastore-segment-metrics
Kefu Chai [Tue, 27 Jul 2021 06:37:33 +0000 (14:37 +0800)]
Merge pull request #42457 from cyx1231st/wip-seastore-segment-metrics

crimson/seastore: implement metrics in BlockSegmentManager

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/os/seastore/segment_manager: implement metrics in BlockSegmentManager 42457/head
Yingxin Cheng [Fri, 23 Jul 2021 02:28:58 +0000 (10:28 +0800)]
crimson/os/seastore/segment_manager: implement metrics in BlockSegmentManager

* data read/write effort;
* metadata write effort;
* opened/closed/released segments;
* unused bytes from closed segments;

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoinclude/denc: always initialize local variable
Kefu Chai [Tue, 27 Jul 2021 03:42:59 +0000 (11:42 +0800)]
include/denc: always initialize local variable

this change silences following false positive warning:

In file included from ../src/include/encoding.h:41,
                  from ../src/kv/KeyValueDB.h:12,
                  from ../src/os/bluestore/bluestore_common.h:20,
                  from ../src/os/bluestore/BlueFS.cc:5:
 ../src/include/denc.h: In function ‘std::enable_if_t<(is_same_v<T, bluefs_extent_t> || is_same_v<T, const bluefs_extent_t>)> _denc_friend(T&, P&) [with T = bluefs_extent_t; P = ceph::buffer::v15_2_0::p$
 ../src/include/denc.h:639:11: warning: ‘shift’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   639 |     shift += 7;
       |     ~~~~~~^~~~
 ../src/include/denc.h:613:7: note: ‘shift’ was declared here
   613 |   int shift;
       |       ^~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42475 from tchaikov/wip-crimson-cleanup
Kefu Chai [Tue, 27 Jul 2021 02:37:07 +0000 (10:37 +0800)]
Merge pull request #42475 from tchaikov/wip-crimson-cleanup

crimson/osd: cleanups

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
3 years agoMerge pull request #42483 from Astroakanksha24/master
Kefu Chai [Tue, 27 Jul 2021 02:32:29 +0000 (10:32 +0800)]
Merge pull request #42483 from Astroakanksha24/master

mgr/volumes/fs/operations/group.py: add extra blank lines

Reviewed-by: Varsha Rao <varao@redhat.com>
3 years agoMerge pull request #42485 from tchaikov/wip-strtoll
Kefu Chai [Tue, 27 Jul 2021 02:31:41 +0000 (10:31 +0800)]
Merge pull request #42485 from tchaikov/wip-strtoll

common/strtol: replace `const char*` with `std::string_view`

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge PR #42292 into master
Sage Weil [Mon, 26 Jul 2021 23:23:26 +0000 (19:23 -0400)]
Merge PR #42292 into master

* refs/pull/42292/head:
qa/suites/upgrade: log_to_journald=false

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge PR #42489 into master
Sage Weil [Mon, 26 Jul 2021 23:23:03 +0000 (19:23 -0400)]
Merge PR #42489 into master

* refs/pull/42489/head:
qa/suites/upgrade/pacific-x/stress-split: do not avoid_pacific_features

Reviewed-by: Yuri Weinstein <yweins@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agodoc/mgr/nfs: document ingress in more detail
Sage Weil [Mon, 26 Jul 2021 19:58:08 +0000 (15:58 -0400)]
doc/mgr/nfs: document ingress in more detail

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/nfs: typo
Sage Weil [Mon, 26 Jul 2021 19:27:59 +0000 (15:27 -0400)]
doc/mgr/nfs: typo

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/nfs: add note about incomplete ingress
Sage Weil [Mon, 26 Jul 2021 14:51:02 +0000 (10:51 -0400)]
doc/mgr/nfs: add note about incomplete ingress

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/suites/orch/cephadm: add rgw nfs export test
Sage Weil [Thu, 15 Jul 2021 20:49:12 +0000 (16:49 -0400)]
qa/suites/orch/cephadm: add rgw nfs export test

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agomgr/cephadm: ingress: tolerate no daemons
Sage Weil [Mon, 19 Jul 2021 22:12:24 +0000 (18:12 -0400)]
mgr/cephadm: ingress: tolerate no daemons

This doesn't normally happen, but did before the daemon inventory breakage
(see previous patches) was fixed.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agomgr/nfs: add --squash option to 'nfs export create rgw ...'
Sage Weil [Mon, 19 Jul 2021 17:47:12 +0000 (13:47 -0400)]
mgr/nfs: add --squash option to 'nfs export create rgw ...'

The cephfs variant already has it.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agomgr/nfs: use bucket owner creds for rgw bucket export
Sage Weil [Mon, 19 Jul 2021 17:46:38 +0000 (13:46 -0400)]
mgr/nfs: use bucket owner creds for rgw bucket export

The bucket owner can always read/write to the bucket, so use those creds
for the export.  This is less complicated than setting up a dedicated
user anyway.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agomgr/cephadm: use new CEPH_IMAGE_TYPES for all daemons using ceph container image
Sage Weil [Fri, 16 Jul 2021 19:29:15 +0000 (15:29 -0400)]
mgr/cephadm: use new CEPH_IMAGE_TYPES for all daemons using ceph container image

We were using CEPH_TYPES + GATEWAY_TYPES, but that isn't really accurate.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/tasks/python: simple task to run python code
Sage Weil [Thu, 15 Jul 2021 20:33:48 +0000 (15:33 -0500)]
qa/tasks/python: simple task to run python code

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agodoc/mgr/nfs: revisions
Sage Weil [Thu, 15 Jul 2021 15:04:54 +0000 (11:04 -0400)]
doc/mgr/nfs: revisions

- clean up language
- move config hierarchy to the bottom (this is an implementation detail
that is only useful if managing ganesha externally)

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agomgr/nfs/export: nicer exceptions on cap update
Sage Weil [Thu, 15 Jul 2021 14:23:50 +0000 (10:23 -0400)]
mgr/nfs/export: nicer exceptions on cap update

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoMerge pull request #42181 from lyind/51526-fix-ceph-volume-zero-division-error
Guillaume Abrioux [Mon, 26 Jul 2021 19:58:07 +0000 (21:58 +0200)]
Merge pull request #42181 from lyind/51526-fix-ceph-volume-zero-division-error

ceph-volume: lvm batch: fast_allocations(): avoid ZeroDivisionError

3 years agodoc/rados: rewrite index.rst 42492/head
Zac Dover [Mon, 26 Jul 2021 19:16:41 +0000 (05:16 +1000)]
doc/rados: rewrite index.rst

This PR makes minor alterations to the
text at the beginning of the RADOS Guide.

Most notably, the monitor daemon has been
added to the list of types of daemons that
constitute a Ceph cluster.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
3 years agorgw/notifications: Changing the Multipart Upload notification behavior 42350/head
Kalpesh Pandya [Wed, 14 Jul 2021 08:38:42 +0000 (14:08 +0530)]
rgw/notifications: Changing the Multipart Upload notification behavior

Changing the notification behavior in case of Multipart Upload, updating
the related test cases and adding the documentation changes for the same.

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agoMerge pull request #42443 from dsavineau/ceph_volume_tests_functional_ssh_args
Guillaume Abrioux [Mon, 26 Jul 2021 15:08:10 +0000 (17:08 +0200)]
Merge pull request #42443 from dsavineau/ceph_volume_tests_functional_ssh_args

ceph-volume/tests: update ansible environment variables in tox

3 years ago*: drop strict_iecstrtoll(const char *str,..) 42485/head
Kefu Chai [Mon, 26 Jul 2021 07:16:06 +0000 (15:16 +0800)]
*: drop strict_iecstrtoll(const char *str,..)

replace strict_iecstrtoll(const char *str,..) with
strict_iecstrtoll(std::string_view, ..). which is more convenient.
and both of them share the same implementation:

strict_iec_cast<uint64_t>(str, err);

so they are interchangeable.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon,mon: drop strict_sistrtoll()
Kefu Chai [Mon, 26 Jul 2021 07:07:48 +0000 (15:07 +0800)]
common,mon: drop strict_sistrtoll()

strict_sistrtoll() is but an alias of strict_si_cast<uint64_t>(..),
let's just drop the former. there are way too many thin wrappers in
strtol.{h,cc}. they don't offer lots of benefit to us.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/strtol: drop strict_strto*(const char*,..)
Kefu Chai [Mon, 26 Jul 2021 07:00:40 +0000 (15:00 +0800)]
common/strtol: drop strict_strto*(const char*,..)

they are but proxies to strict_strto*(string_view, ...). and their
callers can just call the latter without any change. so drop these
proxies.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon, mon: use strict_si_cast<>(std::string_view,..)
Kefu Chai [Mon, 26 Jul 2021 06:53:43 +0000 (14:53 +0800)]
common, mon: use strict_si_cast<>(std::string_view,..)

simpler this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocommon/strtol: expose strict_si_cast(std::string_view, ..)
Kefu Chai [Mon, 26 Jul 2021 06:50:47 +0000 (14:50 +0800)]
common/strtol: expose strict_si_cast(std::string_view, ..)

this variant is better than strict_si_cast(const char*), because:

* we can just pass std::string to it, as std::string_view can be
  constructed from a std::string implicitly
* strict_si_cast(std::string_view, ..) is the underlying
  implementation of strict_si_cast(const char*,..), so less
  indirection helps with the readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agorgw,mon,common/strtol: use strict_iec_cast(std::string_view, ..)
Kefu Chai [Mon, 26 Jul 2021 06:41:24 +0000 (14:41 +0800)]
rgw,mon,common/strtol: use strict_iec_cast(std::string_view, ..)

this variant is better than strict_iec_cast(const char*), because:

* we can just pass std::string to it, as std::string_view can be
  constructed from a std::string implicitly
* strict_iec_cast(std::string_view, ..) is the underlying
  implementation of strict_iec_cast(const char*,..), so less
  indirection helps with the readability.
* rgw,mon: use strict_iec_cast(std::string_view, ..) instead.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42403 from BlaineEXE/ceph-volume-use-safer-check-for-has-bluestor...
Kefu Chai [Mon, 26 Jul 2021 10:31:13 +0000 (18:31 +0800)]
Merge pull request #42403 from BlaineEXE/ceph-volume-use-safer-check-for-has-bluestore-label

ceph-volume: use safer check for bluestore label

Reviewed-by: Sébastien Han <seb@redhat.com>
Reviewed-by: Dimitri Savineau <dsavinea@redhat.com>
3 years agoMerge pull request #42474 from tchaikov/wip-kv-cleanup
Kefu Chai [Mon, 26 Jul 2021 10:29:01 +0000 (18:29 +0800)]
Merge pull request #42474 from tchaikov/wip-kv-cleanup

kv/RocksDBStore: always initialize local variable

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #42456 from ifed01/wip-ifed-alloc-histogram2
Igor Fedotov [Mon, 26 Jul 2021 10:21:28 +0000 (13:21 +0300)]
Merge pull request #42456 from ifed01/wip-ifed-alloc-histogram2

os/bluestore: implement allocation perf histogram.

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agomgr/volumes/fs/operations/group.py: add extra blank line 42483/head
Akanksha Chaudhari [Mon, 26 Jul 2021 06:53:17 +0000 (12:23 +0530)]
mgr/volumes/fs/operations/group.py: add extra blank line

Fixes:https://tracker.ceph.com/issues/51393
Signed-off-by: Akanksha Chaudhari <astroakanksha24@gmail.com>
3 years agoMerge pull request #42466 from adk3798/mgr-stop
Kefu Chai [Sun, 25 Jul 2021 13:42:29 +0000 (21:42 +0800)]
Merge pull request #42466 from adk3798/mgr-stop

mgr/cephadm: Don't allow stopping full mgr, mon or osd services

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agovstart.sh: set objectstore to "cyanstore" if --cyanstore is specified
Kefu Chai [Sun, 25 Jul 2021 06:27:53 +0000 (14:27 +0800)]
vstart.sh: set objectstore to "cyanstore" if --cyanstore is specified

in e6ed65db8b4e0a2f8026c2e35a12dd292c5f2b8c, "cyanstore" is added to the
help message of vstart.sh, but we should also check for this option, and
set the ceph option accordingly.

in this change, the option is checked and "objectstore" is updated
accordingly.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/osd: print logging using logger() in main() 42475/head
Kefu Chai [Sat, 24 Jul 2021 13:29:51 +0000 (21:29 +0800)]
crimson/osd: print logging using logger() in main()

more consistent and easier to parse this way.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agokv/RocksDBStore: always initialize local variable 42474/head
Kefu Chai [Sat, 24 Jul 2021 13:19:26 +0000 (21:19 +0800)]
kv/RocksDBStore: always initialize local variable

silences following warning from GCC:

 ../src/kv/RocksDBStore.cc:386:7: warning: ‘r’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   386 |       if (r < 0) {
       |       ^~

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/osd: cancel timer when stopping
Kefu Chai [Sat, 24 Jul 2021 13:08:20 +0000 (21:08 +0800)]
crimson/osd: cancel timer when stopping

so that reactor does not complain when being stopped, like:

ERROR 2021-07-24 20:50:23,711 [shard 0] seastar - Timer callback failed: seastar::gate_closed_exception (gate closed)

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/osd: disable var-tracking-assignments
Kefu Chai [Sat, 24 Jul 2021 13:06:43 +0000 (21:06 +0800)]
crimson/osd: disable var-tracking-assignments

to disable following warning:

In file included from ../src/common/config.h:27,
                 from ../src/crimson/common/config_proxy.h:8,
                 from ../src/crimson/osd/main.cc:23:
../src/common/config_values.h: In copy constructor ‘ConfigValues::ConfigValues(const ConfigValues&)’:
../src/common/config_values.h:19:7: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without
   19 | class ConfigValues {
      |       ^~~~~~~~~~~~

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson: use seastar::try_with_gate to guard background task
Kefu Chai [Sat, 24 Jul 2021 09:01:05 +0000 (17:01 +0800)]
crimson: use seastar::try_with_gate to guard background task

for less indent, and for more consistency with how tools/store_nbd
runs background task.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42467 from dsavineau/issue_51796
Kefu Chai [Sat, 24 Jul 2021 11:51:25 +0000 (19:51 +0800)]
Merge pull request #42467 from dsavineau/issue_51796

mgr/cephadm/grafana: check if dashboard is enabled

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #42468 from dsavineau/refact_mgr_cephadm_iscsi_dashboard_check
Kefu Chai [Sat, 24 Jul 2021 11:41:19 +0000 (19:41 +0800)]
Merge pull request #42468 from dsavineau/refact_mgr_cephadm_iscsi_dashboard_check

mgr/cephadm/iscsi: simplify the dashboard check

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #41168 from aclamk/wip-bluefs-more-sync-metadata
Kefu Chai [Sat, 24 Jul 2021 11:39:51 +0000 (19:39 +0800)]
Merge pull request #41168 from aclamk/wip-bluefs-more-sync-metadata

os/bluestore/bluefs: Force metadata sync after file rename and file deletion

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
3 years agocmake: define OpenLDAP::OpenLDAP library 42473/head
Kefu Chai [Sat, 24 Jul 2021 09:39:55 +0000 (17:39 +0800)]
cmake: define OpenLDAP::OpenLDAP library

* define OpenLDAP::OpenLDAP, so this library can be consumed in a simpler way.
* use OpenLDAP::OpenLDAP instead of OpenLDAP_LIBRARIES when appropriate
* do not link against unused ${OpenLDAP_LIBRARIES}

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: s/OPENLDAP/OpenLDAP/
Kefu Chai [Sat, 24 Jul 2021 09:28:11 +0000 (17:28 +0800)]
cmake: s/OPENLDAP/OpenLDAP/

the upstream project of OpenLDAP is named "OpenLDAP", so rename OPENLDAP to
OpenLDAP for better readability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: use generator exp. for passing fmt::fmt's COMPILE_DEFINITIONS
Kefu Chai [Sat, 24 Jul 2021 07:01:54 +0000 (15:01 +0800)]
cmake: use generator exp. for passing fmt::fmt's COMPILE_DEFINITIONS

more concise this way, without yet another redirection.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: make rgw_common a static library
Kefu Chai [Sat, 24 Jul 2021 06:38:29 +0000 (14:38 +0800)]
cmake: make rgw_common a static library

it was changed from a shared library to object library back in
3c0bba40b2fcc36a02bfe89647231e8983819a72, because we wanted to link both
rgw_a and rgw_admin_user against it.

but now that rgw_admin_user was dropped in
c89b59428e66ae6d89d1fd27a4280045c57251cb, let's compile rgw_common
as a static library. it'd be much easier for us to apply various compile
options and linkages to it this way.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: build rgw_kmip_client_impl as part of radosgw
Kefu Chai [Sat, 24 Jul 2021 07:39:08 +0000 (15:39 +0800)]
cmake: build rgw_kmip_client_impl as part of radosgw

instead compiling rgw_kmip as an object library, just include
rgw_kmip_client_impl.cc in radosgw. simpler this way, as
rgw_kmip_client_impl.cc includes rgw/rgw_common.h. while rgw_common.cc
is indirectly included by ${rgw_libs} as a part of rgw_a, so
it would be simpler if we just compile rgw_kmip_client_impl.cc
as a part of radosgw, and let radosgw link against ${rgw_libs},
which are able to take care of the include directories of 3rd party
libraries, like spawn/spawn.hpp, which is pulled in by rgw/rgw_common.h.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agorgw: drop unused rgw_admin_user.{h,cc}
Kefu Chai [Sat, 24 Jul 2021 06:19:03 +0000 (14:19 +0800)]
rgw: drop unused rgw_admin_user.{h,cc}

their only consumer was dropped in c89b59428e66ae6d89d1fd27a4280045c57251cb

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42460 from MrFreezeex/fix-snaptrim-log
Kefu Chai [Sat, 24 Jul 2021 11:13:54 +0000 (19:13 +0800)]
Merge pull request #42460 from MrFreezeex/fix-snaptrim-log

osd: log snaptrim message to dout

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42448 from tchaikov/wip-rgw-lua-fs
Kefu Chai [Sat, 24 Jul 2021 11:12:26 +0000 (19:12 +0800)]
Merge pull request #42448 from tchaikov/wip-rgw-lua-fs

rgw/rgw_lua: s/boost::filesystem/std::filesystem/

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
3 years agoMerge pull request #42286 from dvanders/dvanders_selinux
Kefu Chai [Sat, 24 Jul 2021 05:57:19 +0000 (13:57 +0800)]
Merge pull request #42286 from dvanders/dvanders_selinux

ceph.spec: selinux scripts respect CEPH_AUTO_RESTART_ON_UPGRADE

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Wido den Hollander <wido@widodh.nl>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42451 from ideepika/wip-jaeger-buildthrift
Kefu Chai [Sat, 24 Jul 2021 05:54:40 +0000 (13:54 +0800)]
Merge pull request #42451 from ideepika/wip-jaeger-buildthrift

cmake: fix failure due missing thrift build scripts if building with jaeger

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42452 from smithfarm/wip-first-arg-immutable
Kefu Chai [Sat, 24 Jul 2021 05:53:33 +0000 (13:53 +0800)]
Merge pull request #42452 from smithfarm/wip-first-arg-immutable

rpm: drop use of $FIRST_ARG in ceph-immutable-object-cache

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42464 from tchaikov/wip-header-only-fmt
Kefu Chai [Sat, 24 Jul 2021 05:45:54 +0000 (13:45 +0800)]
Merge pull request #42464 from tchaikov/wip-header-only-fmt

cmake, ceph.spec.in: build with header only fmt on RHEL

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agoMerge pull request #42438 from tchaikov/wip-qa-test_module_selftest
Neha Ojha [Fri, 23 Jul 2021 22:39:14 +0000 (15:39 -0700)]
Merge pull request #42438 from tchaikov/wip-qa-test_module_selftest

qa/tasks/mgr: clean crash reports before waiting for clean

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agomgr/cephadm: Don't allow stopping full mgr, mon or osd services 42466/head
Adam King [Fri, 23 Jul 2021 14:01:54 +0000 (10:01 -0400)]
mgr/cephadm: Don't allow stopping full mgr, mon or osd services

I can't think of any case where we would want to allow this

Fixes: https://tracker.ceph.com/issues/51298
Signed-off-by: Adam King <adking@redhat.com>
3 years agoceph.spec.in: build with header only fmt on RHEL 42464/head
Kefu Chai [Fri, 23 Jul 2021 10:02:36 +0000 (18:02 +0800)]
ceph.spec.in: build with header only fmt on RHEL

because fmt is packaged in EPEL, while librados is packaged
in RHEL, so we cannot have fmt as a runtime dependency of librados.
to address this issue, we should compile librados either with static library
or with header-only library of fmt. but because the fedora packaging
guideline does no encourage us to package static libraries, and it would
be complicated to package both static and dynamic library for fmt.

the simpler solution would be to compile Ceph with the header-only
version of fmt.

in this change, we compile ceph with the header-only version of fmt
on RHEL to address the runtime dependency issue.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agocmake: add an option "WITH_FMT_HEADER_ONLY"
Kefu Chai [Fri, 23 Jul 2021 09:52:12 +0000 (17:52 +0800)]
cmake: add an option "WITH_FMT_HEADER_ONLY"

in this change:

* an interface library named "fmt-header-only" is introduced. it brings
  the support to the header only fmt library.
* fmt::fmt is renamed to fmt
* an option named "WITH_FMT_HEADER_ONLY" is introduced
* fmt::fmt is an alias of "fmt-header-only" if "WITH_FMT_HEADER_ONLY"
  is "ON", and an alias of "fmt" otherwise.

because fmt is packaged in EPEL, while librados is packaged
in RHEL, so we cannot have fmt as a runtime dependency of librados.
to address this issue an option "WITH_FMT_HEADER_ONLY" is introduced, so
that we can enable it when building Ceph with the header version of fmt.
and the built packages won't have runtime dependency of fmt.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge PR #42256 into master
Patrick Donnelly [Fri, 23 Jul 2021 18:18:13 +0000 (11:18 -0700)]
Merge PR #42256 into master

* refs/pull/42256/head:
mds: update META_POP_READDIR/FETCH/STORE and cache_hit_rate for dump loads

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agoMerge PR #42173 into master
Patrick Donnelly [Fri, 23 Jul 2021 18:17:03 +0000 (11:17 -0700)]
Merge PR #42173 into master

* refs/pull/42173/head:
client: flush the mdlog in unsafe requests' relevant and auth MDSes only

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agoMerge PR #42106 into master
Patrick Donnelly [Fri, 23 Jul 2021 18:15:33 +0000 (11:15 -0700)]
Merge PR #42106 into master

* refs/pull/42106/head:
mds: create file system with specific ID

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
3 years agoosdc/Objecter: move LingerOp's ctor to .cc
Kefu Chai [Fri, 23 Jul 2021 16:09:58 +0000 (00:09 +0800)]
osdc/Objecter: move LingerOp's ctor to .cc

so the linkage of fmt::fmt does not spill out to other compilation
units.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42131 from tchaikov/wip-doc-dev-ci
Josh Durgin [Fri, 23 Jul 2021 16:35:58 +0000 (09:35 -0700)]
Merge pull request #42131 from tchaikov/wip-doc-dev-ci

doc/dev/continuous-integration: use ceph repos

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
3 years agomgr/cephadm/iscsi: simplify the dashboard check 42468/head
Dimitri Savineau [Fri, 23 Jul 2021 15:14:25 +0000 (11:14 -0400)]
mgr/cephadm/iscsi: simplify the dashboard check

We don't need to run an extra command (mgr module ls) to obtain the mgr
modules list since we already have this information in the mgr_map.
This workflow is already done for the monitoring stack or for configuring
the iscsi integration within the dashboard (during creation) via the
config_dashboard method.

The mgr_map is mocked in the tests with the dashboard module enabled so we
don't need _mon_command_mock_mgr_module_ls anymore.

Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
3 years agomgr/cephadm/grafana: check if dashboard is enabled 42467/head
Dimitri Savineau [Fri, 23 Jul 2021 15:03:42 +0000 (11:03 -0400)]
mgr/cephadm/grafana: check if dashboard is enabled

When deploying the grafana service but the mgr dashboard isn't enabled then
dashboard set-grafana-api-ssl-verify command fails.

Closes: https://tracker.ceph.com/issues/51796
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
3 years agoMerge pull request #42157 from markhpc/wip-osd_client_message_cap
Kefu Chai [Fri, 23 Jul 2021 12:58:53 +0000 (20:58 +0800)]
Merge pull request #42157 from markhpc/wip-osd_client_message_cap

common/options: Set osd_client_message_cap to 256.

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoosd: log snaptrim message to dout 42460/head
Arthur Outhenin-Chalandre [Fri, 23 Jul 2021 07:27:00 +0000 (09:27 +0200)]
osd: log snaptrim message to dout

This log message is not an error and is done on every tick of the
snaptrim process. Replace the derr logging to dout(10) to not log it
by default.

Fixes: https://tracker.ceph.com/issues/51799
Signed-off-by: Arthur Outhenin-Chalandre <arthur.outhenin-chalandre@cern.ch>
3 years agoMerge pull request #42449 from kevinzs2048/wip-test-sanitize
Kefu Chai [Fri, 23 Jul 2021 06:18:11 +0000 (14:18 +0800)]
Merge pull request #42449 from kevinzs2048/wip-test-sanitize

qa/run-tox-mgr-dashboard: Do not write to /tmp/test_sanitize_password…

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>