rgw: fix reading bucket policy in RGWBucket::get_policy()

Fixes: 6940
Backport: dumpling, emperor

We changed the way we keep the bucket policy, and we shouldn't try to
access the bucket object directly. This had changed when we added the
bucket instance object around dumpling.

Reported-by: Gao, Wei M <wei.m.gao@intel.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge pull request #908 from ceph/wip-6940

rgw: fix reading bucket policy in RGWBucket::get_policy()

Reviewed-by: Sage Weil <sage@inktank.com>
v0.74
rados: allow listomapvals to list all k/v pairs

Current code only lists first 512 k/v pairs.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
qa: test rados listomapvals with >512 keys

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
msgr: fix rebind() race
stop the accepter and mark all pipes down before rebind to avoid race

Fixes: #6992

Signed-off-by: Xihui He xihuihe@gmail.com
osd_types: add missing osd op flags

These were accidentally removed in:
85282319ee3e0d535d1ffc0a6ae8f763a41628b7

Fixes: #7067
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
Merge pull request #1024 from jdurgin/wip-7067

osd_types: add missing osd op flags

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1016 from bydsky/bugfix

Fix Issue #6992: stop the accepter and mark all pipes down before rebind

Backport: emperor, dumpling
Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1009 from dachary/wip-mon-idempotent

make ceph-mon --mkfs idempotent

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1022 from ceph/wip-listomapvals

fix rados listomapvals for >512 keys

Reviewed-by: Sage Weil <sage@inktank.com>
Merge pull request #1011 from dachary/wip-mon-daemonize

do not daemonize ceph-mon when not necessary

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
osd/ReplicatedPG: improve debug output from check_local

This will help with #6685

Signed-off-by: Sage Weil <sage@inktank.com>
Merge branch 'next'
mon: do not use the keyring if auth = none

The Monitor::is_keyring_required() predicate is defined to be used in
the mkfs code path and not require the keyring to be set unless it is
actually going to be used.

If authentication is turned on later on existing monitors, the keyring
files will have to be set by an external tool in the mon data directory
and the mon restarted.

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: fix indentation

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: implement --key for --mkfs

Allow --key to be used as an alternative to --keyring when ceph-mon
--mkfs runs. The key is wrapped inline into

     [mon.]
	key = AQDUS79S0AF9FRAA2cgRLFscVce0gROn/s9WMg==
	caps mon = "allow *"

and parsed with KeyRing::decode_plaintext which is made public.

Signed-off-by: Loic Dachary <loic@dachary.org>
mon: tests for ceph-mon --mkfs

* auth none must not require a keyring
* --key can be used as an alternative to --keyring
* --mkfs is idempotent
* the --mon-data directory is created if it does not exist
* auth ceph requires --keyring

Signed-off-by: Loic Dachary <loic@dachary.org>