Commit Graph

127080 Commits

Author SHA1 Message Date
Samuel Just
b344e70e83 crimson/os/seastore/transaction_manager: limit callers to reserve_projected_usage
Adds an exclusive stage for obtaining projected usage as well as an
unordered one for submitting ool writes.  This should allow for a
straightforward wait-list when io is blocked while still allowing
concurrent submission of ool writes otherwise.

Fixes: https://tracker.ceph.com/issues/52698
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-29 00:09:12 -07:00
Samuel Just
fbd30a4b0b crimson/os/seastore/segment_cleaner: track projected usage for in progress operations
We're going to want to permit multiple transactions to be writing
concurrently.  Replace await_hard_limits() with a mechanism that
remembers bytes that will be used by in-progress operations.

Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-29 00:09:09 -07:00
Prashant D
bdb98ad8f9 doc/dev/mon-bootstrap: fix typo
Signed-off-by: Prashant D <pdhange@redhat.com>
2021-09-29 07:13:56 +01:00
Samuel Just
ada436ff23 crimson/os/seastore/segment_manager/block: add debugging to remaining invarg case
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:32:48 -07:00
Samuel Just
b0506abab1 crimson/os/seastore/segment_manager/block: add method name debug prefix
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:32:48 -07:00
Varsha Rao
719e702468 mgr/nfs: Add more debug log messages
Fixes: https://tracker.ceph.com/issues/52274
Signed-off-by: Varsha Rao <varao@redhat.com>
2021-09-28 21:19:22 -04:00
Samuel Just
7c64d92fef
Merge pull request #43327 from cyx1231st/wip-seastore-ool-metrics
crimson/os/seastore: introduce ool related metrics with misc improvements

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:38:13 -07:00
Samuel Just
55b37c35e7 crimson/common/operation: add UnorderedStage
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:12:18 -07:00
Samuel Just
db389d6de7 crimson/os/seastore/transaction: make for_each_fresh_block const
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 17:11:49 -07:00
Samuel Just
17850276c0 crimson/os/seastore/segment_cleaner: make used_bytes unsigned
Signed-off-by: Samuel Just <sjust@redhat.com>
2021-09-28 22:01:00 +00:00
Neha Ojha
84379239c0
Merge pull request #43302 from ronen-fr/wip-rf-osd-psik
osd: add a missing comma in a list of strings

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
2021-09-28 10:01:28 -07:00
Neha Ojha
5c077586d9
Merge pull request #43303 from ronen-fr/wip-rf-osd-modulu
osd: fix the truncation of an int by int division

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 10:00:02 -07:00
Ernesto Puerta
ba9e17d2d2
Merge pull request #43132 from p-se/monitoring-grafana-piechart-update
monitoring: update grafana-piechart-panel plugin

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
Reviewed-by: p-se <NOT@FOUND>
2021-09-28 18:37:45 +02:00
Adam King
20989eae57 mgr/cephadm: fix host drain with agent
Agent was not getting removed from hosts with _no_schedule label
since it was using all hosts rather than _schedulable hosts. Added
a _non_draining hosts function to return a prope list of hosts agent
is okay to schedule on.

Was stuck between using a daemon to report which daemons are on the
host and wanting to remove all the daemons on the host when draining.
Now using ssh to confirm all the daemons have left the host.

Signed-off-by: Adam King <adking@redhat.com>
2021-09-28 11:43:10 -04:00
Sage Weil
5ee3d38f78 Merge PR #43177 into master
* refs/pull/43177/head:
	osd/PrimaryLogPG: drop ops when pool has EIO flag
	osdc/Objecter: set SUPPORTSPOOLEIO flag on all ops
	ceph_test_rados_api_aio: test pool EIO flag
	osdc/Objecter: return EIO for new linger ops
	osdc/Objecter: return EIO for existing ops and linger ops
	osdc/Objecter: return EIO for new ops
	osd,mon: add EIO pool flag

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
2021-09-28 10:58:24 -04:00
Kefu Chai
e310b1e847
Merge pull request #43320 from pdvian/wip-doc-cephx-fixtypo
doc/dev/cephx: fix typo

Reviewed-by: Varsha Rao <varao@redhat.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:56:57 +08:00
Kefu Chai
69897926b2
Merge pull request #43316 from smithfarm/wip-spdk-tw
rpm: enable system_pmdk bcond for SUSE builds

Reviewed-by: Tim Serong <tserong@suse.com>
Reviewed-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:49:58 +08:00
Kefu Chai
ffab13bcd9 os/bluestore: list obj which equals to pend
otherwise we could have failures like

scrub : stat mismatch, got 3/4 objects, 1/2 clones, 3/4 dirty, 3/4 omap, 0/0 pinned, 0/0 hit_set_archive, 0/0 whiteouts, 49/56 bytes, 0/0 manifest objects, 0/0 hit_set_archive bytes."

where the numbers of scrubbed object, clones, dirty and omap are always
less than the total number of corresponding numbers, if the PG contains
object(s) whose hash happens to be 0xffffffff.

in this change, if the calculated hash of the upper bound is greater
than the maximum possible number represented by uint32_t, in addition to
setting the hash of the upper bound hobj to 0xffffffff, we also set the
nspace of hobj of the upper bound to "\xff", so that the upper bound
is greater than an hobj whose hash happens to be 0xfffffff. please note,
the nspace of "\xff" is not an ascii string, so it's not likely to be
less than a real-world nspace of an hobj.

with this new *greater* upper bound, we are able to include the previous
missing hobj when listing the objects in a PG. so the scrub won't be
annoyed when the number of objects does not match.

Fixes: https://tracker.ceph.com/issues/52705
Signed-off-by: Mykola Golub <mykola.golub@clyso.com>
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:45:10 +08:00
Kefu Chai
715a83822e os/bluestore: use scope_guard to log latency
simpler this way, and avoid using `goto`.

Signed-off-by: Kefu Chai <tchaikov@gmail.com>
2021-09-28 22:45:10 +08:00
Sebastian Wagner
a24b3fa949
Merge pull request #43150 from sebastian-philipp/doc-cephadm-serves-sub-tree
doc/cephadm: move services under doc/cephadm/services ?

Reviewed-by: Adam King <adking@redhat.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
2021-09-28 11:20:47 +02:00
Nizamudeen A
e33d9e15b9 mgr/dashboard: Move force maintenance test to the workflow test suite
Fixes: https://tracker.ceph.com/issues/52276
Signed-off-by: Nizamudeen A <nia@redhat.com>
2021-09-28 14:17:20 +05:30
Deepika Upadhyay
85635f3066
Merge pull request #43221 from badone/wip-install-deps-new-pip-resolver
install-deps.sh: Use legacy pip resolver

Reviewed-by: Kefu Chai <tchaikov@gmail.com>
 Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
2021-09-28 14:15:41 +05:30
Yingxin Cheng
c1fdb0ab48 crimson/os/seastore: introduce ool related metrics with misc improvements
* The number of ool records written;
* Write overhead from journal/ool records;
* Wasted writes from invalided ool records;
* Wasted writes from erased inline extents;
* Distinguish ool and inline extents from metrics;

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
2b1402b3d5 crimson/os/seastore/transaction: count fresh blocks separately
Correct get_num_fresh_blocks() to be accurate under the effect of
delayed allocations.

Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
529f1a81c7 crimson/os/seastore/transaction: cleanup comments
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
33b5947a86 crimson/os/seastore/cache: misc cleanup
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
336fe386c7 crimson/os/seastore: cleanup, consolidate metrics about transactional efforts
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Yingxin Cheng
5fd3a781c2 crimson/os/seastore: cleanup, reset cache metrics as a whole
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
2021-09-28 16:31:08 +08:00
Dongdong Tao
1b1a91c31b msg/async/ProtocolV2: replace ltt_recv_stamp with recv_stamp
Fixes: https://tracker.ceph.com/issues/52739
Signed-off-by: dongdong tao <dongdong.tao@canonical.com>
2021-09-28 14:40:43 +08:00
haoyixing
60409d2bc4 os/bluestore: add option for bluestore fail eio
PR #17744 allows eio for _do_read in bluestore, but didn't leave it as
an option. Since we can choose to fail for filestore on eio, maybe bluestore
can also have an option.

Signed-off-by: haoyixing <haoyixing@kuaishou.com>
2021-09-28 10:44:47 +08:00
Neha Ojha
8bbc0dde69 common/options/global.yaml.in: add runtime flag for mon_max_pg_per_osd
Related to: https://tracker.ceph.com/issues/52640
Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-09-27 21:35:07 +00:00
Daniel Pivonka
cda82c98a3 mgr/cephadm: populate trusted_ip_list in iscsi-gateway.cfg with mgr ips
Iscsi gateways do not show "UP" in dashboard without this

fixes: https://tracker.ceph.com/issues/52692
Signed-off-by: Daniel Pivonka <dpivonka@redhat.com>
2021-09-27 14:55:00 -04:00
Joseph Sawaya
8990280b22 mgr/rook, qa/tasks/rook: change rgw daemon service name
This commit changes the rgw daemon service name format from
rgw.<realm name>.<zone name> to rgw.<resource_name> and changes the daemon
removal in the QA accordingly. This also gets rid of the Rook API when
describing services.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:52:59 -04:00
Joseph Sawaya
5ed4fbb999 mgr/rook: fix placement_spec_to_node_selector
This commit takes care of the edge case where a completely empty
placement spec is passed to the function.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:52:59 -04:00
Joseph Sawaya
12d374327e mgr/rook: orch rm no longer uses rook api delete
This commit changes orch rm to no longer use the rook api to delete the daemon
but instead directly delete the corresponding CR using the kubernetes api.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:52:59 -04:00
Joseph Sawaya
387c4f1310 qa/tasks/rook: fix cluster deletion hanging due to CephObjectStore CR
This commit fixes the issue where the cluster deletion hangs in the QA
while a CephObjectStore CR is still up by removing all rgw/nfs/mds/rbd-mirror
daemons before tearing down the rest of the cluster.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:51:13 -04:00
Joseph Sawaya
f4980c39db mgr/rook: use default replication size in orch apply rgw
This commit changes `orch apply rgw` to use the osd_pool_default_size
when setting the replication size for the data pool and metadata pool
of the rgw daemon. This commit also adds `orch apply rgw` to the Rook
QA.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:51:13 -04:00
Joseph Sawaya
f1c0b0758a mgr/rook: add placement specs to apply rgw
This commit adds the placement spec option when creating
a CephObjectStore using `orch apply rgw`.

Signed-off-by: Joseph Sawaya <jsawaya@redhat.com>
2021-09-27 14:51:13 -04:00
Manasvi Goyal
786c5a3309
mgr/volumes/fs: add extra blank line
Fixes: https://tracker.ceph.com/issues/51391
Signed-off-by: Manasvi Goyal <mg.manasvi@gmail.com>
2021-09-27 23:48:07 +05:30
ManasviGoyal
d205e6ae76 mgr/volumes/fs: add extra blank line
Fixes: https://tracker.ceph.com/issues/51387
Signed-off-by: Manasvi Goyal <mg.manasvi@gmail.com>
2021-09-27 23:14:26 +05:30
Sage Weil
5ac9f523ea osd/PrimaryLogPG: drop ops when pool has EIO flag
If the op doesn't have the SUPPORTSPOOLEIO flag (i.e., it is an old client),
return with an explicit EIO.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-09-27 13:20:31 -04:00
Sage Weil
6992a1cd74 osdc/Objecter: set SUPPORTSPOOLEIO flag on all ops
This tells us the client understands the pool EIO flag, without having to
burn a feature bit.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-09-27 13:20:31 -04:00
Sage Weil
c2f753c57e ceph_test_rados_api_aio: test pool EIO flag
Signed-off-by: Sage Weil <sage@newdream.net>
2021-09-27 13:20:31 -04:00
Adam King
35f895aa45 mgr/cephadm: remove cephadm exporter code
It's functionality has been effectively replaced by the cephadm agent

Signed-off-by: Adam King <adking@redhat.com>
2021-09-27 12:11:55 -04:00
Guillaume Abrioux
7e9762e0ce cephadm: fix iscsi test
the current test is wrong because it generates the tcmu-runner part two
times.
given the function `deploy_daemon_units()` in cephadm already writes a
first time the tcmu-runner command, calling a second time
`get_tcmu_runner_container()` from the test makes `deploy_daemon_units()`
write the same command again.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2021-09-27 17:24:30 +02:00
jerryluo
c726ce9e50 mon/OSDMonitor: Make the pg_num check more accurate
In check_pg_num function, finding the corresponding osd according to the
current pool's crush rule, and calculating whether the average value of
pg_num on these osd will exceed the value of 'mon_max_pg_per_osd'. Make
the pg_num check more accurate by counting all the pgs on the osd used
by the new pool.

Fixes: https://tracker.ceph.com/issues/47062
Signed-off-by: Jerry Luo <luojierui@chinatelecom.cn>
2021-09-27 21:55:00 +08:00
Prashant D
0b05924769 doc/dev/cephx: fix typo
Signed-off-by: Prashant D <pdhange@redhat.com>
2021-09-27 13:37:31 +01:00
Ernesto Puerta
99f1f0f4c0
Merge pull request #43285 from rhcs-dashboard/api-endpoint-version-compatibility
mgr/dashboard: make modified API endpoints backward compatible

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2021-09-27 14:13:07 +02:00
Guillaume Abrioux
b130214195 cephadm: modify iscsi containers bindmount
tcmu-runner logs in `/var/log/tcmu-runner.log`, there's no option to
make it log to stdout/stderr so the log is only available from the
container.
Modifying the bindmount from `-v /var/log/ceph/<fsid>/:/var/log/rbd-target-api:z`
to `-v /var/log/ceph/<fsid>/:/var/log:z` makes it at least available
from the host.

Fixes: https://tracker.ceph.com/issues/47480

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
2021-09-27 13:46:01 +02:00
Sebastian Wagner
8c70398949
doc/cephadm: move services into services/
This is going to clean up the toctree a bit.

Signed-off-by: Sebastian Wagner <sewagner@redhat.com>
2021-09-27 12:21:54 +02:00