Commit Graph

102962 Commits

Author SHA1 Message Date
J. Eric Ivancich
c2a4a7159a rgw: adjust allowable bucket index shard counts for dynamic resharding
This commit adds a configurable option rgw_max_dynamic_shards that
provides a maximum bucket index shard count that dynamic resharding
can take a bucket to; the default is 1999. Note: this does not limit
the number of bucket index shards when set manually.

This commit also only allows prime shard counts when
rgw_max_dynamix_shards is no larger than 1999. Once it is larger, then
it allows any shard count, including non-prime values.

Finally, this commit adds unit tests to make sure the bucket index
shard count calculations work as expected.

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
2019-10-11 15:58:45 -04:00
Sage Weil
37e2e76fa8 Merge PR #30788 into master
* refs/pull/30788/head:
	Revert "ceph-volume: accept --no-tmpfs argument for bluestore"
	Revert "ceph-volume: no_tmpfs -> tmpfs"

Reviewed-by: Jan Fajerski <jfajerski@suse.com>
Reviewed-by: Guillaume Abrioux <gabrioux@redhat.com>
2019-10-08 10:11:56 -05:00
Jan Fajerski
a73c238a8f
Merge pull request #30707 from rishabh-d-dave/cv-remove-purge-from-vg-filter
ceph-volume: VolumeGroups.filter shouldn't purge itself
2019-10-08 16:42:26 +02:00
Jan Fajerski
40ba67050f
Merge pull request #30703 from rishabh-d-dave/cv-remove-purge-from-pvolumes-filter
ceph-volume: PVolumes.filter shouldn't purge itself
2019-10-08 16:41:39 +02:00
Sage Weil
a7ff510c18 Revert "ceph-volume: accept --no-tmpfs argument for bluestore"
This reverts commit e6c578a2bc.

It turns out this change isn't actually needed to make ceph-daemon do its thing, since
ceph-volume alrady skips doing anything with tmpfs if the data dir already exists.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-08 07:53:35 -05:00
Sage Weil
ba2d5b6c76 Revert "ceph-volume: no_tmpfs -> tmpfs"
This reverts commit 0092c5b603.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-08 07:28:05 -05:00
Sage Weil
e560faf65a Merge PR #30593 into master
* refs/pull/30593/head:
	os/bluestore: memorize layout of BlueFS on management.

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
2019-10-07 19:56:49 -05:00
Sage Weil
6fd67f19e3 Merge PR #30603 into master
* refs/pull/30603/head:
	ceph-daemon: -n type.id instead of -i id
	ceph-daemon: drop unused VERSION
	ceph-daemon: clean up dir helpers, tighten up permissions
	ceph-daemon: fchmod before writing to keyring file
	test_ceph_daemon.sh: skip ssh until container image has remoto
	ceph-daemon: decode utf-8 in run() helper
	mgr/ssh: clean up debug cruft
	mgr/ssh: clean up bare except: block
	ceph-daemon: clean up bare except: blocks
	ceph-daemon: all imports to top
	ceph-volume: no_tmpfs -> tmpfs
	doc/bootstrap: add new bootstrap documentation
	ceph-daemon: add --output-pub-ssh-key for bootstrap
	ceph-daemon: make 'shell' easier to use
	ceph-daemon: support docker; prefer podman
	qa: add ceph-daemon
	debian: ceph-daemon package, required by ceph-mgr-ssh
	ceph.spec.in: ceph-daemon package, required by ceph-mgr
	common/options: cleanup whitespace
	mgr/ssh: simplify getting the cluster fsid
	mgr/ssh: pipe ceph-daemon script to stdin of python3
	ceph-daemon: add support for args and/or stdin from top of script
	ceph-daemon: make ceph-volume use get_config_and_keyring
	ceph-daemon: ls: behave if /var/log/ceph doesn't exist
	ceph-daemon: implement 'adopt' for legacy style daemons
	ceph-daemon: fix fsid detection for legacy osds
	ceph-daemon: make rm-cluster clean up system-ceph*.slice too
	ceph-daemon: configure ssh orchestrator
	ceph-daemon: be more restrictive with file permissions
	mgr/ssh: create osd with ceph-daemon
	mgr/ssh: pass daemon id separately to _create_daemon
	ceph-daemon: add --config-and-keyring to ceph-volume command
	ceph-daemon: create log path for shell (if needed)
	mgr/ssh: use _run_ceph_daemon for _create_daemon
	mgr/ssh: factor _run_ceph_daemon out of _get_device_inventory
	mon/ConfigMonitor: allow entity type only for 'config get'
	ceph-daemon: add ceph-volume subcommand
	ceph-daemon: remove unused CephContainer dname property
	ceph-daemon: drop useless uid/gid checks
	mgr/ssh: deploy new mgrs with ceph-daemon
	mgr/ssh: factor _create_daemon out of create_mon
	mon/MonCap: allow mgr to create new auth keys
	mgr/ssh: run c-v with podman when getting inventory
	mgr/ssh: simplify ssh connection management
	mgr/ssh: use ceph-daemon for deploying mon
	ceph-daemon: allow --mon-network for deploying new mon (vs specifying IP)
	ceph-daemon: --config-and-keyring (not key)
	common/options: add 'image' config option
	test_ceph_daemon: specify image name
	vstart.sh: add --ssh to enable+configure ssh orchestrator
	mgr/ssh: use ssh identity from config-key, if present
	mgr/ssh: hardcode default ssh_config
	ceph-daemon: store ssh identity in mon config-key store
	ceph-daemon: --privileged arg for 'exec'
	ceph-daemon: make deploy work for osd (do a c-v prepare)
	ceph-daemon: make shell privileged
	ceph-daemon: move get_container_mounts to a helper
	ceph-daemon: pass full path for entrypoint
	ceph-daemon: make id portion of 'shell' optional
	ceph-volume: accept --no-tmpfs argument for bluestore
	ceph-daemon: 'unit' command
	ceph-daemon: fix run command to use call(), not check_output()
	src/ceph-daemon: whitespace
	ceph-daemon: add 'enter', 'exec' commands
	ceph-daemon: bind config to default location
	test_ceph_daemon.sh: test deploy mds too
	ceph-daemon: generate ssh keys
	ceph-daemon: --config, not --conf
	ceph-daemon: long lines
	ceph-daemon: add --config to bootstrap
	ceph-daemon: add 'shell' command
	ceph-daemon: do not import subprocess symbols directly
	ceph-daemon: add mons with 'deploy mon.x ...'
	ceph-daemon: add 'ls'
	ceph-daemon: simplify uid/gid a bit
	ceph-daemon: fix libudev
	ceph-daemon: autodetect uid/gid from container image
	ceph-daemon: default to empty log files, log to stderr (systemd journal)
	ceph-daemon: rm-{daemon,cluster}
	ceph-daemon: fix bootstrap config
	ceph-daemon: fix args.fsid usage
	ceph-daemon: be careful overwriting live files
	ceph-daemon: slurp some options over from the standard systemd unit
	ceph-daemon: add ceph.target and ceph-$fsid.target units
	test_ceph_daemon.sh: stupid test script
	ceph-daemon: bootstrap and deploy (mgr) work
	ceph-daemon: initial checkin
	ceph-mon: fix debug print of public_addr
2019-10-07 15:31:14 -05:00
Lenz Grimmer
d1df5cad6b
doc/mgr/dashboard: Fix duplication for NFS-Ganesha (#30700)
doc/mgr/dashboard: Fix duplication for NFS-Ganesha

Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
2019-10-07 15:11:04 +00:00
Kefu Chai
20c8007c26
Merge pull request #30736 from tchaikov/wip-crimson/osd/cleanups
crimson/osd: cleanups

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
2019-10-07 17:38:47 +08:00
Lenz Grimmer
ed16537a63
mgr/dashboard: Unify Tasks and Notifications into a sidebar (#29706)
mgr/dashboard: Unify Tasks and Notifications into a sidebar

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
2019-10-07 08:55:27 +00:00
Lenz Grimmer
9154026c59
Merge pull request #30720 from rhcs-dashboard/fix-constraints-backend-api-tests
mgr/dashboard: fix missing constraints file in backend API tests

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
2019-10-07 08:48:14 +00:00
Mykola Golub
8ec5f6c8d7
Merge pull request #30711 from dillaman/wip-41938
librbd: v1 clones are restricted to the same namespace

Reviewed-by: Mykola Golub <mgolub@suse.com>
2019-10-07 11:30:02 +03:00
Kefu Chai
73ee20ea26
Merge pull request #30656 from tchaikov/wip-install-deps-for-el8
install-deps.sh: enable PowerTool repo for EL8

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-07 16:06:30 +08:00
Kefu Chai
20773e01e5
Merge pull request #30693 from rzarzynski/wip-msg-fix-comments-std_set
msg: fix comments in Messenger.h after the set -> std::set switch.

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-10-07 15:15:42 +08:00
Kefu Chai
1509825926
Merge pull request #30719 from pdvian/wip-fix-sign-compare-warning
client/Client : Fix sign compare compiler warning

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-10-07 13:25:03 +08:00
Prashant D
af41fae4df client/Client : Fix sign compare compiler warning
introduced by 394720ca6b

Signed-off-by: Prashant D <pdhange@redhat.com>
2019-10-06 23:46:42 -04:00
Ali Maredia
d4872ce97a
Merge pull request #29783 from scarvalhojr/ssevault
rgw: add SSE-KMS with Vault using token auth
2019-10-06 22:33:36 -04:00
Sage Weil
bbc7bb5a22 Merge PR #30217 into master
* refs/pull/30217/head:
	crimson: common/admin_socket kludge so that it builds
	mon/MonClient: fix sending mon command to a specific rank
	src/.gitignore: ignore .tox
	mon/MonClient: interpret numeric mon target name as rank
	mgr,mgr/MgrClient: use fsid to signal mon-mgr vs cli MCommands
	qa/workunits/cephtool: fix errpr checks for 'ceph daemon' commands
	common/ceph_context: make 'config unset' idempotent
	qa/tasks/dump_stuck: mon.a, not mon.0
	qa/suites/rados/singleton/all/admin-socket: fix test
	common/config: EPERM setting config option after startup
	qa/workunits/cephtool/test.sh: fix tell output error check
	common/admin_socket: pass Formatter from generic infrastructure
	common/admin_socket: pass ostream to call() for error output
	os/bluestore: fix asok hook return value
	rgw: fix asok return value
	common/ceph_context: return error code from asok commands
	test/pybind/test_rados: fix accidental mon tell test
	mon: print entity_name along with caps to debug log
	PendingReleaseNotes: notes about asok changes
	mgr/MgrClient: empty target string for 'tell' means active mgr
	common/admin_socket: report error code as part of output string
	osd: change trigger_[deep_]scrub tommands to a pg tell command
	osd: remove old command workqueue, threadpool
	osd: drop MMonCommand handling
	osdc/Objecter: resend OSD tell commands on EAGAIN
	osd: route tell commands to asok; migrate commands
	osd: use unique_ptr<Formatter> for asok_command
	common/ceph_context: add generic asok 'injectargs'
	common/admin_socket: allow dup prefixes
	common/admin_socket: refactor with sync and async execute_command variants
	common/admin_socket: pass input bufferlist
	osd: transition to call_async() for asok
	common/admin_socket: support alternative call_async()
	mon/MonClient: send tell commands out of band via MCommand
	mon: accept tell commands via MCommand and send them to asok handler
	common/admin_socket: return int from hook call()
	mgr/DaemonServer: route MCommand (for octopus+) to asok commands
	do not use 'ceph tell mgr'
	pybind/ceph_argparse: disambiguate mgr tell and CLI commands
	ceph: make 'ceph tell mgr.*' send to the active mgr
	ceph: send 'ceph tell mgr.X' to the right mgr
	librados: add rados_mgr_command_target
	mgr/MgrClient: add start_command variant that takes a target
	common/admin_socket: drop unregister_command(); use per-hook variant
	common/admin_socket: drop explicit prefix arg to register_command
	common/admin_socket: simplify command routing
	common/admin_socket: add ability to process MCommand via asok queue
	common/admin_socket: pass cmdvec to execute_command
	common/admin_socket: use pipe for general wakeup
	include/compat: add flags arg to pipe_cloexec
	common/admin_socket: drop unused args

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-06 09:08:28 -05:00
Sage Weil
18e45ca3a1 Merge PR #30715 into master
* refs/pull/30715/head:
	osd/PrimaryLogPG: skip obcs that don't exist during backfill scan_range

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-06 09:05:27 -05:00
Sage Weil
19a1d0dd68 Merge PR #30721 into master
* refs/pull/30721/head:
	osd/PeeringState: base lease support checks on features, not require_osd_release

Reviewed-by: Kefu Chai <kchai@redhat.com>
2019-10-06 08:58:32 -05:00
Kefu Chai
44a11595d1 crimson/osd: ignore returned futures
the peering events are handled in the background, we need to make sure
the these continuations won't outlive the PG before destroying it
though.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-10-06 17:20:28 +08:00
Kefu Chai
7ef1c007c4 crimson/osd: should return ostream in operator<<()
Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-10-06 17:20:28 +08:00
Kefu Chai
b819821ee3 crimson/osd: #include necessary header file
for using `seastar::sleep()`, we need to include sleep.hh

Signed-off-by: Kefu Chai <kchai@redhat.com>
2019-10-06 17:20:28 +08:00
Sage Weil
4b8fe432fb ceph-daemon: -n type.id instead of -i id
This just makes for an easier-to-read '[podman] ps' output (easier to grep,
grok, etc.).

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:30:12 -05:00
Sage Weil
46beceedf4 ceph-daemon: drop unused VERSION
Originally the 'version' command showed this; now it shows the version
inside the container.

Not sure if we should add a --version command and have the cmake parse in
a 'git describe' version into the code... ?

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:29:10 -05:00
Sage Weil
0dc3d22303 ceph-daemon: clean up dir helpers, tighten up permissions
- don't pass args.{data,log}_dir to get_{data,log}_dir
- pass uid, gid, and mode to makedirs
- add make_data_dir and make_log_dir helpers, that optionally take uid/gid
- add make_data_dir_base that requires uid/gid
- use standard data and log dir modes, defined at top of file (0o700 for
  data, 0o770 for logs).  The data dir mode applies both to the fsid
  directory for the whole cluster and to each daemon's subdirectory; the
  log mode applies only to the fsid dir for the whole cluster, where
  all daemon logs are combined together in one directory.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:29:09 -05:00
Sage Weil
d65f49de17 ceph-daemon: fchmod before writing to keyring file
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
529b43a3da test_ceph_daemon.sh: skip ssh until container image has remoto
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
204dba81e0 ceph-daemon: decode utf-8 in run() helper
Less repetition

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
e7ef42150f mgr/ssh: clean up debug cruft
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
7063934b9e mgr/ssh: clean up bare except: block
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
1015558daa ceph-daemon: clean up bare except: blocks
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
a74b1ca3e8 ceph-daemon: all imports to top
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
0092c5b603 ceph-volume: no_tmpfs -> tmpfs
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
3b228a45a4 doc/bootstrap: add new bootstrap documentation
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
da2cd8aca2 ceph-daemon: add --output-pub-ssh-key for bootstrap
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:50 -05:00
Sage Weil
add83ee611 ceph-daemon: make 'shell' easier to use
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:28:48 -05:00
Sage Weil
f0e3231648 ceph-daemon: support docker; prefer podman
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-05 14:25:15 -05:00
Sage Weil
878178f2b4 Merge PR #29035 into master
* refs/pull/29035/head:
	mgr/pg_autoscaler: changes made reflect jdurgin's request
	mgr/pg_autoscaler: current pg_num compared to distance between the last initial_pg_num
	mgr/progress & mgr/pg_autoscaler: changes reflect liewegas' comment
	mgr/pg_autoscaler: get rid of white space
	mgr/progress: change threshold value to origin
	mgr/progress: cleaning up for pg_autoscaler
	mgr/progress: Added Pg Autoscaler Event

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2019-10-04 20:42:07 -05:00
Sage Weil
8d6652f4fb Merge PR #30679 into master
* refs/pull/30679/head:
	common/safe_io: pass mode to safe_io; use 0600, not 0644
	kv/RocksDBStore: tell rocksdb to set mode to 0600, not 0644

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-04 20:41:51 -05:00
Sage Weil
2355b227ed Merge PR #30712 into master
* refs/pull/30712/head:
	osd: set affinity for *all* threads

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-04 20:41:28 -05:00
Sage Weil
11212487b9 Merge PR #30716 into master
* refs/pull/30716/head:
	osd/PrimaryLogPG: fix warning

Reviewed-by: Neha Ojha <nojha@redhat.com>
2019-10-04 20:41:15 -05:00
Sage Weil
f2e2cb1541 qa: add ceph-daemon
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
ae4bed49cf debian: ceph-daemon package, required by ceph-mgr-ssh
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
171fecc38a ceph.spec.in: ceph-daemon package, required by ceph-mgr
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
c253ffa302 common/options: cleanup whitespace
Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
1fd58b318e mgr/ssh: simplify getting the cluster fsid
This never changes, so just stash it once.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
ac99fe7545 mgr/ssh: pipe ceph-daemon script to stdin of python3
This avoids any need for the script to be present on the remote host.

We introduce a config option to indicate where the script should be
read from, since the location varies between a vstart environment (source
dir) and a real install (/usr/sbin).

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00
Sage Weil
38ae16060f ceph-daemon: add support for args and/or stdin from top of script
Allow someone to run this script by prepending injected_{args,stdin} to
the top and then piping it all to a python3 binary.

Signed-off-by: Sage Weil <sage@redhat.com>
2019-10-04 20:33:35 -05:00