Commit Graph

115690 Commits

Author SHA1 Message Date
Ronen Friedman
b96bf7bcbd neorados: removing an unused captured variable
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
2020-09-26 11:41:17 +03:00
Kefu Chai
4e6c52ce76
Merge pull request #37388 from johscheuer/add-missing-python-dependency
debian: Add missing Python dependency for ceph-mgr

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-26 13:25:54 +08:00
Kefu Chai
7ff85b06a1
Merge pull request #37380 from changchengx/ceph_port
msgr: remove the macro not referenced anywhere

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
2020-09-26 13:02:35 +08:00
Kefu Chai
52bab35c03
Merge pull request #36779 from athanatos/sjust/wip-dirty-writeout
crimson/seastore: add dirty extent writeout

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-09-26 12:52:42 +08:00
Samuel Just
9ab4acd484 test/crimson/seastore/test_transaction_manager: add random overwrite test
Also improves replay() by recycling all structures except for the
segment_manager.

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:51:47 -07:00
Samuel Just
2fe1469c2b crimson/os/seastore: add segment_cleaner
Adds SegmentCleaner component to manage rewriting
dirty segments.

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:51:44 -07:00
Samuel Just
c907e2a11d crimson/os/seastore/lba_manager: add rewrite_extent
Adds support for writing out an extent to a new location and updating
lba mappings.

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:51:41 -07:00
Samuel Just
59d3dff69e crimson/os/seastore/journal: add more debugging for replay
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:11 -07:00
Samuel Just
52e2b99aee crimson/os/seastore/journal: initialize current_journal_segment in find_replay_segments
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:11 -07:00
Samuel Just
88b9884117 crimson/os/seastore/journal: return next write location from open_for_write
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:11 -07:00
Samuel Just
5d4b43ad26 crimson/os/seastore/cache: replay_delta handle obsolete extents properly
If we see a delta at verison v (v != 0) and we haven't seen version v-1,
we know that the extent is obsolete and can be ignored (presuming that
journal trimming is behaving).

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:11 -07:00
Samuel Just
0cfc47814d crimson/os/seastore/journal: pass journal_seq with each replay delta
We'll need this to track where extents became dirty during replay.

Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:11 -07:00
Samuel Just
7bb393b8c6 crimson/os/seastore: maintain dirty_from value on dirty CachedExtents
Signed-off-by: Samuel Just <sjust@redhat.com>
2020-09-25 12:41:03 -07:00
Jason Dillaman
b48c7255fc librbd: list-snaps needs to writeout fancy-striped extents
If the delta is being generated for a fancy-stiped extent such that
the provided object extents are not within the actual snapshot deltas,
we still need to indicate that the object exists (as a whiteout) to
prevent the possibility of an incorrect read request to the parent.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
2020-09-25 14:43:47 -04:00
Adam King
83d878f3d9 mgr/cephadm: get rbd-mirror daemon-id when checking for strays
Currently, list_servers() gets the rbd-mirror service-id instead
of the daemon-id so the daemon is marked as stray. This PR uses
that service-id to find the daemon-id and uses that to check if
the daemon is stray.

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

Signed-off-by: Adam King <adking@redhat.com>
2020-09-25 13:45:56 -04:00
Casey Bodley
d747ed63ed
Merge pull request #37400 from cbodley/wip-rgw-DatalogTrimImplCR-logging
rgw: raise debug level of DatalogTrimImplCR message

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2020-09-25 10:52:55 -04:00
Casey Bodley
4e680c9d32
Merge pull request #36482 from cbodley/wip-rgw-bucket-sync-checkpoint
rgw: add 'bucket sync checkpoint' command to radosgw-admin

Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
2020-09-25 10:42:29 -04:00
Patrick Seidensal
ae9cab58e2 mgr/cephadm: do not escape HTML for custom templates
Fixes: https://tracker.ceph.com/issues/47648

Signed-off-by: Patrick Seidensal <pseidensal@suse.com>
2020-09-25 14:05:59 +02:00
Jan Fajerski
24e4aa1296 ceph-volume: batch: fix size retrieval for lvs
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
fce184cf9b ceph-volume: include encryption in batch report
Fixes: https://tracker.ceph.com/issues/44783

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
98c991fc6f ceph-volume lvm batch: use namedtuple instead of tuple
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
d0735ce1c9 ceph-volume: address review comments, mostly tidying, clarification
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
fcacd0b96a idempotency must result in the same outcome
...not should

Co-authored-by: Joshua Schmid <jschmid@suse.de>
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
55ba863017 ceph-volume: batch test should pass --journal-devices with filestore
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
7f76684632 ceph-volume: make --journal optional, add --journal-slots
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
7695d1ec53 doc: update ceph-volume lvm batch docs
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
0f6f2b46a3 py-common/deployment: drop workarounds for old batch
This commit drops two workarounds in drive groups for the old batch
behaviour. OSDs on LVs no longer need to be created individually by
create (related to functional testing) and ceph-volume batch now filters
unavailable drives itself.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
1239f77c88 ceph-volume batch: add deprecation warning for auto behaviour
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
eef9dc7a1d ceph-volume batch: add ceph.conf mocking to pass tests
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
0bc7f7424c ceph-volume batch: use disk.Size for size args
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
2124aa57b3 ceph-volume batch: Fix osd_ids passing and improve plan formatting
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
2327e92aba ceph-volume batch: track rel_size in percent, more tests
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:23 +02:00
Jan Fajerski
a23a02df02 ceph-volume batch: improve backwards compatibility
This restores legacy batch behavior and also adds some initial test and
adjusts existing tests to changes.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:50:20 +02:00
Jan Fajerski
d32e0e4320 ceph-volume: batch - enable legacy auto behaviour
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:49:48 +02:00
Jan Fajerski
b0b797363f ceph-volume: batch - major refactor
This completely refactors the batch code in order to make use of the
create/prepare code path for creating OSDs instead of having a second
code path doing this. This not only eases the maintenance burden but
also adds various features and fixes bugs. This subcommand can now
handle LVs, replace OSDs, reuse VGs and has a better notion of
idempotency.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:49:44 +02:00
Jan Fajerski
6cb0841658 ceph-volume: Device - available_lvm if 10 extents are free.
This changes the available_lvm notion to only require 10 free extents
instead of 5GB.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
b34f130f30 ceph-volume: Device - add vg_free property
This new property returns the free space in any VGs present. If no VGs
are on the device we project how much space a VG will have.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
2ff3732164 ceph-volume: prepare/create - size args as Size class
This add the disk.Size class as all size related argument types. We
often create this class form args like this anyway and it enables users
to pass not only bytes but also strings like 50G.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
e7cdeab9de ceph-volume: disk.Size - add cast to bool
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
bad54e9781 ceph-volume: api/lvm - add VolumeGroup.free_percent property
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
f48d225454 ceph-volume: util.device - add vg_free_percent property
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
de7d67603a ceph-volume: api/lvm - query LV units in bytes
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
fa62a7bf5f ceph-volume: lvm/common - refactor common arg specification
This makes it easier to create valid Namespace objects/arg lists when
programmatically calling create/prepare.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
51ca694bbe ceph-volume: batch: fix argument help message
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
2020-09-25 11:48:34 +02:00
Jan Fajerski
c514214e0f
Merge pull request #37311 from mgariepy/fix-47502
[ceph-volume]: remove unneeded call to get_devices()
2020-09-25 11:45:16 +02:00
Xiubo Li
74c0890c69 client: switch to unique_lock to avoid use the client_lock directly
Fixes: https://tracker.ceph.com/issues/47039
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-09-25 08:52:56 +08:00
Xiubo Li
9d0e88c3ff client: unlock client_lock when copying data to bufferlist
It's no need to hold the lock when copying the data, which may
take a long time.

Fixes: https://tracker.ceph.com/issues/47047
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-09-25 08:52:49 +08:00
Xiubo Li
f483407b87 client: do more check for the client_lock
Fixes: https://tracker.ceph.com/issues/47039
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-09-25 08:46:03 +08:00
Xiubo Li
1a902c4631 client: simplify the iterating related code to make it more readable
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-09-25 08:46:03 +08:00
Patrick Donnelly
bbdc357a60
Merge PR #36685 into master
* refs/pull/36685/head:
	mds: allow quota for root directory

Reviewed-by: Zheng Yan <zyan@redhat.com>
2020-09-24 17:22:32 -07:00