]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
3 years agomgr/rook: implement `orch device zap` in rook orchestrator 43138/head
Joseph Sawaya [Thu, 9 Sep 2021 19:14:29 +0000 (15:14 -0400)]
mgr/rook: implement `orch device zap` in rook orchestrator

This commit implements orch device zap by creating a pod on the target
host that mounts the /dev directory and runs either overwrites the first
few blocks of the device with zeros if it's a raw device or if it's not
a raw device it will use `ceph-volume lvm zap`.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
3 years agoMerge pull request #43538 from rzarzynski/wip-crimson-net-actual-bind-failure
Kefu Chai [Thu, 14 Oct 2021 14:00:27 +0000 (22:00 +0800)]
Merge pull request #43538 from rzarzynski/wip-crimson-net-actual-bind-failure

crimson/osd: print the actual reason on bind failure.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #42557 from ceph/feature-50336-cluster-creation-wizard
Ernesto Puerta [Thu, 14 Oct 2021 13:12:42 +0000 (15:12 +0200)]
Merge pull request #42557 from ceph/feature-50336-cluster-creation-wizard

mgr/dashboard: Cluster Creation/Expansion Wizard

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: sebastian-philipp <NOT@FOUND>
Reviewed-by: Volker Theile <vtheile@suse.com>
3 years agoMerge pull request #43453 from rhcs-dashboard/e2e-host-fix-teuth
Ernesto Puerta [Thu, 14 Oct 2021 11:26:44 +0000 (13:26 +0200)]
Merge pull request #43453 from rhcs-dashboard/e2e-host-fix-teuth

mgr/dashboard: Fix orchestrator/01-hosts.e2e-spec.ts failure

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/osd: print the actual reason on bind failure. 43538/head
Radoslaw Zarzynski [Wed, 13 Oct 2021 12:21:04 +0000 (12:21 +0000)]
crimson/osd: print the actual reason on bind failure.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agoMerge pull request #43308 from TRYTOBE8TME/wip-rgw-post-object-upload
Yuval Lifshitz [Thu, 14 Oct 2021 07:41:15 +0000 (10:41 +0300)]
Merge pull request #43308 from TRYTOBE8TME/wip-rgw-post-object-upload

src/rgw: HTTP POST object upload

3 years agoMerge pull request #43526 from adk3798/disable-agent-default
adk3798 [Wed, 13 Oct 2021 21:45:42 +0000 (17:45 -0400)]
Merge pull request #43526 from adk3798/disable-agent-default

mgr/cephadm: disable agent by default

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge PR #43049 into master
Sage Weil [Wed, 13 Oct 2021 21:08:20 +0000 (17:08 -0400)]
Merge PR #43049 into master

* refs/pull/43049/head:
mgr/rook: apply mds using placement spec and osd_pool_default_size
mgr/rook: factor out replica/failureDomain calc

Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
3 years agomgr/cephadm: disable agent by default 43526/head
Adam King [Wed, 13 Oct 2021 16:33:47 +0000 (12:33 -0400)]
mgr/cephadm: disable agent by default

to avoid issues while it is stabilized

Signed-off-by: Adam King <adking@redhat.com>
3 years agoMerge pull request #43490 from Daniel-Pivonka/cephadm-doc-adopt-sshuser
Sebastian Wagner [Wed, 13 Oct 2021 16:11:36 +0000 (18:11 +0200)]
Merge pull request #43490 from Daniel-Pivonka/cephadm-doc-adopt-sshuser

doc/cephadm: document setting ssh-user during adopt

Reviewed-by: Adam King <adking@redhat.com>
3 years agodoc/cephadm: document setting ssh-user during adopt 43490/head
Daniel Pivonka [Mon, 11 Oct 2021 21:15:35 +0000 (17:15 -0400)]
doc/cephadm: document setting ssh-user during adopt

Signed-off-by: Daniel Pivonka <dpivonka@redhat.com>
3 years agoMerge pull request #43377 from rhcs-dashboard/fix-clients-connection-query
Ernesto Puerta [Wed, 13 Oct 2021 11:37:51 +0000 (13:37 +0200)]
Merge pull request #43377 from rhcs-dashboard/fix-clients-connection-query

 mgr/dashboard: replace "Ceph-cluster" Client connections with active-standby MGRs

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
Reviewed-by: neha-ojha <NOT@FOUND>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agomgr/dashboard: Cluster expansion e2e cleanups 42557/head
Nizamudeen A [Fri, 17 Sep 2021 13:13:01 +0000 (18:43 +0530)]
mgr/dashboard: Cluster expansion e2e cleanups

Fixes: https://tracker.ceph.com/issues/52645
Signed-off-by: Nizamudeen A <nia@redhat.com>
3 years agomgr/dashboard: introduce gather facts in host list
Avan Thakkar [Tue, 3 Aug 2021 09:01:57 +0000 (14:31 +0530)]
mgr/dashboard: introduce gather facts in host list

Fixes: https://tracker.ceph.com/issues/52017
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
3 years agomgr/dashboard: Cluster Creation Add Services Section
Aashish Sharma [Tue, 7 Sep 2021 06:30:45 +0000 (12:00 +0530)]
mgr/dashboard: Cluster Creation Add Services Section

Add Services section in cluster creation wizard
Create Cluster OSD Section Followups

1. The device preview disappearing when going to next step and coming back to the previous step
2. Even when clearing the device preview, the Storage Capacity count and the drive group spec doesn't get cleared.
3. Expanding the cluster without selecting any devices gives a 400
   error.
4. Renamed "Delete Host" to "Remove Host"
5. Generalizing most of the sub component code

Fixes: https://tracker.ceph.com/issues/52499
Fixes: https://tracker.ceph.com/issues/51991
Signed-off-by: Nizamudeen A <nia@redhat.com>
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
3 years agomgr/dashboard: Cluster Creation Create OSDs Section
Nizamudeen A [Tue, 17 Aug 2021 13:34:31 +0000 (19:04 +0530)]
mgr/dashboard: Cluster Creation Create OSDs Section

Create OSDs section in cluster creation wizard

Fixes: https://tracker.ceph.com/issues/51991
Fixes: https://tracker.ceph.com/issues/52298
Signed-off-by: Nizamudeen A <nia@redhat.com>
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
3 years agomgr/dashboard: Review Section for the Create Cluster Workflow
Avan Thakkar [Fri, 9 Jul 2021 13:27:35 +0000 (18:57 +0530)]
mgr/dashboard: Review Section for the Create Cluster Workflow

Fixes: https://tracker.ceph.com/issues/50566
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
3 years agomgr/dashboard: Cluster Creation Add Host Section and e2es
Nizamudeen A [Sun, 4 Jul 2021 13:16:45 +0000 (18:46 +0530)]
mgr/dashboard: Cluster Creation Add Host Section and e2es

Add host section of the cluster creation workflow.

1. Fix bug in the modal where going forward one step on the wizard and coming back opens up the add host modal.
2. Rename Create Cluster to Expand Cluster as per the discussions
3. A skip confirmation modal to warn the user when he tries to skip the
   cluster creation
4. Adapted all the tests
5. Did some UI improvements like fixing and aligning the styles,
   colors..
- Used routed modal for host Additon form
- Renamed the Create to Add in Host Form

Fixes: https://tracker.ceph.com/issues/51517
Fixes: https://tracker.ceph.com/issues/51640
Fixes: https://tracker.ceph.com/issues/50336
Fixes: https://tracker.ceph.com/issues/50565
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
Signed-off-by: Nizamudeen A <nia@redhat.com>
3 years agomgr/dashboard: Create Cluster Workflow welcome screen and e2e tests
Avan Thakkar [Tue, 1 Jun 2021 12:55:15 +0000 (18:25 +0530)]
mgr/dashboard: Create Cluster Workflow welcome screen and e2e tests

A module option called CLUSTER_STATUS has two option. INSTALLED
AND POST_INSTALLED. When CLUSTER_STATUS is INSTALLED it will allow to show the
create-cluster-wizard after login the initial time.  After the cluster
creation is succesfull this option is set to POST_INSTALLED
Also has the e2e codes for the Review Section

Fixes: https://tracker.ceph.com/issues/50336
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Signed-off-by: Nizamudeen A <nia@redhat.com>
3 years agosrc/test: HTTP POST object upload 43308/head
Kalpesh Pandya [Wed, 22 Sep 2021 10:26:21 +0000 (15:56 +0530)]
src/test: HTTP POST object upload

This solves the tracker: https://tracker.ceph.com/issues/51724
Basically it is using 'generate_presigned_post()' boto3 API.
This is verified under AMQP endpoint.

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agoMerge pull request #43500 from rzarzynski/wip-crimson-interruptible-condalias
Samuel Just [Tue, 12 Oct 2021 21:39:38 +0000 (14:39 -0700)]
Merge pull request #43500 from rzarzynski/wip-crimson-interruptible-condalias

crimson: osd operations respect interruptor's InterruptCondition.

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43501 from rzarzynski/wip-crimson-parse-env
Samuel Just [Tue, 12 Oct 2021 21:38:47 +0000 (14:38 -0700)]
Merge pull request #43501 from rzarzynski/wip-crimson-parse-env

crimson: respect the CEPH_ARGS environment variable.

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43274 from pcuzner/add-mib
Sebastian Wagner [Tue, 12 Oct 2021 20:29:06 +0000 (22:29 +0200)]
Merge pull request #43274 from pcuzner/add-mib

monitoring:Adding the Ceph MIB

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoMerge pull request #43509 from ceph/revert-43462-wip-test-erasure-code-for-aarch64
Gregory Farnum [Tue, 12 Oct 2021 19:00:56 +0000 (12:00 -0700)]
Merge pull request #43509 from ceph/revert-43462-wip-test-erasure-code-for-aarch64

Revert "qa: support isal ec test for aarch64"

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
3 years agoRevert "qa: support isal ec test for aarch64" 43509/head
Zack Cerza [Tue, 12 Oct 2021 18:43:34 +0000 (12:43 -0600)]
Revert "qa: support isal ec test for aarch64"

This commit has been causing scheduled jobs to request e.g. aarch64
smithi machines, which don't exist. The dispatcher then tries to find them forever, requiring the dispatcher to be killed and restarted. The queue
will sit idle until someone notices the problem.

Signed-off-by: Zack Cerza <zack@redhat.com>
3 years agoMerge pull request #43492 from xxhdx1985126/wip-52894
Samuel Just [Tue, 12 Oct 2021 15:09:58 +0000 (08:09 -0700)]
Merge pull request #43492 from xxhdx1985126/wip-52894

crimson/os/seastore: set ExtentPlacementManager::allocated_to before rolling segments

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agomgr/dashboard: Fix orchestrator/01-hosts.e2e-spec.ts failure 43453/head
Nizamudeen A [Thu, 7 Oct 2021 15:36:29 +0000 (21:06 +0530)]
mgr/dashboard: Fix orchestrator/01-hosts.e2e-spec.ts failure

The test is failing on deleting a host because the agent daemon is
present in that host. Its not possible to simply delete a host. We need
to drain it first and then delete it.

Fixes: https://tracker.ceph.com/issues/52764
Signed-off-by: Nizamudeen A <nia@redhat.com>
3 years agocrimson: respect the CEPH_ARGS environment variable. 43501/head
Radoslaw Zarzynski [Tue, 12 Oct 2021 11:25:20 +0000 (11:25 +0000)]
crimson: respect the CEPH_ARGS environment variable.

Rook uses `CEPH_ARGS` to convey the `mon_host` configurable. Lack of
support for it was the root cause of inability to reach out to monitors.

See: https://gist.github.com/rzarzynski/95746aa73a48e811749a3b0aaeb31680#gistcomment-3924233.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocrimson/osd: rectify a coding style issue in PglogBasedRecovery::do_recovery(). 43500/head
Radoslaw Zarzynski [Tue, 12 Oct 2021 11:23:45 +0000 (11:23 +0000)]
crimson/osd: rectify a coding style issue in PglogBasedRecovery::do_recovery().

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocrimson: osd operations respect interruptor's InterruptCondition.
Radoslaw Zarzynski [Tue, 12 Oct 2021 09:38:23 +0000 (09:38 +0000)]
crimson: osd operations respect interruptor's InterruptCondition.

For the sake of DRY.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
3 years agocephadm: expose gather-facts api method
Avan Thakkar [Fri, 11 Jun 2021 11:07:10 +0000 (16:37 +0530)]
cephadm: expose gather-facts api method

Fixes: https://tracker.ceph.com/issues/51209
This PR intends to expose host metadata(gather-facts) api method

Signed-off-by: Avan Thakkar <athakkar@redhat.com>
Signed-off-by: Aashish Sharma <aasharma@redhat.com>
3 years agoMerge pull request #42052 from TRYTOBE8TME/wip-rgw-dpp-3
Ali Maredia [Tue, 12 Oct 2021 05:31:00 +0000 (01:31 -0400)]
Merge pull request #42052 from TRYTOBE8TME/wip-rgw-dpp-3

rgw: DPP addition 4

Reviewed-by: Ali Maredia <amaredia@redhat.com>
3 years agoMerge pull request #43181 from xxhdx1985126/wip-extent-placement-manager-multi-device-3
Samuel Just [Tue, 12 Oct 2021 05:17:52 +0000 (22:17 -0700)]
Merge pull request #43181 from xxhdx1985126/wip-extent-placement-manager-multi-device-3

crimson/os/seastore: add multi-device support

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore: set ExtentPlacementManager::allocated_to before rolling segments 43492/head
Xuehan Xu [Tue, 12 Oct 2021 01:55:21 +0000 (09:55 +0800)]
crimson/os/seastore: set ExtentPlacementManager::allocated_to before rolling segments

There are circumstances in which a transaction that are supposed to roll the current segment
is invalidated after it finished writing and before it rolls the segment. If we don't set
ExtentPlacementManager::allocated_to in this situation, another transaction can try to write
to the old "allocated_to" position, which would cause an invalid write error

Fixes: https://tracker.ceph.com/issues/52894
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoMerge pull request #43449 from rzarzynski/wip-crimson-interruptible-peeringevent
Samuel Just [Tue, 12 Oct 2021 01:28:42 +0000 (18:28 -0700)]
Merge pull request #43449 from rzarzynski/wip-crimson-interruptible-peeringevent

crimson/osd: implement interruptions in PeeringEvent.

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agoMerge pull request #43483 from cyx1231st/wip-seastore-record-header-fullness
Samuel Just [Tue, 12 Oct 2021 01:25:35 +0000 (18:25 -0700)]
Merge pull request #43483 from cyx1231st/wip-seastore-record-header-fullness

crimson/os/seastore: measure inline/ool record header fullness

Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agomgr/rook: apply mds using placement spec and osd_pool_default_size 43049/head
Joseph Sawaya [Fri, 3 Sep 2021 17:30:43 +0000 (13:30 -0400)]
mgr/rook: apply mds using placement spec and osd_pool_default_size

This commit changes the apply_mds command in the rook orchestrator
to support some placement specs and also sets the replica size according
to the osd_pool_default_size ceph option.

This commit also adds `orch apply mds` to the QA to test if the command
runs.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
3 years agomgr/rook: factor out replica/failureDomain calc
Sage Weil [Mon, 11 Oct 2021 16:57:40 +0000 (11:57 -0500)]
mgr/rook: factor out replica/failureDomain calc

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoMerge pull request #43471 from liewegas/fix-rook-1-node 43400/head
Sebastian Wagner [Mon, 11 Oct 2021 16:47:35 +0000 (18:47 +0200)]
Merge pull request #43471 from liewegas/fix-rook-1-node

qa/suites/orch/rook: replicate across osds for 1-node clusters

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agomgr/dashboard: replace Client connections with active-stdby mgrs 43377/head
Avan Thakkar [Thu, 30 Sep 2021 22:26:42 +0000 (03:56 +0530)]
mgr/dashboard: replace Client connections with active-stdby mgrs

Fixes: https://tracker.ceph.com/issues/52121
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
3 years agoMerge pull request #43376 from Daniel-Pivonka/cephadm-apply-health
Sebastian Wagner [Mon, 11 Oct 2021 14:45:58 +0000 (16:45 +0200)]
Merge pull request #43376 from Daniel-Pivonka/cephadm-apply-health

mgr/cephadm: set HEALTH warnings during apply phase in serve

Reviewed-by: Melissa Li <mingkli@redhat.com>
3 years agoMerge pull request #43455 from liewegas/qa-nvme-loop
Sebastian Wagner [Mon, 11 Oct 2021 14:43:10 +0000 (16:43 +0200)]
Merge pull request #43455 from liewegas/qa-nvme-loop

qa: use nvme_loop devices for (some) cephadm tests

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agoMerge pull request #43450 from guits/fix_selinux_apply_spec
Sebastian Wagner [Mon, 11 Oct 2021 14:40:39 +0000 (16:40 +0200)]
Merge pull request #43450 from guits/fix_selinux_apply_spec

cephadm: shell --mount shouldnt enforce ':z' option

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge pull request #43458 from mgfritch/cephadm-scp
Sebastian Wagner [Mon, 11 Oct 2021 14:38:35 +0000 (16:38 +0200)]
Merge pull request #43458 from mgfritch/cephadm-scp

mgr/cephadm: use `asyncssh.scp` to write remote files

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
3 years agomgr/rook: specify failureDomain on CephObjectStore CR 43471/head
Sage Weil [Fri, 8 Oct 2021 17:28:31 +0000 (12:28 -0500)]
mgr/rook: specify failureDomain on CephObjectStore CR

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoMerge pull request #43473 from rhcs-dashboard/wip-pr_deps-master
Ernesto Puerta [Mon, 11 Oct 2021 12:52:02 +0000 (14:52 +0200)]
Merge pull request #43473 from rhcs-dashboard/wip-pr_deps-master

.github: check if PR deps are merged/closed

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years agoMerge pull request #43485 from rhcs-dashboard/fix-pr_triage-master
Ernesto Puerta [Mon, 11 Oct 2021 12:45:45 +0000 (14:45 +0200)]
Merge pull request #43485 from rhcs-dashboard/fix-pr_triage-master

.github/pr-triage: rename GH token

Reviewed-by: Nizamudeen A <nia@redhat.com>
3 years ago.github/pr-triage: rename GH token 43485/head
Ernesto Puerta [Mon, 11 Oct 2021 11:05:34 +0000 (13:05 +0200)]
.github/pr-triage: rename GH token

Repo projects use GITHUB_TOKEN instead of MY_GITHUB_TOKEN:
https://github.com/srggrs/assign-one-project-github-action/blob/master/entrypoint.sh#L19

Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
3 years agosrc/rgw: New commit to fix make check 42052/head
Kalpesh Pandya [Thu, 9 Sep 2021 02:41:34 +0000 (08:11 +0530)]
src/rgw: New commit to fix make check

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agosrc/rgw: DPP addition to rgw_kms.cc
Kalpesh Pandya [Mon, 21 Jun 2021 10:17:09 +0000 (15:47 +0530)]
src/rgw: DPP addition to rgw_kms.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agosrc/rgw: DPP addition to rgw_keystone.cc
Kalpesh Pandya [Mon, 21 Jun 2021 08:20:25 +0000 (13:50 +0530)]
src/rgw: DPP addition to rgw_keystone.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agosrc/rgw: DPP addition to rgw_sts.cc
Kalpesh Pandya [Sun, 20 Jun 2021 20:41:25 +0000 (02:11 +0530)]
src/rgw: DPP addition to rgw_sts.cc

Signed-off-by: Kalpesh Pandya <kapandya@redhat.com>
3 years agoMerge pull request #43472 from rhcs-dashboard/wip-gh_action_project_dashboard-master
Ernesto Puerta [Mon, 11 Oct 2021 09:06:39 +0000 (11:06 +0200)]
Merge pull request #43472 from rhcs-dashboard/wip-gh_action_project_dashboard-master

.github: add dashboard PRs to Dashboard project

Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
3 years agocrimson/os/seastore: measure inline/ool record header fullness 43483/head
Yingxin Cheng [Mon, 11 Oct 2021 08:11:22 +0000 (16:11 +0800)]
crimson/os/seastore: measure inline/ool record header fullness

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: cleanup record_size_t
Yingxin Cheng [Mon, 11 Oct 2021 08:10:22 +0000 (16:10 +0800)]
crimson/os/seastore: cleanup record_size_t

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: rename ool_write_stats_t::overhead_bytes
Yingxin Cheng [Mon, 11 Oct 2021 07:57:29 +0000 (15:57 +0800)]
crimson/os/seastore: rename ool_write_stats_t::overhead_bytes

To header_bytes to be more explicit.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agoMerge pull request #43182 from CongMinYin/fix-writesame-assert
Ilya Dryomov [Sun, 10 Oct 2021 15:33:51 +0000 (17:33 +0200)]
Merge pull request #43182 from CongMinYin/fix-writesame-assert

librbd/cache/pwl: initialize number_log_entries

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
3 years agocrimson/os/seastore/segment_cleaner: update segment_info_set_t to use segment_map_t 43181/head
Samuel Just [Wed, 6 Oct 2021 04:57:54 +0000 (21:57 -0700)]
crimson/os/seastore/segment_cleaner: update segment_info_set_t to use segment_map_t

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/segment_cleaner: rework SpaceTracker* to use a simpler segment...
Samuel Just [Fri, 8 Oct 2021 06:17:23 +0000 (23:17 -0700)]
crimson/os/seastore/segment_cleaner: rework SpaceTracker* to use a simpler segment map type

segment_info_set_t does extra things not relevant to these structures.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore: max_device -> DEVICE_ID_MAX, clarify users
Samuel Just [Wed, 6 Oct 2021 01:14:54 +0000 (18:14 -0700)]
crimson/os/seastore: max_device -> DEVICE_ID_MAX, clarify users

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/seastore_types.h: clarify segment_id_t visibility, constants
Samuel Just [Wed, 6 Oct 2021 00:39:27 +0000 (17:39 -0700)]
crimson/os/seastore/seastore_types.h: clarify segment_id_t visibility, constants

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/segment_cleaner: check for null in SpaceTrackerSimple constructor
Samuel Just [Fri, 8 Oct 2021 05:01:12 +0000 (22:01 -0700)]
crimson/os/seastore/segment_cleaner: check for null in SpaceTrackerSimple constructor

Since we're passing a sparse pointer vector, we need to check for null
in every user.

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/segment_cleaner.cc: adjust whitespace in init_segments()
Samuel Just [Thu, 7 Oct 2021 23:41:07 +0000 (16:41 -0700)]
crimson/os/seastore/segment_cleaner.cc: adjust whitespace in init_segments()

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore/segment_cleaner: remove unnecessary template declarations
Samuel Just [Fri, 8 Oct 2021 06:23:44 +0000 (23:23 -0700)]
crimson/os/seastore/segment_cleaner: remove unnecessary template declarations

Signed-off-by: Samuel Just <sjust@redhat.com>
3 years agocrimson/os/seastore: adjust segment cleaner's space counter calculation
Xuehan Xu [Mon, 13 Sep 2021 06:40:17 +0000 (14:40 +0800)]
crimson/os/seastore: adjust segment cleaner's space counter calculation

Until now, segment cleaner calculate available/used spaces assuming that only the journal
does all the writes, which is not true any more. This commit make segment cleaner track
all segment managers' empty/open segments and further calculate the various space usage
based on that information

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: multi-device support
Xuehan Xu [Wed, 25 Aug 2021 02:35:27 +0000 (10:35 +0800)]
crimson/os/seastore: multi-device support

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: enable SegmentCleaner to hold multiple segmented devices
Xuehan Xu [Thu, 23 Sep 2021 06:27:02 +0000 (14:27 +0800)]
crimson/os/seastore: enable SegmentCleaner to hold multiple segmented devices

For now, all segmented devices are treated the same as SEGMENTED. In the future,
there may be different kinds of segmeted devices, like SEGMENTED_NVME, SEGMENTED_SSD,
and even SEGMENTED_SATA. We plan to use a dedicated segment cleaner for each kind of
those devices, and if there are multiple devices of the same kind, they share the same
segment cleaner.

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: change Scanner to ExtentReader
Xuehan Xu [Thu, 23 Sep 2021 06:53:39 +0000 (14:53 +0800)]
crimson/os/seastore: change Scanner to ExtentReader

This commit makes Scanner an extent reader that route read requests to the corresponding
backing devices according to the device ids encapsulated in the segment ids.

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: make segment managers device-id aware
Xuehan Xu [Thu, 23 Sep 2021 06:30:06 +0000 (14:30 +0800)]
crimson/os/seastore: make segment managers device-id aware

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agocrimson/os/seastore: introduce device id into segment_id_t
Xuehan Xu [Thu, 23 Sep 2021 06:23:13 +0000 (14:23 +0800)]
crimson/os/seastore: introduce device id into segment_id_t

Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoMerge pull request #43166 from rzarzynski/wip-crimson-no-subproc
Kefu Chai [Sun, 10 Oct 2021 01:42:35 +0000 (09:42 +0800)]
Merge pull request #43166 from rzarzynski/wip-crimson-no-subproc

 crush, crimson: don't support crush_location_hook as crimson lacks SubProcess

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #43346 from hjwsm1989/fix-52765
Kefu Chai [Sun, 10 Oct 2021 01:42:03 +0000 (09:42 +0800)]
Merge pull request #43346 from hjwsm1989/fix-52765

tools/ceph-kvstore-tool: fix segfaults when repair the rocksdb

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #43452 from adk3798/agent-perf1
Kefu Chai [Sun, 10 Oct 2021 01:41:30 +0000 (09:41 +0800)]
Merge pull request #43452 from adk3798/agent-perf1

cephadm: agent: subtract average time of previous iterations off wait time

Reviewed-by: Michael Fritch <mfritch@suse.com>
3 years agoMerge pull request #43401 from romoh/master
Kefu Chai [Sun, 10 Oct 2021 01:38:22 +0000 (09:38 +0800)]
Merge pull request #43401 from romoh/master

src/cephadm: Add support for mariner

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
Reviewed-by: Varsha Rao <rvarsha016@gmail.com>
3 years agoMerge pull request #43443 from tchaikov/wip-elapsed-in-double
Kefu Chai [Sun, 10 Oct 2021 01:36:57 +0000 (09:36 +0800)]
Merge pull request #43443 from tchaikov/wip-elapsed-in-double

msg/async/ProtocolV2: cast usec to double when converting from nsec

Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Reviewed-by: dongdong tao <dongdong.tao@canonical.com>
3 years agoMerge pull request #43343 from trociny/wip-crushdiff-compat
Yuri Weinstein [Fri, 8 Oct 2021 22:22:49 +0000 (15:22 -0700)]
Merge pull request #43343 from trociny/wip-crushdiff-compat

tools/crushdiff: support old format json dump

Reviewed-by: Neha Ojha <nojha@redhat.com>
3 years agoMerge pull request #43324 from neha-ojha/wip-52640
Yuri Weinstein [Fri, 8 Oct 2021 22:21:47 +0000 (15:21 -0700)]
Merge pull request #43324 from neha-ojha/wip-52640

common/options/global.yaml.in: add runtime flag for mon_max_pg_per_osd

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
3 years agoMerge pull request #43232 from Rethan/feat-bluestore-fail-eio
Yuri Weinstein [Fri, 8 Oct 2021 22:21:08 +0000 (15:21 -0700)]
Merge pull request #43232 from Rethan/feat-bluestore-fail-eio

os/bluestore: add option for bluestore fail eio

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
3 years agoqa/tasks/nvme_loop: loop until 'nvme list' shows new devs 43455/head
Sage Weil [Fri, 8 Oct 2021 18:43:56 +0000 (13:43 -0500)]
qa/tasks/nvme_loop: loop until 'nvme list' shows new devs

Sometimes this doesn't happen immediately.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/suites/roch/cephadm/smoke: use nvme_loop
Sage Weil [Thu, 7 Oct 2021 15:12:43 +0000 (10:12 -0500)]
qa/suites/roch/cephadm/smoke: use nvme_loop

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/suites/orch/cephadm/smoke-roleless: no osd roles, use nvme loop
Sage Weil [Thu, 7 Oct 2021 15:11:57 +0000 (10:11 -0500)]
qa/suites/orch/cephadm/smoke-roleless: no osd roles, use nvme loop

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/overrides/nvme_loop: reusable fragment to use nvme_loop devs
Sage Weil [Thu, 7 Oct 2021 15:11:03 +0000 (10:11 -0500)]
qa/overrides/nvme_loop: reusable fragment to use nvme_loop devs

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/tasks/cephadm: wait for osds to start explicitly
Sage Weil [Tue, 5 Oct 2021 21:36:05 +0000 (16:36 -0500)]
qa/tasks/cephadm: wait for osds to start explicitly

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/tasks/cephadm: if no osd roles, --all-available-devices
Sage Weil [Tue, 5 Oct 2021 16:37:58 +0000 (11:37 -0500)]
qa/tasks/cephadm: if no osd roles, --all-available-devices

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoqa/tasks/nvme_loop: set up nvme_loop on scratch_devs
Sage Weil [Tue, 5 Oct 2021 16:06:09 +0000 (11:06 -0500)]
qa/tasks/nvme_loop: set up nvme_loop on scratch_devs

Using an nvme loop device makes the LVs look like "real" disks,
which means we can exercise all of the normal code paths for
provisioning, deprovisioning, and zapping.

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoMerge PR #43163 into master
Patrick Donnelly [Fri, 8 Oct 2021 18:38:35 +0000 (14:38 -0400)]
Merge PR #43163 into master

* refs/pull/43163/head:
qa: fsync dir for asynchronous creat on stray tests
qa: refactor and generalize create_n_files
qa: only set frag confs for workloads
mds: improve debugging for fragment size check

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
3 years ago.github: check if PR deps are merged/closed 43473/head
Ernesto Puerta [Fri, 8 Oct 2021 17:14:17 +0000 (19:14 +0200)]
.github: check if PR deps are merged/closed

If a PR description includes `blocked by <pr>` or `depends on <pr>`,
this check will fail until the referred PRs are either merged or closed.

If this check is made required, it'll also block the merge button.

The details of the supported syntax can be checked at:
https://github.com/marketplace/actions/pr-dependency-check

Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
3 years ago.github: add dashboard PRs to Dashboard project 43472/head
Ernesto Puerta [Fri, 8 Oct 2021 16:43:25 +0000 (18:43 +0200)]
.github: add dashboard PRs to Dashboard project

This action automatically adds PRs with 'dashboard' label to the
'Dashboard' project (https://github.com/ceph/ceph/projects/6).

Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
3 years agoqa/suites/orch/rook: replicate across osds for 1-node clusters
Sage Weil [Fri, 8 Oct 2021 16:00:48 +0000 (11:00 -0500)]
qa/suites/orch/rook: replicate across osds for 1-node clusters

Signed-off-by: Sage Weil <sage@newdream.net>
3 years agoMerge pull request #43462 from Zhiwei-Dai/wip-test-erasure-code-for-aarch64
Kefu Chai [Fri, 8 Oct 2021 15:24:13 +0000 (23:24 +0800)]
Merge pull request #43462 from Zhiwei-Dai/wip-test-erasure-code-for-aarch64

qa: support isal ec test for aarch64

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
3 years agoMerge pull request #43444 from idryomov/wip-read-from-replica-comment
Ilya Dryomov [Fri, 8 Oct 2021 11:43:27 +0000 (13:43 +0200)]
Merge pull request #43444 from idryomov/wip-read-from-replica-comment

librados,librbd: make it clear that replica reads are safe for general use

Reviewed-by: Samuel Just <sjust@redhat.com>
3 years agolibrbd/cache/pwl: initialize number_log_entries 43182/head
Yin Congmin [Thu, 16 Sep 2021 13:00:32 +0000 (13:00 +0000)]
librbd/cache/pwl: initialize number_log_entries

Using uninitialized number_log_entries cause writesame req space
calculation error. sometimes fail in TestMockCacheSSDWriteLog.writesame.

Fixes: https://tracker.ceph.com/issues/52852
Signed-off-by: Yin Congmin <congmin.yin@intel.com>
3 years agoMerge pull request #43137 from rhcs-dashboard/fix-52480-master
Ernesto Puerta [Fri, 8 Oct 2021 08:56:30 +0000 (10:56 +0200)]
Merge pull request #43137 from rhcs-dashboard/fix-52480-master

mgr/dashboard: clean-up controllers

Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
3 years agoMerge pull request #43459 from cyx1231st/wip-seastore-optimize-record-overhead
Samuel Just [Fri, 8 Oct 2021 08:32:55 +0000 (01:32 -0700)]
Merge pull request #43459 from cyx1231st/wip-seastore-optimize-record-overhead

crimson/os/seastore: reduce write amplification from record overhead and implement placement hint

Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
3 years agoqa: support isal ec test for aarch64 43462/head
Dai Zhiwei [Fri, 8 Oct 2021 03:54:01 +0000 (11:54 +0800)]
qa: support isal ec test for aarch64

modified:   qa/standalone/erasure-code/test-erasure-code-plugins.sh
new file:   qa/suites/rados/thrash-erasure-code-isa/arch/aarch64.yaml

Signed-off-by: Dai Zhiwei <daizhiwei3@huawei.com>
3 years agocrimson/os/seastore: implement placement_hint HOT/COLD/REWRITE 43459/head
Yingxin Cheng [Fri, 8 Oct 2021 02:47:13 +0000 (10:47 +0800)]
crimson/os/seastore: implement placement_hint HOT/COLD/REWRITE

The current strategy is to inline allocate non-REWRITE extents in order
to reduce the record overhead. The observation shows the transactions
from user is usually very small and doesn't deserve to be written in ool
records, which requires at least a block to store the record metadata.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore/epm: misc cleanup
Yingxin Cheng [Fri, 8 Oct 2021 02:33:28 +0000 (10:33 +0800)]
crimson/os/seastore/epm: misc cleanup

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agocrimson/os/seastore: rename ool_placement_hint_t
Yingxin Cheng [Fri, 8 Oct 2021 02:24:26 +0000 (10:24 +0800)]
crimson/os/seastore: rename ool_placement_hint_t

To placement_hint_t as the hint is not limited to ool extents.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
3 years agomgr/cephadm: use str type for `stdin` 43458/head
Michael Fritch [Thu, 7 Oct 2021 16:17:28 +0000 (10:17 -0600)]
mgr/cephadm: use str type for `stdin`

avoid encode/decode confusion by using a str data type to both
send (stdin) and receive (stdout) data

Signed-off-by: Michael Fritch <mfritch@suse.com>
3 years agomgr/cephadm: use `asyncssh.scp` to write remote files
Michael Fritch [Thu, 7 Oct 2021 16:18:00 +0000 (10:18 -0600)]
mgr/cephadm: use `asyncssh.scp` to write remote files

`tee` via stdin happens to work when the file is a utf-8 byte encoded
string, but won't work if the file happens to be binary data

Signed-off-by: Michael Fritch <mfritch@suse.com>