]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agorgw: fix typo 25326/head
J. Eric Ivancich [Wed, 28 Nov 2018 17:55:35 +0000 (12:55 -0500)]
rgw: fix typo

This fixes a typo in a log message. It's a separate commit so
downstream commits point to the right upstream commits via
cherry-pick.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 7d1768f2a332c5ac389cbb4bbeda28752e4f17bc)

6 years agorgw: perf -- remove bucket shards asynchronously rather than synchronously
J. Eric Ivancich [Tue, 20 Nov 2018 18:32:54 +0000 (13:32 -0500)]
rgw: perf -- remove bucket shards asynchronously rather than synchronously

We can now take advantage of the new asynchronous bucket shard removal
code and where we used to remove each shard synchronously now remove
them asynchronously. This would be a huge win when we have tens of
thousands of shards.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit cb0da45c5d6e4dff6514919b3b894df0eea7c1e4)

 Conflicts:
src/rgw/rgw_rados.cc
conflicts with placement set and rgw rados refactor

6 years agorgw: clean up unused bucket index shards
J. Eric Ivancich [Tue, 20 Nov 2018 14:52:39 +0000 (09:52 -0500)]
rgw: clean up unused bucket index shards

Clean up old bucket index shards when a resharding is complete. Also,
when a resharding fails, clean up unfinished bucket index shards. Do
both clean-ups asynchronously.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit f84f70d451036ee99011b8e2c7b974f15d3a005a)

 Conflicts:
src/rgw/rgw_rados.h
merge conflict as bucket_placement functions were moved after the rgw rados
refactor

6 years agorgw: a little code clean-up by adding const
J. Eric Ivancich [Mon, 19 Nov 2018 21:10:52 +0000 (16:10 -0500)]
rgw: a little code clean-up by adding const

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 48e22fb76feffb551074f274986bc4125a02003f)

6 years agorgw: remove never-called RGWRados member function
J. Eric Ivancich [Fri, 16 Nov 2018 22:08:46 +0000 (17:08 -0500)]
rgw: remove never-called RGWRados member function

Because RGWRados::cls_rgw_init_index is never called, remove it.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 4593778c6d830a1a0d33528507f1795aee019ce4)

6 years agorgw: rename function for clarity
J. Eric Ivancich [Wed, 7 Nov 2018 20:33:52 +0000 (15:33 -0500)]
rgw: rename function for clarity

The function cls_rgw_bucket_init was renamed to
cls_rgw_bucket_init_index in order to better describe its
functionality.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 20868bd3b893ba2e17d2bfdc63d6544dbe677a9b)

6 years agorgw: fix bug in error codes returned
J. Eric Ivancich [Fri, 16 Nov 2018 15:47:48 +0000 (10:47 -0500)]
rgw: fix bug in error codes returned

Fixes two bugs where positive error code was returned rather than
negative error code, which is the RGW norm.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit dc0732c524c2d8fb5b423f8cce8c6cc9aa7ca44a)

6 years agorgw: batch and process bucket instances
Abhishek Lekshmanan [Wed, 17 Oct 2018 22:44:51 +0000 (00:44 +0200)]
rgw: batch and process bucket instances

Sort through and batch bucket instances so that multiple calls to reading
current bucket info and locking can be avoided. For the most trivial case when
the bucket is already deleted we exit early with all the stale instances. When
the bucket reshard is in progress we only process the stale entries with status
done, if the bucket is available for locking then we lock down and mark the
other instances as well.

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit fb9c0497621fce34283094cfe260480f9122573f)

 Conflicts:
src/rgw/rgw_bucket.cc
Get rid of the following c++17isms:
- split_tenant auto return type -> trailing return type
- tuple destructuring bind for split tenant with std::tie

6 years agocli: use rgw-admin reshard stale-instances list/delete
Abhishek Lekshmanan [Mon, 15 Oct 2018 17:34:28 +0000 (19:34 +0200)]
cli: use rgw-admin reshard stale-instances list/delete

Add a delete command as well that clears the resharded instances. We print out
the json status to indicate success or error state

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit bf8f885016a588130f05c25fdef3d3b6e1216c40)

 Conflicts:
src/rgw/rgw_admin.cc:
  ceph::util::match_str and the related rm/delete normalizations introduced in
  mimic are not backported

6 years agorgw: implement listing stale instances from a reshard
Abhishek Lekshmanan [Fri, 12 Oct 2018 12:55:48 +0000 (14:55 +0200)]
rgw: implement listing stale instances from a reshard

Dynamic resharding used to leave behind stale bucket instances; walk through the
metadata pool and identify these instances by comparing the reshard status. If
the reshard status is done, these instances are ok to be cleared. For reshard
status of none we compare against the bucket entry point to ensure that we don't
match the current entry point.

Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
(cherry picked from commit 0c35a6fab250a817b2752f319b5c9f1da13bb3df)

6 years agorgw: recover from incomplete reshard attempt
J. Eric Ivancich [Wed, 17 Oct 2018 17:43:24 +0000 (13:43 -0400)]
rgw: recover from incomplete reshard attempt

In case a reshard attempt is left in an incomplete state, i.e., flags
still show resharding even though the bucket reshard lock isn't being
held, try to recover by taking the bucket reshard lock and clearing
flags associated with resharding.

This change requires access to an RGWBucketInfo object. So call stack
into this function should provide that to prevent unnecessary
work. Changes were made to provide this object.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 4891ae59314041802da0f6dc249ccbeb761616dc)

6 years agorgw: move RGWReshardBucket lock to its own separate class
J. Eric Ivancich [Tue, 16 Oct 2018 20:40:03 +0000 (16:40 -0400)]
rgw: move RGWReshardBucket lock to its own separate class

There are other processes beyond resharding that would need to take a
bucket reshard lock (e.g., correcting bucet resharding flags in event
of crash, tools to remove bucket shard information from earlier
versions of ceph). Pulling this logic outside of RGWReshardBucket
allows this code to be re-used.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 18ab99cd542cc253d62719a18a9d13e7a312eb15)

6 years agorgw: failed resharding clears resharding status from shard heads
J. Eric Ivancich [Fri, 12 Oct 2018 22:07:24 +0000 (18:07 -0400)]
rgw: failed resharding clears resharding status from shard heads

Previously, when resharding failed, we restored the shard status on
the bucket info object. However the status on each of the shards was
left indicating a reshard was underway. This prevented some write
operations from taking place, as they would wait for resharding to
complete. This adds the missing functionality. It also makes the
functionality available to other classes via static functions in
RGWBucketReshard.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 4577801271454b147cb3b1f3169d268d1c14948b)

6 years agorgw: change the bucket reshard lock to exclusive-ephemeral
J. Eric Ivancich [Fri, 12 Oct 2018 14:24:32 +0000 (10:24 -0400)]
rgw: change the bucket reshard lock to exclusive-ephemeral

The bucket reshard lock was simply an exclusive lock that existed on
an object solely for the purpose of representing the lock. This is now
changed to exclusvie-ephemeral lock, so as not to leave these objects
behind.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit bc0a5ff95247b41b5a8336a8c4ed83c4315c1966)

6 years agocls: add exclusive ephemeral locks that auto-clean
J. Eric Ivancich [Fri, 12 Oct 2018 14:23:57 +0000 (10:23 -0400)]
cls: add exclusive ephemeral locks that auto-clean

Add a new type of cls lock -- exclusive ephemeral for which the
object only exists to represent the lock and for which the object
should be deleted at unlock. This is to prevent the accumulation of
unneeded objects in the cluster by automatically cleaning them up.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit a289f2d8654cf4b865430465b87299d3618b41c8)

6 years agorgw: renew resharding locks to prevent expiration
J. Eric Ivancich [Thu, 27 Sep 2018 17:31:57 +0000 (13:31 -0400)]
rgw: renew resharding locks to prevent expiration

Fix lock expiration problem with resharding. The resharding process
will renew its bucket lock (and logshard lock if necessary) when half
the remaining time is left on the lock. If the lock is expired and
cannot renew the process fails and errors out appropriately.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 8cebffa1d8ad4df6fdae4e10e782aad0753545ce)

6 years agocls: add semantics for cls locks to require renewal without expiring
J. Eric Ivancich [Mon, 1 Oct 2018 19:18:39 +0000 (15:18 -0400)]
cls: add semantics for cls locks to require renewal without expiring

Add ability to *require* renewal of an existing lock in addition
toexisting ability to *allow* renewal of an existing lock. The key
difference is that a MUST_RENEW will fail if the lock has expired
(where a MAY_RENEW) will succeed. This provides calling code with the
ability to verify that a lock is held continually and that it was
never lost/expired.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
(cherry picked from commit 479c90993cc80b140af010a72ff9a34ecb7b3b32)

6 years agorgw: use the same lock when resharding
Orit Wasserman [Fri, 21 Sep 2018 13:26:41 +0000 (16:26 +0300)]
rgw: use the same lock when resharding

Signed-off-by: Orit Wasserman <owasserm@redhat.com>
(cherry picked from commit 173bfc87544e4f349e2d51e8e34acb83c6067897)

6 years agorgw: renew resharding lock during bucket resharding
Orit Wasserman [Fri, 21 Sep 2018 07:48:21 +0000 (10:48 +0300)]
rgw: renew resharding lock during bucket resharding

Signed-off-by: Orit Wasserman <owasserm@owasserm.redhat.com>
(cherry picked from commit 32d85970d4d635a31c35b48fb0fb62c2db11e40a)

6 years agoMerge pull request #25170 from badone/wip-luminous-ceph_ansible-specify-branch-stable-3.2
Yuri Weinstein [Tue, 20 Nov 2018 17:19:43 +0000 (09:19 -0800)]
Merge pull request #25170 from badone/wip-luminous-ceph_ansible-specify-branch-stable-3.2

luminous: qa/ceph-ansible: Specify stable-3.2 branch

Reviewed-by: Yuri Weinstein <yweinste@redhat.com>
6 years agoqa/ceph-ansible: Specify stable-3.2 branch 25170/head
Brad Hubbard [Sun, 18 Nov 2018 23:37:02 +0000 (09:37 +1000)]
qa/ceph-ansible: Specify stable-3.2 branch

Ceph-ansible no longer supports luminous post stable-3.2.

Fixes: https://tracker.ceph.com/issues/37331
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoMerge pull request #25162 from yuriw/wip-yuriw-ceph-ansible-ver-luminous
Yuri Weinstein [Tue, 20 Nov 2018 02:00:59 +0000 (18:00 -0800)]
Merge pull request #25162 from yuriw/wip-yuriw-ceph-ansible-ver-luminous

qa/tests: clean up

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
6 years agoqa/tests: clean up 25162/head
Yuri Weinstein [Tue, 20 Nov 2018 01:53:50 +0000 (17:53 -0800)]
qa/tests: clean up

Signed-off-by: Yuri Weinstein <yweinste@redhat.com>
6 years agoMerge pull request #25134 from alfredodeza/luminous-c-v-dont-duplicated-rejected...
Alfredo Deza [Fri, 16 Nov 2018 18:02:56 +0000 (13:02 -0500)]
Merge pull request #25134 from alfredodeza/luminous-c-v-dont-duplicated-rejected-reasons

luminous ceph-volume: rename Device property valid to available

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
6 years agoc-v device test: rename valid to available 25134/head
Jan Fajerski [Fri, 16 Nov 2018 08:27:34 +0000 (09:27 +0100)]
c-v device test: rename valid to available

Update test to reflect 8a80990471108b0920d1d8aa1239733ae2b20e9c

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 047dc1c157e44642fa83873f02674b146e6d9028)

6 years agoinventory test: rename valid to available
Jan Fajerski [Fri, 16 Nov 2018 08:24:37 +0000 (09:24 +0100)]
inventory test: rename valid to available

Fixes test to reflect 8a80990471108b0920d1d8aa1239733ae2b20e9c

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit d895f97bb021c765f3c4d2d091b23bd0eef19f71)

6 years agoceph-volume: rename Device property valid to available
Jan Fajerski [Fri, 16 Nov 2018 08:22:06 +0000 (09:22 +0100)]
ceph-volume: rename Device property valid to available

This flag is used in the inventory reporting and available is deemed more
appropriate. Furthermore this fixes a bug where rejected_reasons
accumulated duplicate entries.

Fixes: http://tracker.ceph.com/issues/36701
Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 8a80990471108b0920d1d8aa1239733ae2b20e9c)

6 years agoMerge pull request #25131 from alfredodeza/luminous-c-v-inventory-doc
Alfredo Deza [Fri, 16 Nov 2018 15:22:15 +0000 (10:22 -0500)]
Merge pull request #25131 from alfredodeza/luminous-c-v-inventory-doc

luminous doc: add ceph-volume inventory sections

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
6 years agodoc: add ceph-volume inventory sections 25131/head
Jan Fajerski [Wed, 14 Nov 2018 13:09:37 +0000 (14:09 +0100)]
doc: add ceph-volume inventory sections

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit dfc0e1d9a69f6f9ffb1d3e0b0ec33a75827c36e0)

6 years agoMerge pull request #25117 from alfredodeza/luminous-rm26953 25124/head
Andrew Schoen [Thu, 15 Nov 2018 17:23:29 +0000 (11:23 -0600)]
Merge pull request #25117 from alfredodeza/luminous-rm26953

luminous ceph-volume: allow to specify --cluster-fsid instead of reading from ceph.conf

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume tests.lvm verify get_cluster_fsid can read from args or ceph.conf 25117/head
Alfredo Deza [Wed, 3 Oct 2018 19:21:03 +0000 (15:21 -0400)]
ceph-volume tests.lvm verify get_cluster_fsid can read from args or ceph.conf

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 02ea6dc0663cdaf764fdb1a1a5b31a736b854e6e)

6 years agoceph-volume lvm.prepare consume the value from --cluster-fsid if available
Alfredo Deza [Wed, 3 Oct 2018 17:32:05 +0000 (13:32 -0400)]
ceph-volume lvm.prepare consume the value from --cluster-fsid if available

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit a92883e60f3f2206a11b43762b3afcb84b05f07e)

6 years agoceph-volume lvm.common add the --cluster-fsid flag
Alfredo Deza [Wed, 3 Oct 2018 17:31:43 +0000 (13:31 -0400)]
ceph-volume lvm.common add the --cluster-fsid flag

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 15546ae6991c244197537d81092875b12613e20b)

6 years agoMerge pull request #25104 from alfredodeza/luminous-rm-27062
Alfredo Deza [Wed, 14 Nov 2018 23:17:29 +0000 (18:17 -0500)]
Merge pull request #25104 from alfredodeza/luminous-rm-27062

luminous ceph-volume: reject devices that have existing GPT headers

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #25101 from alfredodeza/luminous-bz1644828
Alfredo Deza [Wed, 14 Nov 2018 21:34:27 +0000 (16:34 -0500)]
Merge pull request #25101 from alfredodeza/luminous-bz1644828

luminous ceph-volume: remove LVs when using zap --destroy

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume: update tests after removing the LVPath arg validator 25104/head
Andrew Schoen [Wed, 14 Nov 2018 16:35:32 +0000 (10:35 -0600)]
ceph-volume: update tests after removing the LVPath arg validator

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit 0cb95ace88a731f7c30adf3f2286691fa3b2c49c)

6 years agoceph-volume: return lvs as vg/lv from ValidDevice if as_string is True
Andrew Schoen [Tue, 13 Nov 2018 19:02:39 +0000 (13:02 -0600)]
ceph-volume: return lvs as vg/lv from ValidDevice if as_string is True

All code in prepare and activate expect lvs to be in that format.
Eventually we can refactor all that to use the Device class as well.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit fdf7f3c575299b6be0ac40fb6eee5106cea010c9)

6 years agoceph-volume: adds lv_name property to Device class
Andrew Schoen [Tue, 13 Nov 2018 18:40:45 +0000 (12:40 -0600)]
ceph-volume: adds lv_name property to Device class

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit cc0317efac5a3a25edcdb48af2a63a969c2ac43a)

6 years agoceph-volume: combine the LVPath arg validator with ValidDevice
Andrew Schoen [Tue, 13 Nov 2018 18:28:23 +0000 (12:28 -0600)]
ceph-volume: combine the LVPath arg validator with ValidDevice

This combines the two arg validators and makes both batch and
prepare/active both use ValidDevice.

This will also allow us to use lvs with a full path, like
/dev/vg/lv instead of always enforcing vg/lv.

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit d6a5a7606c3a0c1f1624c5784abb02bb1a4e1620)

6 years agoceph-volume: adds has_gpt_headers property to Device class
Andrew Schoen [Tue, 13 Nov 2018 18:27:19 +0000 (12:27 -0600)]
ceph-volume: adds has_gpt_headers property to Device class

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit 568a0ce5be0161541772ceacb9b81652f51659f5)

6 years agoceph-volume: add PTTYPE to blkid parser
Andrew Schoen [Tue, 13 Nov 2018 15:35:21 +0000 (09:35 -0600)]
ceph-volume: add PTTYPE to blkid parser

Signed-off-by: Andrew Schoen <aschoen@redhat.com>
Resolves: rm#27062
(cherry picked from commit 3d86d2dda9fae87e143e5212d5f354a22f02909d)

6 years agoceph-volume tests update tests to handle new SystemExit exceptions in main 25101/head
Alfredo Deza [Tue, 13 Nov 2018 22:06:03 +0000 (17:06 -0500)]
ceph-volume tests update tests to handle new SystemExit exceptions in main

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 27d0a915d4a7f56aafc603a949b4e4c36772d236)

6 years agoceph-volume tests.api verify that Volume object can be removed
Alfredo Deza [Tue, 13 Nov 2018 22:05:31 +0000 (17:05 -0500)]
ceph-volume tests.api verify that Volume object can be removed

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 9527cffbe335043f7c5a60162138dfe093ae51da)

6 years agoceph-volume api.lvm allow passing a Volume object to remove_lv
Alfredo Deza [Tue, 13 Nov 2018 21:56:02 +0000 (16:56 -0500)]
ceph-volume api.lvm allow passing a Volume object to remove_lv

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit e7daa71604f4d08ace1125bb63dcfe909796d3ab)

6 years agoceph-volume tests.functional.lvm test full removal of LVs
Alfredo Deza [Tue, 13 Nov 2018 21:05:32 +0000 (16:05 -0500)]
ceph-volume tests.functional.lvm test full removal of LVs

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 4656bf0e333a50e0fca5fd0612cdda98ab5d70f9)

6 years agoceph-volume main raise sys.exit to prevent garbage in help
Alfredo Deza [Tue, 13 Nov 2018 13:32:16 +0000 (08:32 -0500)]
ceph-volume main raise sys.exit to prevent garbage in help

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit f695d1716e9fc6252dd713eb8fb08c28b1284611)

6 years agoceph-volume lvm.zap remove vgs|lvs when --destroy is used
Alfredo Deza [Tue, 13 Nov 2018 13:30:23 +0000 (08:30 -0500)]
ceph-volume lvm.zap remove vgs|lvs when --destroy is used

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 677cbbb059185fe2808746b36bd3f988ff2af41c)

6 years agoMerge pull request #25067 from alfredodeza/luminous-rm36768
Andrew Schoen [Tue, 13 Nov 2018 16:12:35 +0000 (10:12 -0600)]
Merge pull request #25067 from alfredodeza/luminous-rm36768

luminous ceph-volume: patch Device when testing

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume tests patch Device() by splitting parametrized method 25067/head
Alfredo Deza [Mon, 12 Nov 2018 17:57:26 +0000 (12:57 -0500)]
ceph-volume tests patch Device() by splitting parametrized method

This was causing failures on systems where there is no LVM or where the
device names don't match. Patching is always recommended to avoid
conflicts with the system testing

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 82d96f876484c9668e2fc4726057691ba2c50f06)

6 years agoceph-volume tests inventory should patch before using .get_devices()
Alfredo Deza [Mon, 12 Nov 2018 17:56:42 +0000 (12:56 -0500)]
ceph-volume tests inventory should patch before using .get_devices()

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 7ee7a59910c9837659419c235f669a53cc9f613c)

6 years agoMerge pull request #25012 from alfredodeza/luminous-rm36470
Andrew Schoen [Mon, 12 Nov 2018 16:15:08 +0000 (10:15 -0600)]
Merge pull request #25012 from alfredodeza/luminous-rm36470

luminous ceph-volume enable  --no-systemd flag for simple sub-command

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #25014 from alfredodeza/luminous-ceph-volume-inventory
Alfredo Deza [Mon, 12 Nov 2018 13:37:52 +0000 (08:37 -0500)]
Merge pull request #25014 from alfredodeza/luminous-ceph-volume-inventory

luminous ceph-volume: add inventory command

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
6 years agoceph-volume: add inventory command 25014/head
Jan Fajerski [Wed, 31 Oct 2018 13:59:05 +0000 (14:59 +0100)]
ceph-volume: add inventory command

The inventory command provides information about a nodes disk inventory.
Existing logical volumes on a disk or one of its partitions are scanned
and reported.
The output can be formatted as plain text or json.

Signed-off-by: Jan Fajerski <jfajerski@suse.com>
(cherry picked from commit 57adfc6bb8abd9fc84b1378d5f69a16994d19e11)

6 years agoceph-volume tests ensure activate behavior with systemd disabling 25012/head
Alfredo Deza [Thu, 8 Nov 2018 19:14:17 +0000 (14:14 -0500)]
ceph-volume tests ensure activate behavior with systemd disabling

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 3e80118ccaccaa61e92b01f4f389d6056401d8a7)

6 years agoceph-volume simple.activate factor out systemd interactions for easier testing
Alfredo Deza [Thu, 8 Nov 2018 19:13:52 +0000 (14:13 -0500)]
ceph-volume simple.activate factor out systemd interactions for easier testing

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 18ddd962116b5359af770088535f502797ac79c4)

6 years agoceph-volume simple.trigger replace systemd with from_trigger keyword argument
Alfredo Deza [Thu, 8 Nov 2018 14:14:24 +0000 (09:14 -0500)]
ceph-volume simple.trigger replace systemd with from_trigger keyword argument

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 9526587403b76fa5397ae80b63328e3a59765c2e)

6 years agoceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions
Alfredo Deza [Thu, 8 Nov 2018 14:13:31 +0000 (09:13 -0500)]
ceph-volume simple.activate allow a --no-systemd flag to skip systemctl actions

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
(cherry picked from commit 4d9ad0d3d4bedd5efa95653fbb86607f0b469174)

6 years agoMerge pull request #24981 from alfredodeza/luminous-bz1644265
Alfredo Deza [Fri, 9 Nov 2018 14:07:22 +0000 (09:07 -0500)]
Merge pull request #24981 from alfredodeza/luminous-bz1644265

luminous ceph-volume util.encryption robust blkid+lsblk detection of lockbox

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume util.encryption robust blkid+lsblk detection of lockbox 24981/head
Alfredo Deza [Fri, 2 Nov 2018 19:03:45 +0000 (15:03 -0400)]
ceph-volume util.encryption robust blkid+lsblk detection of lockbox

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit fc3e6ea3d9200e0fe2a3aa2576fcd45db223c277)

6 years agoMerge pull request #24960 from alfredodeza/luminous-rm36672
Alfredo Deza [Wed, 7 Nov 2018 11:46:32 +0000 (06:46 -0500)]
Merge pull request #24960 from alfredodeza/luminous-rm36672

luminous ceph-volume tests install ceph-ansible's requirements.txt dependencies

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #24958 from alfredodeza/luminous-rm36704
Andrew Schoen [Tue, 6 Nov 2018 21:46:05 +0000 (15:46 -0600)]
Merge pull request #24958 from alfredodeza/luminous-rm36704

luminous: ceph-volume tests.systemd update imports for systemd module

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoceph-volume tests install ceph-ansible's requirements.txt dependencies 24960/head
Alfredo Deza [Thu, 1 Nov 2018 12:48:28 +0000 (08:48 -0400)]
ceph-volume tests install ceph-ansible's requirements.txt dependencies

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 52ddb69813c5849506db5f850a3f2532ff1124b5)

6 years agoceph-volume tests.systemd update imports for systemd module 24958/head
Alfredo Deza [Tue, 6 Nov 2018 14:45:08 +0000 (09:45 -0500)]
ceph-volume tests.systemd update imports for systemd module

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit a63a6c86a03738bf50fa71a490951343a83afff6)

6 years agoceph-volume systemd import main so console_scripts work for executable
Alfredo Deza [Tue, 6 Nov 2018 14:44:39 +0000 (09:44 -0500)]
ceph-volume systemd import main so console_scripts work for executable

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 280e2baab27cc061d2d5e456f098cd3405f36873)

6 years agoMerge pull request #24827 from alfredodeza/luminous-rm36246
Andrew Schoen [Tue, 6 Nov 2018 21:05:48 +0000 (15:05 -0600)]
Merge pull request #24827 from alfredodeza/luminous-rm36246

luminous ceph-volume util.encryption don't push stderr to terminal

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #24837 from alfredodeza/luminous-no-scripts
Andrew Schoen [Tue, 6 Nov 2018 21:04:30 +0000 (15:04 -0600)]
Merge pull request #24837 from alfredodeza/luminous-no-scripts

luminous ceph-volume: use console_scripts

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #24853 from ceph/luminous-rm36648
Andrew Schoen [Tue, 6 Nov 2018 20:38:21 +0000 (14:38 -0600)]
Merge pull request #24853 from ceph/luminous-rm36648

luminous ceph-volume systemd import main so console_scripts work for executable

Reviewed-by: Andrew Schoen <aschoen@redhat.com>
6 years agoMerge pull request #24902 from neha-ojha/wip-revert-23493-luminous
Yuri Weinstein [Mon, 5 Nov 2018 22:14:30 +0000 (14:14 -0800)]
Merge pull request #24902 from neha-ojha/wip-revert-23493-luminous

luminous: Revert "PG: add custom_reaction Backfilled and release reservations after backfill

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
6 years agoMerge pull request #24903 from neha-ojha/wip-revert-pg-log-limit
Yuri Weinstein [Mon, 5 Nov 2018 22:12:42 +0000 (14:12 -0800)]
Merge pull request #24903 from neha-ojha/wip-revert-pg-log-limit

luminous: Revert pg log limit changes

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
6 years agoMerge pull request #24432 from smithfarm/wip-35935-luminous
Yuri Weinstein [Mon, 5 Nov 2018 22:11:08 +0000 (14:11 -0800)]
Merge pull request #24432 from smithfarm/wip-35935-luminous

luminous: OSDMapMapping does not handle active.size() > pool size

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24706 from smithfarm/wip-36552-luminous
Yuri Weinstein [Mon, 5 Nov 2018 22:10:12 +0000 (14:10 -0800)]
Merge pull request #24706 from smithfarm/wip-36552-luminous

luminous: gperftools-libs-2.6.1-1 or newer required for binaries linked against corresponding version at build time

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Tim Serong <tserong@suse.com>
6 years agoMerge pull request #24746 from smithfarm/wip-36591-luminous
Yuri Weinstein [Mon, 5 Nov 2018 22:08:23 +0000 (14:08 -0800)]
Merge pull request #24746 from smithfarm/wip-36591-luminous

luminous: segv in BlueStore::OldExtent::create

Reviewed-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #24802 from tchaikov/wip-luminous-35067
Yuri Weinstein [Mon, 5 Nov 2018 22:07:56 +0000 (14:07 -0800)]
Merge pull request #24802 from tchaikov/wip-luminous-35067

luminous: core: by pass cache if performing deep scrub

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agodoc: make note of pg log hard limit upgrade bug in PendingReleaseNotes 24903/head
Neha Ojha [Mon, 5 Nov 2018 19:47:26 +0000 (14:47 -0500)]
doc: make note of pg log hard limit upgrade bug in PendingReleaseNotes

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd: make calc_trim_to() independent of min_last_complete_ondisk"
Neha Ojha [Fri, 2 Nov 2018 23:51:03 +0000 (19:51 -0400)]
Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk"

This reverts commit 3ecbf2a41fef3591ff247a212338b9a2d02a3468.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd: print pg log length and trim_to"
Neha Ojha [Fri, 2 Nov 2018 23:50:50 +0000 (19:50 -0400)]
Revert "osd: print pg log length and trim_to"

This reverts commit 21a72d2a52f8241ebe0a5455f030d2095e413025.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd: handle trim() during backfill"
Neha Ojha [Fri, 2 Nov 2018 23:50:38 +0000 (19:50 -0400)]
Revert "osd: handle trim() during backfill"

This reverts commit bdfc2a3b4fa8038ade31ccab5f5479508e9afff3.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd: allow trim() to proceed when there are missing items"
Neha Ojha [Fri, 2 Nov 2018 23:50:22 +0000 (19:50 -0400)]
Revert "osd: allow trim() to proceed when there are missing items"

This reverts commit d08f0aec86ecd9b23310f1c41f9cb9060f10bc6b.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd: reset complete_to when trimming the log past it"
Neha Ojha [Fri, 2 Nov 2018 23:50:03 +0000 (19:50 -0400)]
Revert "osd: reset complete_to when trimming the log past it"

This reverts commit 715d1fdbfc407de81686784d99fe28b51c6d97ef.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PGLog: allow pg log trim when complete_to is less than trim_to"
Neha Ojha [Fri, 2 Nov 2018 23:49:41 +0000 (19:49 -0400)]
Revert "osd/PGLog: allow pg log trim when complete_to is less than trim_to"

This reverts commit be8b406d9162a1f46b3eac2fca07b0cf20697b90.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout"
Neha Ojha [Fri, 2 Nov 2018 23:49:21 +0000 (19:49 -0400)]
Revert "osd/PGLog.cc: use lgeneric_subdout instead of generic_dout"

This reverts commit f2ea4f8b67ac972cd428e8ea8f2ff062b1624677.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "src/osd/PG.cc: remove redundant call to trim_log()"
Neha Ojha [Fri, 2 Nov 2018 23:47:54 +0000 (19:47 -0400)]
Revert "src/osd/PG.cc: remove redundant call to trim_log()"

This reverts commit 31616627dcfb2b6ab7db7da025e191dc34094bb8.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PGLog.cc: check if complete_to points to log.end()"
Neha Ojha [Fri, 2 Nov 2018 23:47:37 +0000 (19:47 -0400)]
Revert "osd/PGLog.cc: check if complete_to points to log.end()"

This reverts commit ac772c90dfc3749527246242a3a84e5e48ff52e1.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to"
Neha Ojha [Fri, 2 Nov 2018 23:46:22 +0000 (19:46 -0400)]
Revert "osd/PrimaryLogPG.cc: limit trimming at can_rollback_to"

This reverts commit 0e57c101c9dd51ee3a84123c96e626799ab6d21e.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to"
Neha Ojha [Fri, 2 Nov 2018 23:45:30 +0000 (19:45 -0400)]
Revert "osd/PrimaryLogPG: avoid dereferencing invalid complete_to"

This reverts commit eb3bdf0714b9c78c5b3634d4efe3b603824fea09.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "osd/PrimaryLogPG: fix potential pg-log overtrimming"
Neha Ojha [Fri, 2 Nov 2018 23:34:18 +0000 (19:34 -0400)]
Revert "osd/PrimaryLogPG: fix potential pg-log overtrimming"

This reverts commit 85a029a7242a1c6eef4e90ae246541e08207302a.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoRevert "PG: add custom_reaction Backfilled and release reservations after backfill" 24902/head
Neha Ojha [Fri, 2 Nov 2018 23:37:17 +0000 (19:37 -0400)]
Revert "PG: add custom_reaction Backfilled and release reservations after backfill"

This reverts commit f512f905b140bfa9cc3241793e441de2c377e60b.

Signed-off-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge pull request #24854 from cbodley/wip-36536
Yuri Weinstein [Thu, 1 Nov 2018 16:10:36 +0000 (09:10 -0700)]
Merge pull request #24854 from cbodley/wip-36536

luminous: rgw: user stats account for resharded buckets

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24855 from cbodley/wip-36534
Yuri Weinstein [Thu, 1 Nov 2018 16:10:00 +0000 (09:10 -0700)]
Merge pull request #24855 from cbodley/wip-36534

luminous: cls/user: cls_user_remove_bucket writes modified header

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24862 from jonsger/luminous-backport-pr#23242
Yuri Weinstein [Thu, 1 Nov 2018 16:09:27 +0000 (09:09 -0700)]
Merge pull request #24862 from jonsger/luminous-backport-pr#23242

luminous: rgw: set default objecter_inflight_ops = 24576

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24454 from croit/luminous-36041
Yuri Weinstein [Thu, 1 Nov 2018 16:06:06 +0000 (09:06 -0700)]
Merge pull request #24454 from croit/luminous-36041

luminous: rgw/beast: drop privileges after binding ports

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24507 from pdvian/wip-36212-luminous
Yuri Weinstein [Thu, 1 Nov 2018 16:05:36 +0000 (09:05 -0700)]
Merge pull request #24507 from pdvian/wip-36212-luminous

luminous: rgw: RGWAsyncGetBucketInstanceInfo does not access coroutine memory

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24519 from pdvian/wip-36214-luminous
Yuri Weinstein [Thu, 1 Nov 2018 16:05:10 +0000 (09:05 -0700)]
Merge pull request #24519 from pdvian/wip-36214-luminous

luminous: rgw: fix leak of curl handle on shutdown

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24570 from joke-lee/luminous-list-RGWPostObj-when-enable-versioning
Yuri Weinstein [Thu, 1 Nov 2018 16:04:35 +0000 (09:04 -0700)]
Merge pull request #24570 from joke-lee/luminous-list-RGWPostObj-when-enable-versioning

luminous: rgw: list bucket can not show the object uploaded by RGWPostObj when enable bucket versioning

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agoMerge pull request #24857 from jonsger/luminous-backport-pr#23534
Yuri Weinstein [Thu, 1 Nov 2018 16:03:53 +0000 (09:03 -0700)]
Merge pull request #24857 from jonsger/luminous-backport-pr#23534

luminous: rgw: multisite: enforce spawn_window for data full sync

Reviewed-by: Casey Bodley <cbodley@redhat.com>
6 years agorgw: set default objecter_inflight_ops = 24576 24862/head
Matt Benjamin [Wed, 25 Jul 2018 20:06:33 +0000 (16:06 -0400)]
rgw: set default objecter_inflight_ops = 24576

Fixes: http://tracker.ceph.com/issues/25109
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit 102c5bd)
Signed-off-by: Jonathan Brielmaier <jbrielmaier@suse.de>
Conflicts:
src/rgw/rgw_main.cc: use the existing vector, there is no map

6 years agoceph-volume systemd import main so console_scripts work for executable 24853/head
Alfredo Deza [Tue, 30 Oct 2018 19:50:28 +0000 (15:50 -0400)]
ceph-volume systemd import main so console_scripts work for executable

Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit 0bcda52566279404b88184b2ce7b2200d581b0b7)

6 years agocls/user: cls_user_remove_bucket writes modified header 24855/head
Casey Bodley [Wed, 17 Oct 2018 18:50:18 +0000 (14:50 -0400)]
cls/user: cls_user_remove_bucket writes modified header

if cls_user_remove_bucket() modifies the header with dec_header_stats(),
it should write the updated header back

Fixes: http://tracker.ceph.com/issues/36496
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit dac26de1fa7b56ce0ec2fd43d26ab9a9b6a32e3d)

6 years agorgw: cls_user_set_buckets_info can update bucket id 24854/head
Casey Bodley [Mon, 15 Oct 2018 20:38:31 +0000 (16:38 -0400)]
rgw: cls_user_set_buckets_info can update bucket id

if cls_user_set_bucket_info() finds an existing bucket entry, it does
not update its bucket id

Fixes: https://tracker.ceph.com/issues/24505
Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit e1b97fc2e804d040e8aa6fc8a94e336222d1175e)

6 years agorgw: rgw_user_sync_all_stats uses bucket entrypoint
Casey Bodley [Mon, 15 Oct 2018 20:25:20 +0000 (16:25 -0400)]
rgw: rgw_user_sync_all_stats uses bucket entrypoint

when bucket reshard completes, rgw_link_bucket() passes the new bucket
instance id down to cls_user, but cls_user_set_buckets_info() does not
change the instance id when it's updating an existing bucket. so when
rgw_user_sync_all_stats() looks up each of the user's buckets, it uses
the original bucket instance id instead of the resharded one and
calculates user stats that may not match the current bucket stats

as a workaround, rgw_user_sync_all_stats() no longer relies on the
bucket instance id it gets from rgw_read_user_buckets(), and instead
calls get_bucket_info() to look up the current instance in the bucket
entrypoint

Signed-off-by: Casey Bodley <cbodley@redhat.com>
(cherry picked from commit b33328ff9bacd11d8449cb3b5c52f94d9dffec6e)