Commit Graph

127979 Commits

Author SHA1 Message Date
Soumya Koduri
a3fdff29ea rgw/CloudTransition: Do not allow data pool for tier type storage classes
Tier type storage classes should not be allowed to have data
pools

& few other fixes/cleanup stated below -

* If the tier_targets are not configured, do not dump them in
the 'zonegroup get' command.

* If not configured, by default a bucket of below name convention -
"rgwx-$zonegroup-$storage_class-cloud-bucket"

is created in the remote cloud endpoint to transition objects to.

* Rename config option 'tier_storage_class' to 'target_storage_class'.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:48 +05:30
Soumya Koduri
b86ba5d655 rgw/CloudTransition: Fail GET on cloud tiered objects
As per https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
GET operation may fail with “InvalidObjectStateError” error if the
object is in GLACIER or DEEP_ARCHIVE storage class and not restored.
Same can apply for cloud tiered objects. However STAT/HEAD requests
shall return the metadata stored.

& misc fixes

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:48 +05:30
Soumya Koduri
557b519881 rgw/CloudTransition: Verify if the object is already tiered
Add class to fetch headers from remote endpoint and verify if the object
is already tiered.

& Few other fixes stated below -

* Erase data in the head of cloud transitioned object
* 'placement rm' command should erase tier_config details
* A new option added in the object manifest to denote if the
  object is tiered in multiparts

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:48 +05:30
Soumya Koduri
6333c0e50c rgw/CloudTransition: Store the status of multipart uploads
Store the status of multipart upload parts to verify if the object
hasn't changed during the transition and if yes, abort the upload.

Also avoid re-creating target buckets -

Its not ideal to try creating target bucket for every object
transition to cloud. To avoid it caching the bucket creations in
a map with an expiry period set to '2*lc_debug_interval' for each
entry.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:47 +05:30
Soumya Koduri
7d7aeb1ee0 rgw/CloudTransition: Delete cloud tiered objects by default
Added a new option "retain_object" in tier_config which determines
whether a cloud tiered object is deleted or if its head object is
retained. By default the value is false i.e, the objects get
deleted.

XXX: verify that if Object is locked (ATTR_RETENTION), transition is
not processed. Also check if the transition takes place separately for
each version.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:47 +05:30
Soumya Koduri
23b962157a rgw/CloudTransition: Update object metadata and bi post cloud tranistion
After transitioning the object to cloud, following updates are done
to the existing object.

* In bi entry, change object category to CloudTiered
* Update cloud-tier details (like endpoint, keys etc) in Object Manifest
* Mark the tail objects expired to be deleted by gc

TODO:
* Update all the cloud config details including multiparts
* Check if any other object metadata needs to be changed
* Optimize to avoid using read_op again to read attrs.
* Check for mtime to resolve conflicts when multiple zones try to transition obj

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:47 +05:30
Soumya Koduri
c687d01d1b rgw/CloudTransition: Tier objects to remote cloud
If the storage class configured is of cloud, transition
the objects to remote endpoint configured.

In case the object size is >mulitpart size limit (say 5M),
upload the object into multiparts.

As part of transition, map rgw attributes to http attrs,
including ACLs.

A new attribute (x-amz-meta-source: rgw) is added to denote
that the object is transitioned from RGW source.

Added two new options to tier-config to configure multipart size -
* multipart_sync_threshold - determines the limit of object size,
when exceeded transitioned in multiparts
* multipart_min_part_size - the minimum size of the multipart upload part

Default values for both the options is 32M and minimum value supported
is 5M.

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:47 +05:30
Soumya Koduri
c63d16ff96 rgw/CloudTransition: Add new options to configure tier endpoint
As mentioned in https://docs.google.com/document/d/1IoeITPCF64A5W-UA-9Y3Vp2oSfz3xVQHu31GTu3u3Ug/edit,
the tier storage class will be configured at zonegroup level.

So the existing CLI "radosgw-admin zonegroup placement add  <id> --storage-class <class>" will be
used to add tier storage classes as well but with extra tier-config options mentioned below -

--tier-type : "cloud"
--tier-config : [<key,value>,]

These tier options are already defined to configure cloud sync module which are being reused here.

TODO:
* Add multipart options (if any , like part size, threshold)
* Document
* Test upgrade/downgrade

Signed-off-by: Soumya Koduri <skoduri@redhat.com>
2021-11-18 12:52:47 +05:30
Sage Weil
b1fba14ef5 Merge PR #43929 into master
* refs/pull/43929/head:
	qa/suites/orch/cephadm: verify /var/log/ceph/$fsid ownership
	cephadm: only make_log_dir for ceph daemons

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-11-17 17:05:23 -05:00
Sage Weil
91157246d6 Merge PR #43934 into master
* refs/pull/43934/head:
	qa/suites/rados/dashboard: use single-container-host.yaml
	qa/distros: add single-container-host.yaml
	qa/suites: use distros/container-hosts/
	qa/distros/container-hosts: add 8.stream + crun
	qa/distros/container-hosts: add collection of container targets

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-11-17 17:04:57 -05:00
Casey Bodley
8cc3f6056d
Merge pull request #43433 from soumyakoduri/wip-skoduri-dbstore-lc
rgw/dbstore: handle lc related state

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2021-11-17 12:39:19 -05:00
Neha Ojha
ff9687ddb5
Merge pull request #43921 from aclamk/wip-aclamk-fix-omap-upgrade-fix
BlueStore: Omap upgrade to per-pg fix fix

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
2021-11-17 09:35:19 -08:00
Adam Kupczyk
65a3f374aa os/bluestore: Fix omap upgrade to per-pg scheme
This is fix to regression introduced by fix to omap upgrade: https://github.com/ceph/ceph/pull/43687
The problem was that we always skipped first omap entry.
This worked fine with objects having omap header key.
For objects without header key we skipped first actual omap key.

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

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
2021-11-17 16:56:23 +01:00
Adam Kupczyk
0d13d64e05 os/bluestore: Add more legacy -> per PG upgrade tests
Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
2021-11-17 16:56:23 +01:00
Samuel Just
7c3ddfc59f
Merge pull request #43977 from xxhdx1985126/wip-53273
crimson/os/seastore/lba_manager: do full merge if the donor node is *AT* its minimum capacity

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
2021-11-17 07:34:47 -08:00
Sage Weil
411b2d39c2 qa/suites/rados/dashboard: use single-container-host.yaml
Signed-off-by: Sage Weil <sage@newdream.net>
2021-11-17 09:02:42 -06:00
Sage Weil
362207ba45 qa/distros: add single-container-host.yaml
This is a single, possibly preferred, os + container runtime
combination.

Signed-off-by: Sage Weil <sage@newdream.net>
2021-11-17 09:02:42 -06:00
Sage Weil
88da4c38d4 qa/suites: use distros/container-hosts/
Signed-off-by: Sage Weil <sage@newdream.net>
2021-11-17 09:02:39 -06:00
Sebastian Wagner
6e528ed7c5
Merge pull request #43095 from sebastian-philipp/_check_for_moved_osds
mgr/cephadm: Add _check_for_moved_osds

Reviewed-by: Adam King <adking@redhat.com>
2021-11-17 15:09:06 +01:00
Sebastian Wagner
4035ba419d
Merge pull request #42906 from sebastian-philipp/rm-ceph-orch-osd-i
mgr/orch: deprecated `ceph orch apply osd -i <osd_spec_file>`

Reviewed-by: Adam King <adking@redhat.com>
2021-11-17 11:18:51 +01:00
Venky Shankar
9867cf4e34
Merge pull request #43670 from jtlayton/wip-53004
client: flesh out doc comments for struct ceph_client_callback_args

Reviewed-by: Venky Shankar <vshankar@redhat.com>
2021-11-17 11:44:41 +05:30
Xuehan Xu
74ae71ddb8 crimson/os/seastore/lba_manager: do full merge if the donor node is *AT* its minimum capacity
Fixes: https://tracker.ceph.com/issues/53273
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-11-17 09:22:21 +08:00
Xuehan Xu
e5ecf1e201 crimson/os/seastore/lba_manager: better debug outputs for lba node merge
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
2021-11-17 09:12:47 +08:00
Ernesto Puerta
382d27160b
Merge pull request #43868 from rhcs-dashboard/fix-53209-master
mgr/dashboard: Device health status is not getting listed under hosts section

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Avan Thakkar <athakkar@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
2021-11-17 01:03:15 +01:00
Samuel Just
3182a817ba
Merge pull request #43803 from Matan-B/wip-matanb-pgstats-support
crimson/osd: Fixing empty PG stats issue

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-11-16 15:10:44 -08:00
Ernesto Puerta
788b810677
Merge pull request #43669 from rhcs-dashboard/grafana-unit-tests
monitoring/grafana: Grafana query tester

Reviewed-by: Aashish Sharma <aasharma@redhat.com>
Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Pere Diaz Bou <pdiazbou@redhat.com>
2021-11-16 23:30:10 +01:00
J. Eric Ivancich
e43a888e39
Merge pull request #43909 from ivancich/wip-small-code-fixups
rgw: small code fix-ups

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
2021-11-16 14:19:44 -05:00
Gregory Farnum
fe7b98fb1b
Merge pull request #43932 from gregsfortytwo/wip-53258-dump-disallowed
mon: MonMap: display disallowed_leaders whenever they're set

Reviewed-by: Samuel Just <sjust@redhat.com
Reviewed-by: Laura Flores <lflores@redhat.com>
2021-11-16 10:22:00 -08:00
Gregory Farnum
9bc6c2614c
Merge pull request #43899 from gregsfortytwo/wip-53237-stretch-kernels
mon: MonMap: do not increase mon_info_t's compatv in stretch mode, really

Reviewed-by: Samuel Just <sjust@redhat.com
Reviewed-by: Laura Flores <lflores@redhat.com>
2021-11-16 10:20:28 -08:00
Yuri Weinstein
274f7bf024
Merge pull request #43818 from ifed01/wip-ifed-fix-vol-select
os/bluestore: do not select absent device in volume selector

Reviewed-by: Adam Kupczyk <akupczyk@redhat.com>
2021-11-16 09:02:53 -08:00
J. Eric Ivancich
9f31d2e9a7
Merge pull request #43913 from ivancich/wip-fix-bucket-removal
rgw: remove prefix & delim params for bucket removal & mp upload abort

Reviewed-by: Daniel Gryniewicz <dang@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
2021-11-16 11:49:22 -05:00
J. Eric Ivancich
4cb329cac6
Merge pull request #43908 from ivancich/wip-fix-bi-put-shard-calc
rgw: fix `bi put` not using right bucket index shard

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2021-11-16 11:47:53 -05:00
Casey Bodley
874b2b304a
Merge pull request #42880 from Kalkulus1/patch-1
doc: adds a way to allow users set_contents_from_filename for rgw

Reviewed-by: Casey Bodley <cbodley@redhat.com>
2021-11-16 11:01:00 -05:00
Sage Weil
f28f32dbc0 qa/distros/container-hosts: add 8.stream + crun
Signed-off-by: Sage Weil <sage@newdream.net>
2021-11-16 09:58:32 -06:00
Sage Weil
ec6a502cdb qa/distros/container-hosts: add collection of container targets
Signed-off-by: Sage Weil <sage@newdream.net>
2021-11-16 09:58:23 -06:00
Ronen Friedman
2766946460
Merge pull request #43912 from ronen-fr/wip-rf-test-dump
qa/standalone: fix osd-scrub-dump following changes to 'pg dump pgs' output

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-11-16 17:58:07 +02:00
Casey Bodley
696968a898
Merge pull request #43854 from cbodley/wip-53199
cls/rgw: index cancelation still cleans up remove_objs

Reviewed-by: J. Eric Ivancich <ivancich@redhat.com>
2021-11-16 10:28:44 -05:00
Guillaume Abrioux
76560c15f0
Merge pull request #43300 from cfsnyder/wip-52730-fix-dbwal-slot-size-calc
ceph-volume: fix bug with miscalculation of required db/wal slot size for VGs with multiple PVs
2021-11-16 15:15:28 +01:00
Sébastien Han
1654f68aea
Merge pull request #43927 from guits/fix_raw_activate
ceph-volume: follow-up on PR #42727
2021-11-16 14:11:10 +01:00
Matan Breizman
7fe0fc9a57 crimson/osd: Fixing empty PG stats issue
Signed-off-by: Matan Breizman <Matan.Brz@gmail.com>
2021-11-16 11:11:21 +00:00
Sebastian Wagner
343708fb6e
Merge pull request #43780 from mgfritch/nfs-rgw-v4
doc/radosgw/nfs: add note about NFSv3 deprecation

Reviewed-by: Matt Benjamin <mbenjamin@redhat.com>
Reviewed-by: Sage Weil <sage@newdream.net>
Reviewed-by: Varsha Rao <rvarsha016@gmail.com>
2021-11-16 11:38:03 +01:00
Sebastian Wagner
4ec317af08
Merge pull request #43933 from ceph/dependabot/pip/src/ceph-volume/plugin/zfs/pip-21.1
build(deps-dev): bump pip from 19.2 to 21.1 in /src/ceph-volume/plugin/zfs

Reviewed-by: Sebastian Wagner <sewagner@redhat.com>
2021-11-16 10:39:37 +01:00
Pere Diaz Bou
44d3e4c264 monitoring/grafana: Grafana query tester
Signed-off-by: Pere Diaz Bou <pdiazbou@redhat.com>
2021-11-16 10:30:49 +01:00
Neha Ojha
d31130d451
Merge pull request #43938 from neha-ojha/wip-quick-fix
qa/suites/upgrade/octopus-x: set bluestore fsck quick fix on mount to true

Reviewed-by: Igor Fedotov <igor.fedotov@croit.io>
2021-11-15 16:09:30 -08:00
Neha Ojha
94e3a240ad qa/suites/upgrade/octopus-x: set bluestore fsck quick fix on mount to true
First step towards catching bugs like https://tracker.ceph.com/issues/53062.

Signed-off-by: Neha Ojha <nojha@redhat.com>
2021-11-15 21:39:15 +00:00
Greg Farnum
ccb1b7eb8b mon: MonMap: do not increase mon_info_t's compatv in stretch mode, for real
This was supposed to be fixed a year ago in commit
2e3643647b, but it set compat_v to 4 instead of all
the way back to 1 as it should have.

Our testing for stretch mode in these areas is just not very thorough -- the
kernel only supports compat_v 1 and apparently nobody's noticed the issue
since then? :/
As the prior commit says, you can't set locations without being gated on a
server feature bit, so simply cancelling this enforcement is completely safe.

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

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2021-11-15 20:24:20 +00:00
Samuel Just
16e152e161
Merge pull request #43928 from josephsawaya/futurize-futurized-store
crimson: futurize FuturizedStore::create()

Reviewed-by: Samuel Just <sjust@redhat.com>
2021-11-15 12:17:33 -08:00
Matan
02348afc73
Merge pull request #43344 from Matan-B/wip-matanb-crimson-clog
crimson/osd: Implementing cluster logging
2021-11-15 21:37:49 +02:00
Casey Bodley
879dd9543c
Merge pull request #43761 from cbodley/wip-beast-timeout-alloc
rgw/beast: optimizations for request timeout

Reviewed-by: Mark Kogan <mkogan@redhat.com>
2021-11-15 13:31:18 -05:00
Casey Bodley
b848ccae96 rgw/rados: index transactions pass remove_objs to cancel() too
whenever an index transaction uses remove_objs for complete(), it also
needs to pass them for cancel() to avoid leaking index entries

Signed-off-by: Casey Bodley <cbodley@redhat.com>
2021-11-15 13:16:07 -05:00