]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
2 years agoMerge pull request #47538 from tchaikov/wip-enable-gts
David Galloway [Wed, 10 Aug 2022 18:22:27 +0000 (14:22 -0400)]
Merge pull request #47538 from tchaikov/wip-enable-gts

ceph.spec.in: %enable_devtoolset11 only if the macro is defined

2 years agoMerge pull request #47541 from ceph/1723
David Galloway [Wed, 10 Aug 2022 17:23:20 +0000 (13:23 -0400)]
Merge pull request #47541 from ceph/1723

doc: Add missing index links for 17.2.3

2 years agodoc: Add missing index links for 17.2.3 47541/head
David Galloway [Wed, 10 Aug 2022 16:29:23 +0000 (12:29 -0400)]
doc: Add missing index links for 17.2.3

Signed-off-by: David Galloway <dgallowa@redhat.com>
2 years agoceph.spec.in: always use stock compiler on el9 el92 47538/head
Kefu Chai [Wed, 10 Aug 2022 14:52:12 +0000 (22:52 +0800)]
ceph.spec.in: always use stock compiler on el9

as RHEL/CentOS 9, we have the access to GCC-11, which is good enough for
compiling main HEAD even with WITH_SEASTAR=ON.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #46400 from rkachach/fix_issue_55733
Adam King [Wed, 10 Aug 2022 15:44:55 +0000 (11:44 -0400)]
Merge pull request #46400 from rkachach/fix_issue_55733

mgr/cephadm: adding dynamic prometheus configuration based on http_sd_config

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoceph.spec.in: define %gts_prefix
Kefu Chai [Wed, 10 Aug 2022 14:44:59 +0000 (22:44 +0800)]
ceph.spec.in: define %gts_prefix

less repeatings this way, also  allow maintainer to use other version of GTS.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoceph.spec.in: %enable_devtoolset11 only if the macro is defined
Kefu Chai [Wed, 10 Aug 2022 14:35:14 +0000 (22:35 +0800)]
ceph.spec.in: %enable_devtoolset11 only if the macro is defined

there is chance that we are using `yum-builddep` to prepare the
build dependencies. in that case, gcc-toolset-11-build is not
installed. it's like a chicken-egg dilemma, but the point is
`yum-builddep` is able to pull in the gcc-toolset-11-build. once
gcc-toolset-11-build is installed, we will have the %enable_devtoolset11
rpm macro.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #43155 from ljflores/wip-install-deps-fix
Kefu Chai [Wed, 10 Aug 2022 14:06:12 +0000 (22:06 +0800)]
Merge pull request #43155 from ljflores/wip-install-deps-fix

install-deps.sh: ensure that pip ugrades to most recent version within virtualenv

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47278 from rzarzynski/wip-cephx-verify_auth_cleanups
Kefu Chai [Wed, 10 Aug 2022 14:02:22 +0000 (22:02 +0800)]
Merge pull request #47278 from rzarzynski/wip-cephx-verify_auth_cleanups

monc, cephx: improve debugs and slightly clean invalidate_ticket() up

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2 years agoMerge pull request #47092 from dparmar18/wip-dparmar-cephadm-simple-1
Adam King [Wed, 10 Aug 2022 13:57:22 +0000 (09:57 -0400)]
Merge pull request #47092 from dparmar18/wip-dparmar-cephadm-simple-1

pybind/mgr/cephadm/upgrade: allow upgrades without reducing max_mds

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Anthony D'Atri <anthonyeleven@users.noreply.github.com>
2 years agomgr/cephadm: setting version field to a 17.2.3 46400/head
Redouane Kachach [Wed, 10 Aug 2022 11:30:42 +0000 (13:30 +0200)]
mgr/cephadm: setting version field to a 17.2.3

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2 years agomgr/cephadm: adding dynamic prometheus config based on http_sd
Redouane Kachach [Wed, 25 May 2022 10:27:23 +0000 (12:27 +0200)]
mgr/cephadm: adding dynamic prometheus config based on http_sd

Signed-off-by: Redouane Kachach <rkachach@redhat.com>
2 years agoMerge pull request #47479 from ceph/wip-backportbot_script-main
Ernesto Puerta [Wed, 10 Aug 2022 12:40:18 +0000 (14:40 +0200)]
Merge pull request #47479 from ceph/wip-backportbot_script-main

.github/workflows: add create-backport action

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: David Galloway <dgallowa@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
2 years ago.github/workflows: add create-backport action 47479/head
Ernesto Puerta [Fri, 5 Aug 2022 08:56:36 +0000 (10:56 +0200)]
.github/workflows: add create-backport action

Currently there's a cron job in a teuthology VM running a script to find all trackers in needs-backports and to create their corresponding backport trackers. This is done through the [Backport Bot](https://tracker.ceph.com/users/12172) Redmine account.

This PR intends to run this cron job task as a periodic Github Action.

Signed-off-by: Ernesto Puerta <37327689+epuertat@users.noreply.github.com>
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoMerge pull request #47514 from guits/c-v-thread-inventory-2
Guillaume Abrioux [Wed, 10 Aug 2022 11:08:20 +0000 (13:08 +0200)]
Merge pull request #47514 from guits/c-v-thread-inventory-2

ceph-volume: system.get_mounts() refactor

2 years agoMerge pull request #47198 from ceph/wip-yuriw-release-15.2.17-main
Ilya Dryomov [Wed, 10 Aug 2022 10:39:03 +0000 (12:39 +0200)]
Merge pull request #47198 from ceph/wip-yuriw-release-15.2.17-main

doc: 15.2.17 Release Notes

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2 years agodoc/releases/octopus.rst: add note for CVE-2022-0670 47198/head
Ilya Dryomov [Wed, 10 Aug 2022 09:09:55 +0000 (11:09 +0200)]
doc/releases/octopus.rst: add note for CVE-2022-0670

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agodoc/releases/octopus.rst: add note for rbd perf image iostat/iotop
Ilya Dryomov [Fri, 29 Jul 2022 15:56:10 +0000 (17:56 +0200)]
doc/releases/octopus.rst: add note for rbd perf image iostat/iotop

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2 years agodoc/releases/octopus.rst: add release note for rados
Matan Breizman [Thu, 21 Jul 2022 17:47:05 +0000 (17:47 +0000)]
doc/releases/octopus.rst: add release note for rados

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
2 years agodoc: 15.2.17 Release Notes
Yuri Weinstein [Wed, 20 Jul 2022 21:25:45 +0000 (14:25 -0700)]
doc: 15.2.17 Release Notes

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
2 years agoMerge pull request #47179 from rhcs-dashboard/service-id-info
Pere Diaz Bou [Wed, 10 Aug 2022 08:39:38 +0000 (10:39 +0200)]
Merge pull request #47179 from rhcs-dashboard/service-id-info

mgr/dashboard: validate mds service_id and helper text for service_id

Reviewed-by: Pegonzal <NOT@FOUND>
Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2 years agoMerge pull request #47517 from tchaikov/wip-cortx-motr-jammy
Kefu Chai [Wed, 10 Aug 2022 06:50:20 +0000 (14:50 +0800)]
Merge pull request #47517 from tchaikov/wip-cortx-motr-jammy

install-deps: install cortx-motr from chacra on jammy

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2 years agoMerge pull request #47488 from cbodley/wip-rgw-lc-shuffle
Casey Bodley [Tue, 9 Aug 2022 21:13:16 +0000 (17:13 -0400)]
Merge pull request #47488 from cbodley/wip-rgw-lc-shuffle

rgw/lc: random_sequence() uses default_random_engine

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Willem Jan Withagen <wjw@digiware.nl>
2 years agoMerge pull request #47504 from cbodley/wip-57050
Casey Bodley [Tue, 9 Aug 2022 21:12:03 +0000 (17:12 -0400)]
Merge pull request #47504 from cbodley/wip-57050

rgw/cmake: stop building all of radosgw a shared lib

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoMerge pull request #47503 from ceph/infosec
David Galloway [Tue, 9 Aug 2022 19:53:51 +0000 (15:53 -0400)]
Merge pull request #47503 from ceph/infosec

.gitleaks.toml: Allowlist cephadm test

2 years agoqa/suites/fs/upgrade: added upgrade_without_reducing_max_mds for testing the fail_fs... 47092/head
dparmar18 [Thu, 23 Jun 2022 17:23:52 +0000 (22:53 +0530)]
qa/suites/fs/upgrade: added upgrade_without_reducing_max_mds for testing the fail_fs option

Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoqa/tasks/fs: add cases in post_upgrade_checks() for fail_fs
dparmar18 [Thu, 16 Jun 2022 13:03:31 +0000 (18:33 +0530)]
qa/tasks/fs: add cases in post_upgrade_checks() for fail_fs

Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2 years agodoc/cephadm/upgrade: Add doc for mds upgrade without reducing mds_mds to 1.
dparmar18 [Tue, 14 Jun 2022 10:16:37 +0000 (15:46 +0530)]
doc/cephadm/upgrade: Add doc for mds upgrade without reducing mds_mds to 1.

Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoPendingReleaseNotes: added note related to new mds upgrade option using cephadm
dparmar18 [Mon, 13 Jun 2022 14:11:40 +0000 (19:41 +0530)]
PendingReleaseNotes: added note related to new mds upgrade option using cephadm

Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2 years agopybind/mgr/cephadm/upgrade: allow upgrades without reducing max_mds
dparmar18 [Mon, 6 Jun 2022 12:26:08 +0000 (17:56 +0530)]
pybind/mgr/cephadm/upgrade: allow upgrades without reducing max_mds

Fixes: https://tracker.ceph.com/issues/55715
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
2 years agoMerge pull request #46101 from myoungwon/wip-dedup-tool-update
Kefu Chai [Tue, 9 Aug 2022 16:17:00 +0000 (00:17 +0800)]
Merge pull request #46101 from myoungwon/wip-dedup-tool-update

tool: modify object-dedup command to run on manifest object

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #46242 from kamoltat/wip-ksirivad-fix-overlapping-message
Kefu Chai [Tue, 9 Aug 2022 16:15:28 +0000 (00:15 +0800)]
Merge pull request #46242 from kamoltat/wip-ksirivad-fix-overlapping-message

pybind/mgr/pg_autoscaler: change overlapping roots to warning

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #47408 from ronen-fr/wip-rf-snprefix
Kefu Chai [Tue, 9 Aug 2022 16:13:45 +0000 (00:13 +0800)]
Merge pull request #47408 from ronen-fr/wip-rf-snprefix

osd: a faster version of SnapMapper::get_prefix()

Reviewed-by: Matan Breizman <mbreizma@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #46573 from aclamk/wip-one-cmdparse
Kefu Chai [Tue, 9 Aug 2022 16:07:08 +0000 (00:07 +0800)]
Merge pull request #46573 from aclamk/wip-one-cmdparse

common/cmdparse: Unsplit crimson/classic

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #47379 from NitzanMordhai/wip-nitzan-valgrind-handle-recovery...
Kefu Chai [Tue, 9 Aug 2022 16:05:55 +0000 (00:05 +0800)]
Merge pull request #47379 from NitzanMordhai/wip-nitzan-valgrind-handle-recovery-delete

osd: remove invalid put on message

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2 years agoMerge pull request #47500 from tchaikov/wip-no-more-distutils
Kefu Chai [Tue, 9 Aug 2022 15:02:07 +0000 (23:02 +0800)]
Merge pull request #47500 from tchaikov/wip-no-more-distutils

pybind/mgr/dashboard: do not use distutils.version.StrictVersion

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2 years agoinstall-deps: install cortx-motr from chacra 47517/head
Kefu Chai [Tue, 9 Aug 2022 14:51:37 +0000 (22:51 +0800)]
install-deps: install cortx-motr from chacra

this is an intermediate solution before cotx-motr upstream builds the
packages for jammy and upload them to github.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoinstall-deps: extract install_cortx_motr_on_ubuntu out
Kefu Chai [Tue, 9 Aug 2022 14:46:59 +0000 (22:46 +0800)]
install-deps: extract install_cortx_motr_on_ubuntu out

for better readability and maintainability

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47496 from tchaikov/wip-atomic-fc36
Kefu Chai [Tue, 9 Aug 2022 13:49:31 +0000 (21:49 +0800)]
Merge pull request #47496 from tchaikov/wip-atomic-fc36

ceph.spec.in: add libatomic to BuildRequires on fedora

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
2 years agopybind/mgr/dashboard: do not use distutils.version.StrictVersion 47500/head
Kefu Chai [Mon, 8 Aug 2022 14:41:17 +0000 (22:41 +0800)]
pybind/mgr/dashboard: do not use distutils.version.StrictVersion

replace `distutils.version.StrictVersion` with
`pkg_resources.parse_version()`

as the former is deprecated, see https://peps.python.org/pep-0632/.
let's use `pkg_resources` instead. this change also addresses
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010894.
we have this issue when testing with an ubuntu jammy test node.
see https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1967139

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47505 from ceph/dot
Kefu Chai [Tue, 9 Aug 2022 12:48:37 +0000 (20:48 +0800)]
Merge pull request #47505 from ceph/dot

doc: Install graphviz

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoceph-volume: system.get_mounts() refactor 47514/head
Guillaume Abrioux [Tue, 9 Aug 2022 06:27:30 +0000 (08:27 +0200)]
ceph-volume: system.get_mounts() refactor

When a network mount is present in `/proc/mounts` but for any reason
the corresponding server is down, this function hangs forever.
In a cluster deployed with cephadm, the consequence is that
it triggers `ceph-volume inventory` commands that hang and stay in D
state.

The idea here is to use a thread with a timeout to abort the call if the
timeout is reached.
`get_mounts()` is now a method of a class so we can exclude a path
altogether during the whole `inventory` execution (otherwise,
ceph-volume would try to access it as many devices there is on the
host which could slow down the inventory execution)

Fixes: https://tracker.ceph.com/issues/57070
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2 years agoMerge pull request #47476 from rosinL/fix-enoent
Yingxin [Tue, 9 Aug 2022 01:26:32 +0000 (09:26 +0800)]
Merge pull request #47476 from rosinL/fix-enoent

crimson/os/seastore: return future when no element error tolerated

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #47425 from cyx1231st/wip-seastore-backref-cleanup
Yingxin [Tue, 9 Aug 2022 01:25:17 +0000 (09:25 +0800)]
Merge pull request #47425 from cyx1231st/wip-seastore-backref-cleanup

crimson/os/seastore: backref related cleanups

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
2 years agodoc: Install graphviz 47505/head
David Galloway [Mon, 8 Aug 2022 19:50:47 +0000 (15:50 -0400)]
doc: Install graphviz

Fixes `WARNING: dot command 'dot' cannot be run (needed for graphviz output), check the graphviz_dot setting`

Signed-off-by: David Galloway <dgallowa@redhat.com>
2 years agorgw/cmake: stop building all of radosgw a shared lib 47504/head
Casey Bodley [Mon, 8 Aug 2022 18:09:56 +0000 (11:09 -0700)]
rgw/cmake: stop building all of radosgw a shared lib

Fixes: https://tracker.ceph.com/issues/57050
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years ago.gitleaks.toml: Allowlist cephadm test 47503/head
David Galloway [Mon, 8 Aug 2022 17:57:36 +0000 (13:57 -0400)]
.gitleaks.toml: Allowlist cephadm test

I signed up for Red Hat's gitleaks scanning service.  The self-signed key is just for testing purposes.

Signed-off-by: David Galloway <dgallowa@redhat.com>
2 years agoMerge pull request #47475 from Huber-ming/stale_delete
Casey Bodley [Mon, 8 Aug 2022 14:11:09 +0000 (10:11 -0400)]
Merge pull request #47475 from Huber-ming/stale_delete

rgw: correct help message of 'reshard stale-instances delete'

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2 years agoceph.spec.in: add libatomic to BuildRequires on fedora 47496/head
Kefu Chai [Mon, 8 Aug 2022 12:40:52 +0000 (20:40 +0800)]
ceph.spec.in: add libatomic to BuildRequires on fedora

otherwise we'd have failures like

/opt/compiler-explorer/gcc-trunk-20220808/bin/../lib/gcc/x86_64-linux-gnu/13.0.0/../../../../x86_64-linux-gnu/bin/ld:
/tmp/ccVlMbVh.o: in function `std::atomic<tagged_ptr>::store(tagged_ptr,
std::memory_order)':
/opt/compiler-explorer/gcc-trunk-20220808/include/c++/13.0.0/atomic:273:
undefined reference to `__atomic_store_16'

when generating the building system using CMake on fedora 36.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47486 from tchaikov/wip-dashboard-newer-teuth
Kefu Chai [Mon, 8 Aug 2022 12:34:22 +0000 (20:34 +0800)]
Merge pull request #47486 from tchaikov/wip-dashboard-newer-teuth

mgr/dashboard: bump up teuthology

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #46972 from nSedrickm/button-name-accessibility-update
Ernesto Puerta [Mon, 8 Aug 2022 09:44:09 +0000 (11:44 +0200)]
Merge pull request #46972 from nSedrickm/button-name-accessibility-update

mgr/dashboard: Improve level A accessibility for buttons

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Laura Flores <lflores@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2 years agoMerge pull request #46927 from nmshelke/fix-55762
Venky Shankar [Mon, 8 Aug 2022 08:54:27 +0000 (14:24 +0530)]
Merge pull request #46927 from nmshelke/fix-55762

mgr/volumes: filter internal directories in 'subvolumegroup ls' command

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
2 years agoMerge pull request #47436 from SUSE/wip-mib-snmp-dir
Tim Serong [Mon, 8 Aug 2022 05:46:20 +0000 (15:46 +1000)]
Merge pull request #47436 from SUSE/wip-mib-snmp-dir

ceph.spec.in: ceph-mib: require snmp-mibs on SUSE distros

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Justin Caratzas <jcaratza@redhat.com>
2 years agoMerge pull request #47423 from tchaikov/wip-crimson-cmp
Kefu Chai [Mon, 8 Aug 2022 05:15:50 +0000 (13:15 +0800)]
Merge pull request #47423 from tchaikov/wip-crimson-cmp

crimson/os: rewrite ordering using std::strong_ordering

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agorgw/lc: random_sequence() uses default_random_engine 47488/head
Casey Bodley [Sat, 6 Aug 2022 15:09:38 +0000 (11:09 -0400)]
rgw/lc: random_sequence() uses default_random_engine

we used random_device to seed a default_random_engine, but didn't use
the engine in our call to shuffle()

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2 years agocrimson, test: s/std::random_shuffle/std::shuffle/ 47423/head
Kefu Chai [Sat, 6 Aug 2022 10:30:45 +0000 (18:30 +0800)]
crimson, test: s/std::random_shuffle/std::shuffle/

to silence warnings like:

../src/test/crimson/seastore/onode_tree/test_staged_fltree.cc:371:10: warning: 'random_shuffle<__gnu_cxx::__normal_iterator<std::pair<ghobject_t, crimson::os::seastore::onode::test_item_t> *, std::vector<std::pair<ghobject_t, crimson::os::seastore::onode::test_item_t>>>>' is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
    std::random_shuffle(kvs.begin(), kvs.end());
         ^

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os: rewrite ordering using std::strong_ordering
Kefu Chai [Sat, 6 Aug 2022 10:26:44 +0000 (18:26 +0800)]
crimson/os: rewrite ordering using std::strong_ordering

the goals are

1. to use std::strong_ordering mechinary for better readability
   and maintainbility
2. to remove unnecessary abstraction
3. use concept for better error message and readability.

changes:

* replace MatchKindCMP with std::strong_ordering
* replace compare_to() with operator<=>
* introduce a concept `IsFullKey` so we can use it when developing
  generic facilities to operate on both materialized key or view.
* use `IsFullKey` in place of `KeyT` when appropriate

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47485 from tchaikov/crimson-os-cleanups
Kefu Chai [Sat, 6 Aug 2022 07:52:44 +0000 (15:52 +0800)]
Merge pull request #47485 from tchaikov/crimson-os-cleanups

crimson/os: cleanups

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2 years agoMerge pull request #47487 from snosratiershad/examples/add-allow-unordered-to-list...
Anthony D'Atri [Sat, 6 Aug 2022 05:56:36 +0000 (22:56 -0700)]
Merge pull request #47487 from snosratiershad/examples/add-allow-unordered-to-list-objects-v2-extention-support

examples/boto3: add ListObjectsV2Request shape to boto3 sdk extras with AllowUnordered as member

2 years agoexamples/boto3: add ListObjectsV2Request shape to boto3 sdk extras with AllowUnordere... 47487/head
Salar Nosrati-Ershad [Sat, 6 Aug 2022 03:29:19 +0000 (07:59 +0430)]
examples/boto3: add ListObjectsV2Request shape to boto3 sdk extras with AllowUnordered as member

feat: add ListObjectsV2Request shape to boto3 sdk extras with AllowUnordered as member

feat: add list-objects-v2 unordered supports to doc

Signed-off-by: Salar Nosrati-Ershad <snosratiershad@gmail.com>
2 years agoMerge pull request #44772 from ybwang0211/Bucket-Operations-doc
Kefu Chai [Sat, 6 Aug 2022 03:57:49 +0000 (11:57 +0800)]
Merge pull request #44772 from ybwang0211/Bucket-Operations-doc

doc: Make the SYNTAX code writing of some interfaces of the api document consistent with others

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #46989 from petrutlucian94/boost_shared_mutex
Kefu Chai [Sat, 6 Aug 2022 03:00:27 +0000 (11:00 +0800)]
Merge pull request #46989 from petrutlucian94/boost_shared_mutex

common: use boost::shared_mutex on Windows

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47216 from sseshasa/wip-fix-high-cpu-util-in-process
Kefu Chai [Sat, 6 Aug 2022 02:58:37 +0000 (10:58 +0800)]
Merge pull request #47216 from sseshasa/wip-fix-high-cpu-util-in-process

osd: Handle oncommits and wait for future work items from mClock queue

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agomgr/dashboard: bump up teuthology 47486/head
Kefu Chai [Sat, 6 Aug 2022 00:24:12 +0000 (08:24 +0800)]
mgr/dashboard: bump up teuthology

to include the fix of e7c5d67e10fe29da22180f9e09b8973ae166c8fc,
see https://github.com/ceph/teuthology/pull/1746.
to address the test failure on ubuntu jammy. where we have python3.10

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/osd: trade macro for type alias 47485/head
Kefu Chai [Fri, 5 Aug 2022 23:53:11 +0000 (07:53 +0800)]
crimson/osd: trade macro for type alias

for better readablity.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os: drop unused function
Kefu Chai [Wed, 3 Aug 2022 05:44:54 +0000 (13:44 +0800)]
crimson/os: drop unused function

Btree::compare(const ghobject_t &l, const ghobject_t &r) is never used,
so let's drop it.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47309 from Thingee/update-foundation-mems-202207
Kefu Chai [Fri, 5 Aug 2022 23:06:45 +0000 (07:06 +0800)]
Merge pull request #47309 from Thingee/update-foundation-mems-202207

doc: Updating Ceph Foundation members for July

Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2 years agoMerge pull request #47478 from tchaikov/wip-cmake-cython
Kefu Chai [Fri, 5 Aug 2022 22:51:23 +0000 (06:51 +0800)]
Merge pull request #47478 from tchaikov/wip-cmake-cython

cmake: remove spaces in macro used for compiling cython code

Reviewed-by: Tim Serong <tserong@suse.com>
2 years agoMerge pull request #47481 from ljflores/wip-github-actions
Laura Flores [Fri, 5 Aug 2022 19:14:17 +0000 (14:14 -0500)]
Merge pull request #47481 from ljflores/wip-github-actions

.github/workflows: increase operations-per-run to 100 in stale bot

2 years ago.github/workflows: increase operations-per-run to 100 in stale bot 47481/head
Laura Flores [Fri, 5 Aug 2022 16:34:20 +0000 (11:34 -0500)]
.github/workflows: increase operations-per-run to 100 in stale bot

The stale bot's `operations-per-run`
(https://github.com/actions/stale#operations-per-run) corresponds to the max
number of API calls it is allowed to make per hour. Currently,
`operations-per-run` is set to 30, which means that the stale bot
can make up to 30 API calls per hour.

With this limit in place, the stale bot is only able to process 400 PRs at a time.
Since there are 900+ PRs in the Ceph repository, we should increase the number of
operations to cover them all. This needs to be done with care though, since GitHub
has a rate limit
(https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting)
depending on business plan.

According to GitHub's documentation on GitHub action requests
(https://docs.github.com/en/rest/overview/resources-in-the-rest-api#requests-from-github-actions),
the rate limit is 1,000 requests per hour per repository when using `GITHUB_TOKEN` (which we are).
For enterprise accounts, GitHub Enterprise Cloud's rate limit applies, and the limit is 15,000
requests per hour per repository.

Based on this information, we should be fine to increase the max `operations-per-run`
to 100. This would cover a little over 1000 PRs, which should be enough
to process the 900-some-odd PRs in the Ceph repository.

Signed-off-by: Laura Flores <lflores@redhat.com>
2 years agotest/test_snap_mapper: add tests for key format stability 47408/head
Samuel Just [Wed, 3 Aug 2022 21:58:06 +0000 (21:58 +0000)]
test/test_snap_mapper: add tests for key format stability

Signed-off-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #47459 from tchaikov/wip-cmake-debian-python
David Galloway [Fri, 5 Aug 2022 12:51:27 +0000 (08:51 -0400)]
Merge pull request #47459 from tchaikov/wip-cmake-debian-python

cmake: install pure python module to deb_system path

2 years agoMerge pull request #47397 from kalebskeithley/luamgr
kalebskeithley [Fri, 5 Aug 2022 12:27:13 +0000 (08:27 -0400)]
Merge pull request #47397 from kalebskeithley/luamgr

rgw: lua, add support for lua packages to the lua manager

2 years agocmake: remove spaces in macro used for compiling cython code 47478/head
Kefu Chai [Fri, 5 Aug 2022 08:40:41 +0000 (16:40 +0800)]
cmake: remove spaces in macro used for compiling cython code

we are facing following FTBFS on jammy + GCC-11.2 + Cython 0.29 +
CMake 3.22:

creating /home/jenkins-build/build/workspace/ceph-api/build/lib/cython_modules/temp.linux-x86_64-3.10/home/jenkins-build/build/workspace/ceph-api/build/src/pybind/cephfs
compile options: '-I/usr/include/python3.10 -I/usr/include/python3.10 -c'
extra options: '-Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -iquote/home/jenkins-build/build/workspace/ceph-api/src/include -w -Dvoid0=dead_function(void) -D__Pyx_check_single_interpreter(ARG)=ARG ## 0 -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2'
cc: /home/jenkins-build/build/workspace/ceph-api/build/src/pybind/cephfs/cephfs.c
cc: warning: ##: linker input file unused because linking not done
cc: error: ##: linker input file not found: No such file or directory
cc: warning: 0: linker input file unused because linking not done
cc: error: 0: linker input file not found: No such file or directory

it seems cython is not able to escape the space in the "extra options"
anymore, so the "##" and "0" are considered as object files passed to
compiler in addition to cephfs.c.

in this change the spaces are removed to help cython to make the right
decision.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agocrimson/os/seastore/seastore: return future when no element error tolerated 47476/head
luo rixin [Fri, 5 Aug 2022 06:55:46 +0000 (14:55 +0800)]
crimson/os/seastore/seastore: return future when no element error tolerated

OP_REMOVE etc ops will tolerate absent onode, we need return
ready future to chain the continuation, otherwise it will cause
a segmentation fault.

Signed-off-by: luo rixin <luorixin@huawei.com>
2 years agoqa: filter internal directories in 'subvolumegroup ls' command 46927/head
Nikhilkumar Shelke [Fri, 1 Jul 2022 12:13:40 +0000 (17:43 +0530)]
qa: filter internal directories in 'subvolumegroup ls' command

Internal directories: '_nogroup', '_index', '_legacy', '_deleting'
1. Internal directories should be filtered in 'subvolmegroup ls' command.
2. Internal directories should not be accepted as a group name.

Fixes: https://tracker.ceph.com/issues/55762
Signed-off-by: Nikhilkumar Shelke <nshelke@redhat.com>
2 years agomgr/volumes: filter internal directories in 'subvolumegroup ls' command
Nikhilkumar Shelke [Wed, 22 Jun 2022 09:55:23 +0000 (15:25 +0530)]
mgr/volumes: filter internal directories in 'subvolumegroup ls' command

Internal directories: '_nogroup', '_index', '_legacy', '_deleting'
1. Internal directories should be filtered in 'subvolmegroup ls' command.
2. Internal directories should not be accepted as a group name.

Fixes: https://tracker.ceph.com/issues/55762
Signed-off-by: Nikhilkumar Shelke <nshelke@redhat.com>
2 years agoMerge pull request #47470 from tchaikov/wip-win32-silence-warning
Kefu Chai [Fri, 5 Aug 2022 07:59:34 +0000 (15:59 +0800)]
Merge pull request #47470 from tchaikov/wip-win32-silence-warning

dokan: cast variable to the expected type before comparison

Reviewed-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
2 years agorgw: correct help message of 'reshard stale-instances delete' 47475/head
Huber-ming [Fri, 5 Aug 2022 06:50:02 +0000 (14:50 +0800)]
rgw: correct help message of 'reshard stale-instances delete'

Signed-off-by: Huber-ming <zhangsm01@inspur.com>
2 years agocrimson/os/seastore/cache: backref related renames 47425/head
Yingxin Cheng [Wed, 3 Aug 2022 02:52:27 +0000 (10:52 +0800)]
crimson/os/seastore/cache: backref related renames

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore/cache: replace backref_buf_t by backref_entry_refs_t
Yingxin Cheng [Wed, 3 Aug 2022 02:06:46 +0000 (10:06 +0800)]
crimson/os/seastore/cache: replace backref_buf_t by backref_entry_refs_t

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore/cache: replace backref_cache_ref by backref_entryrefs_by_seq_t
Yingxin Cheng [Wed, 3 Aug 2022 01:20:05 +0000 (09:20 +0800)]
crimson/os/seastore/cache: replace backref_cache_ref by backref_entryrefs_by_seq_t

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore/backref_manager: cleanup scan_mapped_space
Yingxin Cheng [Mon, 1 Aug 2022 09:18:09 +0000 (17:18 +0800)]
crimson/os/seastore/backref_manager: cleanup scan_mapped_space

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: reuse with_transaction_intr for weak trans
Yingxin Cheng [Mon, 1 Aug 2022 06:10:38 +0000 (14:10 +0800)]
crimson/os/seastore: reuse with_transaction_intr for weak trans

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore/backref_manager: decouple segment_manager_group
Yingxin Cheng [Mon, 1 Aug 2022 02:49:14 +0000 (10:49 +0800)]
crimson/os/seastore/backref_manager: decouple segment_manager_group

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agoMerge pull request #47471 from cyx1231st/wip-seastore-cleanup-paddr
Yingxin [Fri, 5 Aug 2022 06:41:10 +0000 (14:41 +0800)]
Merge pull request #47471 from cyx1231st/wip-seastore-cleanup-paddr

crimson/os/seastore: cleanups and extentions to paddr_t related classes

Reviewed-by: Samuel Just <sjust@redhat.com>
2 years agoMerge pull request #47214 from nmshelke/minor-fixes
Venky Shankar [Fri, 5 Aug 2022 06:31:13 +0000 (12:01 +0530)]
Merge pull request #47214 from nmshelke/minor-fixes

docs: minor doc fixes of showing in progress clones for a snapshot

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Neeraj Pratap Singh <neesingh@redhat.com>
Reviewed-by: Kotresh HR <khiremat@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Dhairya Parmar <dparmar@redhat.com
2 years agoMerge pull request #47472 from tchaikov/wip-do-cmake-with-newer-gcc
Kefu Chai [Fri, 5 Aug 2022 06:16:17 +0000 (14:16 +0800)]
Merge pull request #47472 from tchaikov/wip-do-cmake-with-newer-gcc

do_cmake:sh: use newer gcc if available

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: introduce P_ADDR_ROOT 47471/head
Yingxin Cheng [Fri, 5 Aug 2022 02:20:06 +0000 (10:20 +0800)]
crimson/os/seastore: introduce P_ADDR_ROOT

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: cleanup, call paddr_t's explicit function where possible
Yingxin Cheng [Thu, 4 Aug 2022 14:09:03 +0000 (22:09 +0800)]
crimson/os/seastore: cleanup, call paddr_t's explicit function where possible

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: extend reserved device ids to 8 bits
Yingxin Cheng [Thu, 4 Aug 2022 13:19:00 +0000 (21:19 +0800)]
crimson/os/seastore: extend reserved device ids to 8 bits

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: cleanup, introduce res_paddr_t with paddr_types_t::RESERVED
Yingxin Cheng [Thu, 4 Aug 2022 12:56:58 +0000 (20:56 +0800)]
crimson/os/seastore: cleanup, introduce res_paddr_t with paddr_types_t::RESERVED

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agodo_cmake:sh: use newer gcc if available 47472/head
Kefu Chai [Fri, 5 Aug 2022 03:48:30 +0000 (11:48 +0800)]
do_cmake:sh: use newer gcc if available

despite that we are using clang in `run-make-check.sh`, `do_cmake.sh`
is still used by some workflows like jenkins' ceph-pr-api job.
now that we've migrated to C++20, we need to use GCC-11 or up for
building the tree. GCC-11 is installed from PPA repo in
`install-deps.sh`, but to avoid interfere with the build of older
branches which do not use GCC-11, as their builds might break if
we use GCC-11 for building them. we don't use the alternative machinary
to point gcc to gcc-11, see 8f342a32ce4a236c45c67497ae34f508e032a9e1.

so, in this change, we try to use the newest GCC in system when
running `do_cmake.sh`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoceph.spec.in: ceph-mib: specify "%dir %{_datadir}/snmp" 47436/head
Tim Serong [Wed, 3 Aug 2022 10:16:48 +0000 (20:16 +1000)]
ceph.spec.in: ceph-mib: specify "%dir %{_datadir}/snmp"

Without this, the openSUSE build fails with:

  ceph-mib-17.0.0-[...].noarch.rpm: directories not owned by a package:
    - /usr/share/snmp

Fixes: 183e3475064459fb10820b1c356875244fbc3f8a
Signed-off-by: Tim Serong <tserong@suse.com>
2 years agocrimson/os/seastore: cleanup paddr_t classes
Yingxin Cheng [Thu, 4 Aug 2022 04:07:24 +0000 (12:07 +0800)]
crimson/os/seastore: cleanup paddr_t classes

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: cleanup segment_id_t
Yingxin Cheng [Thu, 4 Aug 2022 02:08:36 +0000 (10:08 +0800)]
crimson/os/seastore: cleanup segment_id_t

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocrimson/os/seastore: cleanup DEVICE_ID_BITS
Yingxin Cheng [Thu, 4 Aug 2022 01:23:25 +0000 (09:23 +0800)]
crimson/os/seastore: cleanup DEVICE_ID_BITS

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2 years agocmake,debian: install pure python module to deb_system path 47459/head
Kefu Chai [Thu, 4 Aug 2022 13:52:43 +0000 (21:52 +0800)]
cmake,debian: install pure python module to deb_system path

in ubuntu 22.04 and debian unstable, the layout (scheme) for system
python module is named "deb_system", the default one is 'posix_local'.
and 'posix_local' installs python modules into paths like
usr/local/lib/python3.10/dist-packages/. hence dh_install fails
when it tries to find the files to be packaged under directory of
usr/lib/python3*/site-packages/.

in this change, the "deb_system" scheme is used if it is available,
and fall back to "posix_prefix" to be backward compatible with older
debian (derivative) distros.

also, update the source directories of pure python's installation
from `site-packages` to `*-packages`, to be compatible with ubuntu focal
and ubuntu jammy. as we are now using the specified scheme instead of
the default one.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agodokan: cast variable to the expected type before comparison 47470/head
Kefu Chai [Fri, 5 Aug 2022 00:17:45 +0000 (08:17 +0800)]
dokan: cast variable to the expected type before comparison

to fix the FTBFS due to following warning:

```
/home/jenkins-build/build/workspace/ceph-windows-pull-requests/ceph/build.deps/src/dokany/dokan/dokan.h:723:22: error: narrowing conversion of '-1' from 'int' to 'long unsigned int' [-Wnarrowing]
  723 | #define DOKAN_ERROR -1
      |                      ^
```

also, clean up the following warning:

```
/home/jenkins-build/build/workspace/ceph-windows-pull-requests/ceph/src/dokan/dbg.cc:142:62: warning: NULL used in arithmetic [-Wpointer-arith]
  142 |   o << "\n\tIsDirectory: " << (DokanFileInfo->IsDirectory != NULL);
      |
```

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2 years agoMerge pull request #47427 from tchaikov/wip-strong-ordering
Kefu Chai [Fri, 5 Aug 2022 00:29:35 +0000 (08:29 +0800)]
Merge pull request #47427 from tchaikov/wip-strong-ordering

include, common, osd: use std::strong_ordering machinery

Reviewed-by: Casey Bodley <cbodley@redhat.com>