Kotresh HR [Tue, 5 Jan 2021 12:55:54 +0000 (18:25 +0530)]
mgr/volumes: Update the 'volumes' key to 'subvolumes' in auth metadata file
The older auth metadata files created by CephVolumeClient stores the
authorized subvolumes using the 'volumes' key as the notion of
'subvolumes' brought in by mgr/volumes. Hence, this would be tranparently
updated to 'subvolumes' and newer auth metadata files would store them
with 'subvolumes' key.
Also fails the deauthorize if the auth-id doesn't exist.
Optionally allow authorizing auth-ids not created by mgr plugin
via the option 'allow_existing_id'. This can help existing deployers
of manila to disallow/allow authorization of pre-created auth IDs
via a manila driver config that sets 'allow_existing_id' to False/True.
Kotresh HR [Tue, 15 Dec 2020 12:01:54 +0000 (17:31 +0530)]
mgr/volumes: Preserve existing caps while authorize/deauthorize auth-id
Authorize/Deauthorize used to overwrite the caps of auth-id which would
end up deleting existing caps. This patch fixes the same by retaining
the existing caps by appending or deleting the new caps as needed.
Kotresh HR [Mon, 4 Jan 2021 13:04:54 +0000 (18:34 +0530)]
mgr/volumes: Disallow authorize existing auth_id
This patch disallow the mgr plugin to authorize the auth_id
which is not created via mgr plugin. Those auth_ids could be
created by other means for other use cases which should not be modified
via mgr plugin.
Kotresh HR [Wed, 18 Nov 2020 10:13:25 +0000 (15:43 +0530)]
mgr/volumes: Persist auth and subvolume metadata
1. Subvolume create and delete operations create and delete subvolume
metadata file respectively.
2. Subvolume authorize creates the auth meta file and persists the
required metadata on subvolume metadata file and auth metdata file
on disk. Subvolume deauthorize clears the required metadata on
both metadata files.
Jan Fajerski [Tue, 12 Jan 2021 09:10:44 +0000 (10:10 +0100)]
Merge PR #34859 into master
* refs/pull/34859/head:
test: Initialize timer
test: Avoid named semaphores on Windows
test: Update cmake files, allowing tests to run on Windows
test: port Ceph tests to Windows
Patrick Donnelly [Mon, 11 Jan 2021 18:12:17 +0000 (10:12 -0800)]
Merge PR #38640 into master
* refs/pull/38640/head:
qa: add test for reserved keyword feature
qa: use no client for required client feature tests
mds: do not allow setting a reserved feature by name
mds: return sv for efficiency
Reviewed-by: Jos Collin <jcollin@redhat.com> Reviewed-by: Rishabh Dave <ridave@redhat.com>
Patrick Donnelly [Mon, 11 Jan 2021 16:38:52 +0000 (08:38 -0800)]
Merge PR #38108 into master
* refs/pull/38108/head:
doc, man: man page for `cephfs-top` utility
doc: document `cephfs-top` utility
test: selftest for `cephfs-top` utility
spec, deb: package cephfs-top utility
cephfs-top: top(1) like utility for Ceph Filesystem
mgr/stats: include kernel version (for kclients) in `perf stats` command output
mgr/stats: include version with `perf stats` output
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Sebastian Wagner [Mon, 11 Jan 2021 14:04:55 +0000 (15:04 +0100)]
Merge pull request #38141 from Daniel-Pivonka/nodeexporterpullauth
cephadm: fix podman failure to pull authenticated registry image from systemd unit
Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com> Reviewed-by: Michael Fritch <mfritch@suse.com> Reviewed-by: Paul Cuzner <pcuzner@redhat.com> Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
Sebastian Wagner [Mon, 11 Jan 2021 11:02:25 +0000 (12:02 +0100)]
Merge pull request #38615 from adk3798/haproxy-stuff
mgr/cephadm: HA for RGW endpoints
Reviewed-by: Daniel-Pivonka <dpivonka@redhat.com> Reviewed-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com> Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
common/options.h: use uint64_t for TYPE_SIZE options regardless of CPU architecture
On 32 bit systems TYPE_SIZE should remain as 64 bit value as large number of default options of TYPE_SIZE easily overflow 32 bit word. Also cluster wide options from 64 bit systems should fit unmodified into options structures on 32 bit systems.
Signed-off-by: Vladimir Bashkirtsev <vladimir@bashkirtsev.com>
* refs/pull/38698/head:
client: fix the cache size check
client: add more detail info for the _put_inode debug log
client: skip putting inodes if map is empty
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Greg Farnum [Fri, 8 Jan 2021 22:17:07 +0000 (22:17 +0000)]
osd: osdmap: do not assert target_v when encoding in stretch mode
Again, this was an overly-strict safety check. It passed testing against
(even old) userspace clients, but the kernel clients don't have all the
same feature bits and so when encoding for them, we see lower target_v values
and assert out erroneously.
As before, monitors and OSDs that actually need to interpret this data
are gated on cluster entry, so we don't need this safety check here.
Daniel-Pivonka [Mon, 26 Oct 2020 18:34:39 +0000 (14:34 -0400)]
cephadm: HA for RGW endpoints
Cephadm deploying keepalived and HAproxy for providing High availability for RGW endpoints
Fixes: https://tracker.ceph.com/issues/45116 Signed-off-by: Daniel-Pivonka <dpivonka@redhat.com> Signed-off-by: Adam King <adking@redhat.com> Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
* refs/pull/38664/head:
qa: bump scrub timeout
qa: move cephfs_ec_profile under cephfs
qa: do not use ec pools for default data pool
qa: skip check-counters for light workloads
qa: remove empty multimds suite
qa: merge multimds:verify with fs:verify
qa: merge multimds:thrash to fs:thrash
qa: remove dead multimds:basic
qa: move functional multimds tests to fs:functional
qa: migrate multimds workloads to fs:workloads
qa: only run valgrind on cephfs daemons
qa: stop testing filestore on cephfs suites
qa: load data pools before deleting fs
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Tested-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/38693/head:
qa: execute scrubs only on rank 0
client: print debug information about resolved MDS
qa: let Client::resolve_mds lookup the rank
Kefu Chai [Fri, 8 Jan 2021 07:55:49 +0000 (15:55 +0800)]
common/Throttle: return new count in put() right away
before this change, the is a racing after updating `count`, where
`count` could be updated again by another thread using this Throttle
instance. but the caller expects the value before the second mutation.
actually, the only caller which care about the return value is the
unittests in test/common/Throttle.cc. and without this change, the
ThrottleTest.get test fails randomly. almost 1 out of 5 runs fails.
after this change, the test passes after running for 256 times without
failures.
Varsha Rao [Tue, 8 Dec 2020 18:16:27 +0000 (23:46 +0530)]
mgr/volumes/nfs: remove 'ganesha-' prefix from cluster id
Orchestrator defines service name as "<service_type>.<service_id>". The ganesha
common config object name in orchestrator is "conf-<service_name>". Volume's
nfs plugin deploys nfs-ganesha clusters with 'ganesha' prefixed to cluster id
and common config object. It can cause unecessary issues in rook and cephadm.
So let's remove the prefix.