]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agoceph.spec, debian: move deps from base to ceph-volume
Kefu Chai [Wed, 28 Jul 2021 07:32:58 +0000 (15:32 +0800)]
ceph.spec, debian: move deps from base to ceph-volume

this change makes util-linux, xfsprogs and e2fsprogs runtime deps of ceph-volume

ceph-volume uses blkid and lsblk, which are in turn packaged by
util-linux.

util-linux were added as build dependency to fulfill the needs of
ceph-disk. and we tested ceph-disk as part of "make check", since
ceph-disk was dropped, there is no need to have util-linux as
build dependency anymore.

the same applies to e2fsprogs and xfsprogs

see also a99177834120e7a2c4592054f6a8b8736e0ffb92

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agodebian/control: make cryptsetup-bin a ceph-volume runtime dep
Kefu Chai [Wed, 28 Jul 2021 07:16:19 +0000 (15:16 +0800)]
debian/control: make cryptsetup-bin a ceph-volume runtime dep

was originally added by 6a45b8ed041514816d09b2808d2d390eadbd0dd9 and
cfcaceac44d6b7b7c55e81d0bfb05f4893f3b1d0 as a dependency of ceph-disk.
although, ceph-disk was replaced by ceph-volume, cryptsetup-bin is still
used.

but it should be a runtime dependency of ceph-volume. and it is not a
build dependency of ceph, so it's removed from the build dependency list
as well.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoceph.spec.in: make cryptsetup a ceph-volume runtime dep.
Kefu Chai [Wed, 28 Jul 2021 07:14:42 +0000 (15:14 +0800)]
ceph.spec.in: make cryptsetup a ceph-volume runtime dep.

cryptsetup is solely used by ceph-volume, so it should be a runtime
dependency of ceph-volume, not ceph-base.

and remove it fomr build-dependency list, as we don't use this tool when
building ceph.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoceph.spec.in: split ceph-volume into a separated package
Kefu Chai [Fri, 23 Jul 2021 11:19:43 +0000 (19:19 +0800)]
ceph.spec.in: split ceph-volume into a separated package

ceph-volume is a tool implemented in pure python, so it would be better
to make it a architecture independent package for better
maintainability.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agodebian: split ceph-volume into a separated package
Kefu Chai [Fri, 23 Jul 2021 10:55:18 +0000 (18:55 +0800)]
debian: split ceph-volume into a separated package

ceph-volume is a tool implemented in pure python, so it would be better
to make it a architecture independent package for better
maintainability.

in this change

* ceph-volume is extracted out into a separated package
* ceph-volume depends on ceph-osd, as it deploys it and relies on
  an already-installed ceph-osd in the system.
* ceph-osd recommends ceph-volume. as ceph-osd can be used as a
  standalone package. but ceph-volume enhances it. also, to ensure
  the existing users to get ceph-volume installed along with
  ceph-osd.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agorpm,deb: make parted runtime dependency of ceph-osd
Kefu Chai [Fri, 23 Jul 2021 10:36:37 +0000 (18:36 +0800)]
rpm,deb: make parted runtime dependency of ceph-osd

we don't run parted when building ceph, instead, it is a runtime
dependency of ceph-volume, which is packaged in ceph-osd.

so in this change

* parted is removed from build dependency list
* parted is added as a runtime depedency of ceph-osd.

Signed-off-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #43109 from guits/guits-cv-24044
Guillaume Abrioux [Tue, 14 Sep 2021 08:00:14 +0000 (10:00 +0200)]
Merge pull request #43109 from guits/guits-cv-24044

ceph-volume: util/prepare fix osd_id_available()

3 years agoMerge pull request #43123 from liu-chunmei/lba_metrics_iter
Samuel Just [Tue, 14 Sep 2021 03:33:31 +0000 (20:33 -0700)]
Merge pull request #43123 from liu-chunmei/lba_metrics_iter

crimson/seastore: add lba tree metrics for lba tree profiling

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/seastore: add lba tree metrics for lba tree profiling 43123/head
chunmei-liu [Thu, 9 Sep 2021 05:25:45 +0000 (22:25 -0700)]
crimson/seastore: add lba tree metrics for lba tree profiling

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #43152 from athanatos/sjust/wip-simplify-delayed
Samuel Just [Tue, 14 Sep 2021 01:31:47 +0000 (18:31 -0700)]
Merge pull request #43152 from athanatos/sjust/wip-simplify-delayed

crimson/sesatore: simplify epm related transaction structures, fix some bugs

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore/transaction: add trace debugging for write_set 43152/head
Samuel Just [Sat, 11 Sep 2021 04:28:24 +0000 (21:28 -0700)]
crimson/os/seastore/transaction: add trace debugging for write_set

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/cached_extent: fix unused variable warning
Samuel Just [Sat, 11 Sep 2021 05:44:26 +0000 (05:44 +0000)]
crimson/os/seastore/cached_extent: fix unused variable warning

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/transaction_manager: fix delayed alloc addr in rewrite_logical_extent
Samuel Just [Sat, 11 Sep 2021 04:11:24 +0000 (21:11 -0700)]
crimson/os/seastore/transaction_manager: fix delayed alloc addr in rewrite_logical_extent

Setting nlextent's to the addr of the original extent violates invariants
in the intrusive_set we're using for ExtentIndex and generally breaks the
assumption in cache that paddrs are unique until reuse.  This means we'll
do an extra update_mapping for now -- we can refactor SegmentCleaner to
avoid it later.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/scanner: fix budget_used ref in scan_valid_records
Samuel Just [Sat, 11 Sep 2021 04:08:57 +0000 (21:08 -0700)]
crimson/os/seastore/scanner: fix budget_used ref in scan_valid_records

Fixes: https://tracker.ceph.com/issues/52582
Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/cache: more get_extent debugging
Samuel Just [Fri, 10 Sep 2021 22:41:55 +0000 (22:41 +0000)]
crimson/os/seastore/cache: more get_extent debugging

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/extent_placement_manager: clarify else branch delayed_alloc_or_oo...
Samuel Just [Fri, 10 Sep 2021 22:12:46 +0000 (15:12 -0700)]
crimson/os/seastore/extent_placement_manager: clarify else branch delayed_alloc_or_ool_write

Also shorten long line.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore: replace fresh_block_list with inline/ool_block_list
Samuel Just [Fri, 10 Sep 2021 01:11:05 +0000 (18:11 -0700)]
crimson/os/seastore: replace fresh_block_list with inline/ool_block_list

With this change, Transaction::write_set is the union of mutually exclusive
lists
- delayed_alloc_list, inline_block_list, and mutated_block_list prior to
  calling ExtentPlacementManager::delayed_alloc_or_ool_write

and

- inline_block_list, ool_block_list, and mutated_block_list after
  calling ExtentPlacementManager::delayed_alloc_or_ool_write

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agoMerge PR #43136 into master
Sage Weil [Mon, 13 Sep 2021 22:28:43 +0000 (18:28 -0400)]
Merge PR #43136 into master

* refs/pull/43136/head:
qa/tasks/kubeadm: change calico encap to IPIPCrossSubnet
qa/suites/orch/rook/smoke: add host networking to matrix
qa/tasks/rook: fix shadowing of config arg in rook_cluster()

Reviewed-by: Joseph Sawaya <jsawaya@redhat.com>
3 years agoMerge pull request #42417 from rzarzynski/wip-bl-optimize-emptybptrs
Ilya Dryomov [Mon, 13 Sep 2021 21:00:17 +0000 (23:00 +0200)]
Merge pull request #42417 from rzarzynski/wip-bl-optimize-emptybptrs

common/bl, tests: optimize carriage handling in bufferlist::c_str()

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoqa/tasks/kubeadm: change calico encap to IPIPCrossSubnet 43136/head
Sage Weil [Mon, 13 Sep 2021 18:43:20 +0000 (13:43 -0500)]
qa/tasks/kubeadm: change calico encap to IPIPCrossSubnet

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agocrimson/os/seastore/cached_extent: assert !parent_index in ExtentIndex::insert
Samuel Just [Fri, 10 Sep 2021 01:07:52 +0000 (18:07 -0700)]
crimson/os/seastore/cached_extent: assert !parent_index in ExtentIndex::insert

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/so/seastore: clarify ExtentIndex clear()
Samuel Just [Fri, 10 Sep 2021 01:07:31 +0000 (18:07 -0700)]
crimson/so/seastore: clarify ExtentIndex clear()

ExtentIndex::clear() needs to handle clearing parent_index.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/transaction: remove delayed_set
Samuel Just [Fri, 3 Sep 2021 20:22:46 +0000 (20:22 +0000)]
crimson/os/seastore/transaction: remove delayed_set

delayed_set isn't necessary.  Delayed extents have distinct paddr segments
already, so it's simpler to have a single index for all pending extents.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agotests/bl: verify the carriage handling in bufferlist::c_str(). 42417/head
Radoslaw Zarzynski [Tue, 20 Jul 2021 10:32:36 +0000 (10:32 +0000)]
tests/bl: verify the carriage handling in bufferlist::c_str().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocommon/bl: abstract from _carriage checking in c_str().
Radoslaw Zarzynski [Thu, 5 Aug 2021 00:04:57 +0000 (00:04 +0000)]
common/bl: abstract from _carriage checking in c_str().

This is intended to enchance readability and sligthly
generalize the previous, `_carriage`-aware optimization.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocommon/bl: c_str() considers _carriage now.
Radoslaw Zarzynski [Mon, 19 Jul 2021 14:06:20 +0000 (14:06 +0000)]
common/bl: c_str() considers _carriage now.

It could be that `_carriage` points on empty bptr which is
also stored in the `_buffers` container -- this happens
when we'are trying to preserve the appendable space to not
waste memory and avoid new allocation.
Before the change this approach was imposing unncessary
rebuilding on `c_str()`. Now we take into consideration
the special case when a bufferlist has the extra, empty
bptr at its end.

Fixes: https://tracker.ceph.com/issues/51725
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoceph-volume: util/prepare fix osd_id_available() 43109/head
Guillaume Abrioux [Thu, 9 Sep 2021 08:23:43 +0000 (10:23 +0200)]
ceph-volume: util/prepare fix osd_id_available()

The current check only allows to request an OSD id that exists but
marked as 'destroyed'.
With this small fix, we can now use `--osd-id` with an id that doesn't
exist at all.

Fixes: https://tracker.ceph.com/issues/50880
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
3 years agoMerge pull request #43141 from sebastian-philipp/doc-orch-rm
Sebastian Wagner [Mon, 13 Sep 2021 14:38:01 +0000 (16:38 +0200)]
Merge pull request #43141 from sebastian-philipp/doc-orch-rm

doc/cephadm: Removing a service

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge PR #42998 into master
Sage Weil [Mon, 13 Sep 2021 14:21:32 +0000 (10:21 -0400)]
Merge PR #42998 into master

* refs/pull/42998/head:
qa/tasks/rook: add testing for host label add/rm
mgr/rook: host add/rm label in rook orchestrator

Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
3 years agoMerge pull request #43147 from krunerge/fix_typo
Kefu Chai [Mon, 13 Sep 2021 13:45:11 +0000 (21:45 +0800)]
Merge pull request #43147 from krunerge/fix_typo

doc/dev/crimson/poseidonstore: fix typo

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #43063 from guits/guits-trailing-spaces
Dimitri Savineau [Mon, 13 Sep 2021 13:13:07 +0000 (09:13 -0400)]
Merge pull request #43063 from guits/guits-trailing-spaces

ceph-volume: remove trailing spaces in code

3 years agoMerge pull request #42951 from ronen-fr/wip-ronenf-pg-dtor
Ronen Friedman [Mon, 13 Sep 2021 11:23:52 +0000 (14:23 +0300)]
Merge pull request #42951 from ronen-fr/wip-ronenf-pg-dtor

osd/scrub: destruct the scrubber shortly before the PG is destructed

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>-
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agodoc/dev/crimson/poseidonstore: fix typo 43147/head
krunerge [Mon, 13 Sep 2021 11:12:36 +0000 (19:12 +0800)]
doc/dev/crimson/poseidonstore: fix typo

Signed-off-by: krunerge <krunerge@tencent.com>
3 years agoMerge pull request #42555 from hualongfeng/retire_error_change
Ilya Dryomov [Mon, 13 Sep 2021 10:04:34 +0000 (12:04 +0200)]
Merge pull request #42555 from hualongfeng/retire_error_change

librbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #43038 from majianpeng/librbd-pwl-exclusive-lock
Ilya Dryomov [Mon, 13 Sep 2021 09:44:09 +0000 (11:44 +0200)]
Merge pull request #43038 from majianpeng/librbd-pwl-exclusive-lock

librbd: require exclusive lock for reads if pwl cache is enabled

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry 42555/head
Feng Hualong [Wed, 28 Jul 2021 03:42:44 +0000 (11:42 +0800)]
librbd/cache/pwl/ssd: remove correct m_blocks_to_log_entries entry

When retiring, m_blocks_to_log_entries doesn't remove
corresponding write_entry (should be `*it` not `entry`)
that will be retired. It leads to read error. And
there should also consider discard entries.

Fixes: https://tracker.ceph.com/issues/52579
Signed-off-by: Feng Hualong <hualong.feng@intel.com>
3 years agoMerge pull request #43143 from sebastian-philipp/further-reading
Sebastian Wagner [Mon, 13 Sep 2021 07:39:16 +0000 (09:39 +0200)]
Merge pull request #43143 from sebastian-philipp/further-reading

doc/cephadm: Add lots of links to other chapters

Reviewed-by: Zac Dover <zac.dover@gmail.com>
3 years agoMerge pull request #41869 from ronen-fr/wip-ronenf-fmt-scrub
Ronen Friedman [Sun, 12 Sep 2021 13:32:44 +0000 (16:32 +0300)]
Merge pull request #41869 from ronen-fr/wip-ronenf-fmt-scrub

common, osd: add fmtlib formatting of some OSD types

Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #43056 from Matan-B/wip-matanb-scrub-passkey
Ronen Friedman [Sun, 12 Sep 2021 12:47:52 +0000 (15:47 +0300)]
Merge pull request #43056 from Matan-B/wip-matanb-scrub-passkey

osd: Replacing friend declarations for passkey interface

Reviewed-by: Ronen Friedman <rfriedma@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #42684 from ronen-fr/wip-ronenf-scrub-token
Ronen Friedman [Sun, 12 Sep 2021 12:40:22 +0000 (15:40 +0300)]
Merge pull request #42684 from ronen-fr/wip-ronenf-scrub-token

osd/scrub: tag replica scrub messages to identify stale events

Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agodoc/cephadm: Add lots of links to other chapters 43143/head
Sebastian Wagner [Sat, 11 Sep 2021 18:02:44 +0000 (20:02 +0200)]
doc/cephadm: Add lots of links to other chapters

Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
3 years agodoc/cephadm: Removing a service 43141/head
Sebastian Wagner [Sat, 11 Sep 2021 17:15:38 +0000 (19:15 +0200)]
doc/cephadm: Removing a service

Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoMerge pull request #43134 from ceph/debhelpermerged
Kefu Chai [Fri, 10 Sep 2021 23:42:01 +0000 (07:42 +0800)]
Merge pull request #43134 from ceph/debhelpermerged

debian/control: dh-systemd is part of debhelper now

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agodebian/control: dh-systemd is part of debhelper now 43134/head
David Galloway [Fri, 10 Sep 2021 13:55:56 +0000 (09:55 -0400)]
debian/control: dh-systemd is part of debhelper now

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=822670

Signed-off-by: David Galloway <dgallowa@redhat.com>
3 years agoqa/tasks/rook: add testing for host label add/rm 42998/head
Joseph Sawaya [Thu, 9 Sep 2021 19:49:52 +0000 (15:49 -0400)]
qa/tasks/rook: add testing for host label add/rm

This commit adds simple tests that check if the orchestrator
can add and remove labels from nodes.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
3 years agoMerge pull request #43104 from ceph/e2e-tests-documentation
Ernesto Puerta [Fri, 10 Sep 2021 12:32:18 +0000 (14:32 +0200)]
Merge pull request #43104 from ceph/e2e-tests-documentation

doc/dev: specify location of e2e-tests script

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
3 years agoMerge pull request #43053 from a16bitsysop/fsevents
Ernesto Puerta [Fri, 10 Sep 2021 12:25:31 +0000 (14:25 +0200)]
Merge pull request #43053 from a16bitsysop/fsevents

mgr/dashboard: use -f for npm ci to skip fsevents error

Reviewed-by: a16bitsysop <NOT@FOUND>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
3 years agoMerge pull request #42984 from majianpeng/pwl-ssd-race-bug
Ilya Dryomov [Fri, 10 Sep 2021 09:36:45 +0000 (11:36 +0200)]
Merge pull request #42984 from majianpeng/pwl-ssd-race-bug

librbd/cache/pwl/ssd: fix a race between get_cache_bl() and remove_cache_bl()

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #42883 from majianpeng/pwl-ssd-calc-allocated-bug
Ilya Dryomov [Fri, 10 Sep 2021 07:41:18 +0000 (09:41 +0200)]
Merge pull request #42883 from majianpeng/pwl-ssd-calc-allocated-bug

librbd/cache/pwl: fix m_bytes_{allocated,cached} calculation on reopen

Reviewed-by: Yin Congmin <congmin.yin@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #43124 from xxhdx1985126/wip-om-log-fix
Samuel Just [Fri, 10 Sep 2021 04:53:55 +0000 (21:53 -0700)]
Merge pull request #43124 from xxhdx1985126/wip-om-log-fix

crimson/os/seastore: fix some debug outputs in omap manager

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
3 years agocrimson/os/seastore: fix some debug outputs in omap manager 43124/head
Xuehan Xu [Fri, 10 Sep 2021 02:33:40 +0000 (10:33 +0800)]
crimson/os/seastore: fix some debug outputs in omap manager

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoMerge pull request #43108 from xxhdx1985126/wip-epm-roll-leak
Samuel Just [Thu, 9 Sep 2021 20:40:34 +0000 (13:40 -0700)]
Merge pull request #43108 from xxhdx1985126/wip-epm-roll-leak

crimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43118 from rzarzynski/wip-crimson-assert-v2-on-bind
Samuel Just [Thu, 9 Sep 2021 20:13:48 +0000 (13:13 -0700)]
Merge pull request #43118 from rzarzynski/wip-crimson-assert-v2-on-bind

crimson/net: assert the address is v2 on attempt to bind.

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agomgr/rook: host add/rm label in rook orchestrator
Joseph Sawaya [Tue, 31 Aug 2021 16:14:06 +0000 (12:14 -0400)]
mgr/rook: host add/rm label in rook orchestrator

This commit adds the functionality for adding/removing labels
to hosts using the rook orchestrator and orch host label add/rm.
The labels are added to the kubernetes node object as kubernetes
labels prefixed by "ceph-label/".

This commit also changes ceph orch host ls to display only the ceph
labels.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
3 years agodoc/dev: specify location of e2e-tests script 43104/head
Laura Flores [Wed, 8 Sep 2021 21:22:45 +0000 (16:22 -0500)]
doc/dev: specify location of e2e-tests script

I was just going through these steps myself, and I found it difficult to locate and run `run-frontend-e2e-tests.sh`. Specifying the location of it might make it clearer to others where the correct script is located.

Signed-off-by: Laura Flores <lflores@redhat.com>
3 years agoMerge pull request #42912 from dsavineau/ceph_volume_lvm_active_no_systemd
Guillaume Abrioux [Thu, 9 Sep 2021 17:16:51 +0000 (19:16 +0200)]
Merge pull request #42912 from dsavineau/ceph_volume_lvm_active_no_systemd

ceph-volume: fix lvm activate --all --no-systemd

3 years agoMerge pull request #43013 from rzarzynski/wip-msg-const-features_supported
Yuri Weinstein [Thu, 9 Sep 2021 17:11:08 +0000 (10:11 -0700)]
Merge pull request #43013 from rzarzynski/wip-msg-const-features_supported

msg: make Policy::features_supported static and constant.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agoMerge pull request #42853 from sseshasa/wip-fix-vstart-mon-permissions
Yuri Weinstein [Thu, 9 Sep 2021 17:10:06 +0000 (10:10 -0700)]
Merge pull request #42853 from sseshasa/wip-fix-vstart-mon-permissions

mon/MonCap: Update osd profile to allow cmd to set iops capacity on mon db

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agocrimson/net: assert the address is v2 on attempt to bind. 43118/head
Radoslaw Zarzynski [Thu, 9 Sep 2021 14:42:04 +0000 (14:42 +0000)]
crimson/net: assert the address is v2 on attempt to bind.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #43014 from dsavineau/ceph_volume_lvm_active_id_fsid_mandatory
Guillaume Abrioux [Thu, 9 Sep 2021 14:13:26 +0000 (16:13 +0200)]
Merge pull request #43014 from dsavineau/ceph_volume_lvm_active_id_fsid_mandatory

ceph-volume: fix lvm activate arguments

3 years agoMerge pull request #43079 from petrutlucian94/hv_addr_doc
Ilya Dryomov [Thu, 9 Sep 2021 14:12:15 +0000 (16:12 +0200)]
Merge pull request #43079 from petrutlucian94/hv_addr_doc

doc/rbd: describe Hyper-V disk addressing limitations

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #43086 from idryomov/wip-rbd-validate-pool-async
Ilya Dryomov [Thu, 9 Sep 2021 13:22:43 +0000 (15:22 +0200)]
Merge pull request #43086 from idryomov/wip-rbd-validate-pool-async

librbd: fix pool validation lockup

Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
Reviewed-by: Mykola Golub <mgolub@suse.com>
3 years agoMerge pull request #43107 from SUSE/wip-fix-52553
Mykola Golub [Thu, 9 Sep 2021 10:10:44 +0000 (13:10 +0300)]
Merge pull request #43107 from SUSE/wip-fix-52553

pybind/rados: don't close watch in dealloc if already closed

Reviewed-by: Mykola Golub <mgolub@suse.com>
3 years agoMerge pull request #43042 from dsavineau/ceph_volume_lvm_migrate_args
Guillaume Abrioux [Thu, 9 Sep 2021 08:42:26 +0000 (10:42 +0200)]
Merge pull request #43042 from dsavineau/ceph_volume_lvm_migrate_args

ceph-volume: fix lvm migrate without args

3 years agocrimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted 43108/head
Xuehan Xu [Thu, 9 Sep 2021 08:18:32 +0000 (16:18 +0800)]
crimson/os/seastore: fix epm rolling_segment leak when the transaction is interrupted

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: better epm output
Xuehan Xu [Fri, 3 Sep 2021 15:19:28 +0000 (23:19 +0800)]
crimson/os/seastore: better epm output

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoosd: Replacing friend declerations for passkey interface 43056/head
Matan Breizman [Wed, 1 Sep 2021 16:18:40 +0000 (16:18 +0000)]
osd: Replacing friend declerations for passkey interface

removing friend decleration from PrimaryLogScrub and ReplicaReservations

Signed-off-by: Matan Breizman <Matan.Brz@gmail.com>
3 years agopybind/rados: don't close watch in dealloc if already closed 43107/head
Tim Serong [Thu, 9 Sep 2021 07:08:24 +0000 (17:08 +1000)]
pybind/rados: don't close watch in dealloc if already closed

Fixes: https://tracker.ceph.com/issues/52553
Signed-off-by: Tim Serong <tserong@suse.com>
3 years agoMerge pull request #41803 from xxhdx1985126/wip-extent-placement-manager-2
Samuel Just [Thu, 9 Sep 2021 02:08:26 +0000 (19:08 -0700)]
Merge pull request #41803 from xxhdx1985126/wip-extent-placement-manager-2

crimson/os/seastore: add extent placement manager

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43105 from liu-chunmei/clean-alien-in-store-nbd
Samuel Just [Thu, 9 Sep 2021 01:18:46 +0000 (18:18 -0700)]
Merge pull request #43105 from liu-chunmei/clean-alien-in-store-nbd

crimson/tools: clean alien in store-nbd

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/tools: clean alien in store-nbd 43105/head
chunmei-liu [Wed, 8 Sep 2021 23:22:02 +0000 (16:22 -0700)]
crimson/tools: clean alien in store-nbd

Signed-off-by: chunmei-liu <chunmei.liu@intel.com>
3 years agoMerge pull request #42604 from sseshasa/wip-skip-osd-benchmark
Neha Ojha [Wed, 8 Sep 2021 18:03:09 +0000 (11:03 -0700)]
Merge pull request #42604 from sseshasa/wip-skip-osd-benchmark

osd: Add config option to skip running the osd benchmark during init and update documentation.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #43052 from dsavineau/ceph_volume_lvm_deactive_remove_all_arg
Guillaume Abrioux [Wed, 8 Sep 2021 15:35:33 +0000 (17:35 +0200)]
Merge pull request #43052 from dsavineau/ceph_volume_lvm_deactive_remove_all_arg

ceph-volume: remove --all ref from deactivate help

3 years agoMerge pull request #43045 from sebastian-philipp/qa-tox-import-yaml
Sebastian Wagner [Wed, 8 Sep 2021 15:10:13 +0000 (17:10 +0200)]
Merge pull request #43045 from sebastian-philipp/qa-tox-import-yaml

qa: tox.ini: verify yaml syntax

Reviewed-by: Sage Weil <sage@newdream.net>
3 years agoceph-volume: fix lvm migrate without args 43042/head
Dimitri Savineau [Fri, 3 Sep 2021 14:45:18 +0000 (10:45 -0400)]
ceph-volume: fix lvm migrate without args

When running the `lvm migrate` subcommand without any args then the
ceph-volume command fails with a stack trace.

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/ceph_volume/decorators.py", line 59, in newfunc
    return f(*a, **kw)
  File "/usr/lib/python3.6/site-packages/ceph_volume/main.py", line 151, in main
    terminal.dispatch(self.mapper, subcommand_args)
  File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
    instance.main()
  File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/main.py", line 46, in main
    terminal.dispatch(self.mapper, self.argv)
  File "/usr/lib/python3.6/site-packages/ceph_volume/terminal.py", line 194, in dispatch
    instance.main()
  File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/migrate.py", line 520, in main
    self.migrate_osd()
  File "/usr/lib/python3.6/site-packages/ceph_volume/decorators.py", line 16, in is_root
    return func(*a, **kw)
  File "/usr/lib/python3.6/site-packages/ceph_volume/devices/lvm/migrate.py", line 403, in migrate_osd
    if self.args.osd_id:
AttributeError: 'Migrate' object has no attribute 'args'

That's because we're exiting the parse_argv function but we continue to
execute the migrate_osd function. We should instead exit from the main function.

This update the parsing argument to have the same code than new-db and
new-wal classes.
Now the parsing is done in the make_parser function but the argv testing is
done in the main function allowing to exit the program and displaying the
help message when no arguments are provided.

Fixes: https://tracker.ceph.com/issues/51811
Signed-off-by: Dimitri Savineau <dsavinea@redhat.com>
3 years agoMerge pull request #42859 from mgfritch/cephadm-check-host-no-engine
Sebastian Wagner [Wed, 8 Sep 2021 13:40:03 +0000 (15:40 +0200)]
Merge pull request #42859 from mgfritch/cephadm-check-host-no-engine

mgr/cephadm: show unhandled exceptions during host add

Reviewed-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #42989 from sebastian-philipp/post-remove-osd-key-missing
Sebastian Wagner [Wed, 8 Sep 2021 13:39:38 +0000 (15:39 +0200)]
Merge pull request #42989 from sebastian-philipp/post-remove-osd-key-missing

mgr/cephadm: Add OSDService.post_remove()

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Sage Weil <sage@newdream.net>
3 years agoMerge pull request #43010 from mgfritch/cephadm-log-thread-ident
Sebastian Wagner [Wed, 8 Sep 2021 13:39:07 +0000 (15:39 +0200)]
Merge pull request #43010 from mgfritch/cephadm-log-thread-ident

cephadm: add thread ident to log messages

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoMerge pull request #43048 from dsavineau/ceph_volume_lvm_migrate_no_systemd
Guillaume Abrioux [Wed, 8 Sep 2021 11:34:41 +0000 (13:34 +0200)]
Merge pull request #43048 from dsavineau/ceph_volume_lvm_migrate_no_systemd

ceph-volume: support no_systemd with lvm migrate

3 years agoMerge pull request #43051 from dsavineau/ceph_volume_lvm_migrate_docs
Guillaume Abrioux [Wed, 8 Sep 2021 11:27:04 +0000 (13:27 +0200)]
Merge pull request #43051 from dsavineau/ceph_volume_lvm_migrate_docs

doc/ceph-volume: add lvm migrate/new-db/new-wal

3 years agoMerge pull request #43050 from dsavineau/fix_raw_list_with_lsblk
Guillaume Abrioux [Wed, 8 Sep 2021 11:12:29 +0000 (13:12 +0200)]
Merge pull request #43050 from dsavineau/fix_raw_list_with_lsblk

ceph-volume: fix raw list with logical partition

3 years agolibrbd: drop ValidatePoolRequest::m_op_work_queue 43086/head
Ilya Dryomov [Sat, 4 Sep 2021 11:49:09 +0000 (13:49 +0200)]
librbd: drop ValidatePoolRequest::m_op_work_queue

It is unused now.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agolibrbd: fix pool validation lockup
Ilya Dryomov [Sat, 4 Sep 2021 10:59:07 +0000 (12:59 +0200)]
librbd: fix pool validation lockup

Concurrent rbd_pool_init() or rbd_create() operations on an unvalidated
(uninitialized) pool trigger a lockup in ValidatePoolRequest state
machine caused by blocking selfmanaged_snap_{create,remove}() calls.
There are two reactor threads by default (librados_thread_count) but we
effectively need N + 1 reactor threads for N concurrent pool validation
requests, especially for small N.

Switch to aio_selfmanaged_snap_{create,remove}().  At the time this
code was initially written, these aio variants weren't available.  The
workqueue offload introduced later worked prior to the move to asio in
pacific.

Fixes: https://tracker.ceph.com/issues/52537
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #43006 from CongMinYin/fix-assert-in-handle_flushed_sync_point
Ilya Dryomov [Wed, 8 Sep 2021 09:15:18 +0000 (11:15 +0200)]
Merge pull request #43006 from CongMinYin/fix-assert-in-handle_flushed_sync_point

librbd/cache/pwl: don't clear next_sync_point_entry prematurely

Reviewed-by: Jianpeng Ma <jianpeng.ma@intel.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agoMerge pull request #43074 from wangshuaich/rbd-children-crash-fix
Ilya Dryomov [Wed, 8 Sep 2021 08:50:20 +0000 (10:50 +0200)]
Merge pull request #43074 from wangshuaich/rbd-children-crash-fix

librbd: fix use-after-free on ictx in list_descendants()

Reviewed-by: Mykola Golub <mgolub@suse.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agodoc/rbd: describe Hyper-V disk addressing limitations 43079/head
Lucian Petrut [Tue, 7 Sep 2021 14:42:39 +0000 (14:42 +0000)]
doc/rbd: describe Hyper-V disk addressing limitations

Hyper-V identifies passthrough VM disks by number instead of SCSI ID, although
the disk number can change across host reboots. This means that the VMs can end
up using incorrect disks after rebooting the host, which is an important
security concern. This issue also affects iSCSI and Fibre Channel disks.

We're going to document this Hyper-V limitation along with possible
workarounds.

Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
3 years agocrimson/os/seastore: better debug outputs 41803/head
Xuehan Xu [Fri, 3 Sep 2021 15:19:28 +0000 (23:19 +0800)]
crimson/os/seastore: better debug outputs

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: allow getting empty delta from omap extents
Xuehan Xu [Fri, 3 Sep 2021 15:17:12 +0000 (23:17 +0800)]
crimson/os/seastore: allow getting empty delta from omap extents

there are chances that a transaction gets invalidated after some of
its extents have their delta prepared.

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: add ExtentIndex::clear_and_dispose
Xuehan Xu [Tue, 31 Aug 2021 03:26:31 +0000 (11:26 +0800)]
crimson/os/seastore: add ExtentIndex::clear_and_dispose

When a transaction is interrupted and needs to repeat, its reset_preserve_handle() method
is called to clear various extent set and list. The problem is the clear operation call
ExtentIndex::clear() instead of ExtentIndex::erase(), which would leave CachedExtent::parent_index
still pointing to the write_set/delayed_set while the CachedExtent is no longer linked to
those sets. This would make CachedExtent::~CachedExtent() to try to erase itself from
CachedExtent::parent_index even it's not linked, which would cause failures in the successive
operations

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/store_nbd: involve the extent placement manager and the scanner
Xuehan Xu [Tue, 10 Aug 2021 04:47:12 +0000 (12:47 +0800)]
crimson/store_nbd: involve the extent placement manager and the scanner

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: make fresh extents go though the extent placement manager
Xuehan Xu [Tue, 27 Jul 2021 15:00:56 +0000 (23:00 +0800)]
crimson/os/seastore: make fresh extents go though the extent placement manager

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: deal with transaction conflicts when doing mkfs
Xuehan Xu [Fri, 13 Aug 2021 13:57:48 +0000 (21:57 +0800)]
crimson/os/seastore: deal with transaction conflicts when doing mkfs

Cleaner transactions can conflict with mkfs transactions, retry mkfs transactions
when that happens

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: set journal_tail_target during replay
Xuehan Xu [Fri, 13 Aug 2021 13:57:27 +0000 (21:57 +0800)]
crimson/os/seastore: set journal_tail_target during replay

This is a bug fix, otherwise if crimson-osd boot up multiple times without
filling up more than one segment, segments may be used up and can't be
reclaimed as they would have the same journal tail

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: set root block to clean at the initialization phase
Xuehan Xu [Fri, 13 Aug 2021 13:51:10 +0000 (21:51 +0800)]
crimson/os/seastore: set root block to clean at the initialization phase

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: exclude ool extents from the judgement is_in_journal
Xuehan Xu [Tue, 27 Jul 2021 13:00:31 +0000 (21:00 +0800)]
crimson/os/seastore: exclude ool extents from the judgement is_in_journal

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: use extent placement manager to rewrite extents
Xuehan Xu [Sun, 25 Jul 2021 12:25:48 +0000 (20:25 +0800)]
crimson/os/seastore: use extent placement manager to rewrite extents

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: refactor extent rewrite procedure
Xuehan Xu [Fri, 23 Jul 2021 12:39:49 +0000 (20:39 +0800)]
crimson/os/seastore: refactor extent rewrite procedure

Move logical extents' rewrite from LBManager to TransactionManager

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson: add tracing mode for crimson-osd
Xuehan Xu [Mon, 14 Jun 2021 11:49:14 +0000 (19:49 +0800)]
crimson: add tracing mode for crimson-osd

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: add Scanner to scan extents
Xuehan Xu [Mon, 19 Jul 2021 07:38:12 +0000 (15:38 +0800)]
crimson/os/seastore: add Scanner to scan extents

As there will be two kinds of segments to be scanned, those created by the journal
and those created by the extent placement manager. We need a common module to scan
extents of both of these two kinds of segments

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: add extent placement manager
Xuehan Xu [Thu, 10 Jun 2021 06:21:39 +0000 (14:21 +0800)]
crimson/os/seastore: add extent placement manager

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>