]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/log
ceph.git
6 years agoqa/workunits/rbd: tweak mirror test case to handle peer status 30558/head
Jason Dillaman [Thu, 3 Oct 2019 18:30:46 +0000 (14:30 -0400)]
qa/workunits/rbd: tweak mirror test case to handle peer status

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd: include new mirror peer direction and image site status state
Jason Dillaman [Wed, 2 Oct 2019 19:14:23 +0000 (15:14 -0400)]
rbd: include new mirror peer direction and image site status state

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agolibrbd: refactored mirror peer and image status APIs
Jason Dillaman [Fri, 20 Sep 2019 19:44:19 +0000 (15:44 -0400)]
librbd: refactored mirror peer and image status APIs

The mirror peer APIs now include the direction, site name, and last seen
timestamp. The mirror image status APIs now include the remote site status
for the image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: don't report an error when the bootstrap is canceled
Jason Dillaman [Thu, 3 Oct 2019 21:47:28 +0000 (17:47 -0400)]
rbd-mirror: don't report an error when the bootstrap is canceled

The policy might redirect images to another mirror daemon, so avoid
recording a image status error when shutting down.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: pass remote mirror status updater through to image replayer
Jason Dillaman [Wed, 25 Sep 2019 21:11:30 +0000 (17:11 -0400)]
rbd-mirror: pass remote mirror status updater through to image replayer

The image replayer now sends status updates to both the local and remote
cluster.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: initialize mirror status updater against remote peer
Jason Dillaman [Wed, 25 Sep 2019 01:47:20 +0000 (21:47 -0400)]
rbd-mirror: initialize mirror status updater against remote peer

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: mirror status updater optionally pings peer
Jason Dillaman [Wed, 25 Sep 2019 16:58:35 +0000 (12:58 -0400)]
rbd-mirror: mirror status updater optionally pings peer

This will register the local site as a peer in the remote for
TX-only scenarios.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: pass local site name through to namespace replayer
Jason Dillaman [Wed, 25 Sep 2019 16:40:04 +0000 (12:40 -0400)]
rbd-mirror: pass local site name through to namespace replayer

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: cluster watcher should periodically poll local site name
Jason Dillaman [Wed, 25 Sep 2019 16:25:47 +0000 (12:25 -0400)]
rbd-mirror: cluster watcher should periodically poll local site name

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: image replayer now uses the shared status updater
Jason Dillaman [Fri, 6 Sep 2019 17:31:24 +0000 (13:31 -0400)]
rbd-mirror: image replayer now uses the shared status updater

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: separate image replayer periodic flushing from status updates
Jason Dillaman [Mon, 9 Sep 2019 14:15:24 +0000 (10:15 -0400)]
rbd-mirror: separate image replayer periodic flushing from status updates

This is in preparation for pulling the periodic status update logic out of
the image replayer.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: move mirror status watcher under mirror status updater
Jason Dillaman [Thu, 5 Sep 2019 21:35:08 +0000 (17:35 -0400)]
rbd-mirror: move mirror status watcher under mirror status updater

The watcher is required for proper up vs down status and it will
simplify future expansion for local vs remote status updates.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agorbd-mirror: batch mirror image status updater helper class
Jason Dillaman [Thu, 5 Sep 2019 02:26:29 +0000 (22:26 -0400)]
rbd-mirror: batch mirror image status updater helper class

Aggregate up to 100 mirror image status updates into a single
RADOS op.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: store remote mirror image site status on disk
Jason Dillaman [Fri, 20 Sep 2019 01:41:51 +0000 (21:41 -0400)]
cls/rbd: store remote mirror image site status on disk

The image status get/list/summary methods now include the status
for peers that we can transmit images towards (i.e. remotes can
receive images).

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: preliminary support for mirror image status from multiple sites
Jason Dillaman [Fri, 20 Sep 2019 00:38:59 +0000 (20:38 -0400)]
cls/rbd: preliminary support for mirror image status from multiple sites

The mirror_image_status_set method will now accept a MirrorImageSiteStatus
structure. When no site name is provided, it is backwards compatible
with the original MirorrImageStatus parameter, and when a site name
is provided, the setter will fail if not using a new OSD.

The mirror_image_status_get/list methods will now return an extended
MirrorImageStatus which always includes the local site status and
optionally includes the remote site status.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: deprecate mirror_image_status_remove method
Jason Dillaman [Fri, 20 Sep 2019 00:00:21 +0000 (20:00 -0400)]
cls/rbd: deprecate mirror_image_status_remove method

It has never been used by RBD mirroring and should be removed.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: moved MirrorImageStatusOnDisk to types header
Jason Dillaman [Tue, 10 Sep 2019 00:43:36 +0000 (20:43 -0400)]
cls/rbd: moved MirrorImageStatusOnDisk to types header

Also add the structure to the dencoder test suite.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: expand MirrorPeer to annotate bidirectional relationships
Jason Dillaman [Thu, 12 Sep 2019 18:45:56 +0000 (14:45 -0400)]
cls/rbd: expand MirrorPeer to annotate bidirectional relationships

The legacy MirrorPeer format is a RX direction and still requires
a client name for connecting to the remote peer. The cluster name
has been renamed internally to site name to match the new bootstrap
helper. The TX mode peers will be automatically created by remote
rbd-mirror instances that ping the local cluster.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agocls/rbd: removed unused pool id from MirrorPeer
Jason Dillaman [Thu, 12 Sep 2019 14:34:54 +0000 (10:34 -0400)]
cls/rbd: removed unused pool id from MirrorPeer

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
6 years agoMerge PR #30788 into master
Sage Weil [Tue, 8 Oct 2019 15:11:56 +0000 (10:11 -0500)]
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>
6 years agoMerge pull request #30707 from rishabh-d-dave/cv-remove-purge-from-vg-filter
Jan Fajerski [Tue, 8 Oct 2019 14:42:26 +0000 (16:42 +0200)]
Merge pull request #30707 from rishabh-d-dave/cv-remove-purge-from-vg-filter

ceph-volume: VolumeGroups.filter shouldn't purge itself

6 years agoMerge pull request #30703 from rishabh-d-dave/cv-remove-purge-from-pvolumes-filter
Jan Fajerski [Tue, 8 Oct 2019 14:41:39 +0000 (16:41 +0200)]
Merge pull request #30703 from rishabh-d-dave/cv-remove-purge-from-pvolumes-filter

ceph-volume: PVolumes.filter shouldn't purge itself

6 years agoRevert "ceph-volume: accept --no-tmpfs argument for bluestore" 30788/head
Sage Weil [Tue, 8 Oct 2019 12:28:23 +0000 (07:28 -0500)]
Revert "ceph-volume: accept --no-tmpfs argument for bluestore"

This reverts commit e6c578a2bc1e5b6d91676274444122c5388bddc0.

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>
6 years agoRevert "ceph-volume: no_tmpfs -> tmpfs"
Sage Weil [Tue, 8 Oct 2019 12:28:05 +0000 (07:28 -0500)]
Revert "ceph-volume: no_tmpfs -> tmpfs"

This reverts commit 0092c5b603a3573a6ef9d8fc995d5f3ce74d90ac.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #30593 into master 32165/head
Sage Weil [Tue, 8 Oct 2019 00:56:49 +0000 (19:56 -0500)]
Merge PR #30593 into master

* refs/pull/30593/head:
os/bluestore: memorize layout of BlueFS on management.

Reviewed-by: Igor Fedotov <ifedotov@suse.com>
6 years agoMerge PR #30603 into master
Sage Weil [Mon, 7 Oct 2019 20:31:14 +0000 (15:31 -0500)]
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

6 years agodoc/mgr/dashboard: Fix duplication for NFS-Ganesha (#30700)
Lenz Grimmer [Mon, 7 Oct 2019 15:11:04 +0000 (15:11 +0000)]
doc/mgr/dashboard: Fix duplication for NFS-Ganesha (#30700)

doc/mgr/dashboard: Fix duplication for NFS-Ganesha

Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
6 years agoMerge pull request #30736 from tchaikov/wip-crimson/osd/cleanups
Kefu Chai [Mon, 7 Oct 2019 09:38:47 +0000 (17:38 +0800)]
Merge pull request #30736 from tchaikov/wip-crimson/osd/cleanups

crimson/osd: cleanups

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
6 years agomgr/dashboard: Unify Tasks and Notifications into a sidebar (#29706)
Lenz Grimmer [Mon, 7 Oct 2019 08:55:27 +0000 (08:55 +0000)]
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>
6 years agoMerge pull request #30720 from rhcs-dashboard/fix-constraints-backend-api-tests
Lenz Grimmer [Mon, 7 Oct 2019 08:48:14 +0000 (08:48 +0000)]
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>
6 years agoMerge pull request #30711 from dillaman/wip-41938
Mykola Golub [Mon, 7 Oct 2019 08:30:02 +0000 (11:30 +0300)]
Merge pull request #30711 from dillaman/wip-41938

librbd: v1 clones are restricted to the same namespace

Reviewed-by: Mykola Golub <mgolub@suse.com>
6 years agoMerge pull request #30656 from tchaikov/wip-install-deps-for-el8
Kefu Chai [Mon, 7 Oct 2019 08:06:30 +0000 (16:06 +0800)]
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>
6 years agoMerge pull request #30693 from rzarzynski/wip-msg-fix-comments-std_set
Kefu Chai [Mon, 7 Oct 2019 07:15:42 +0000 (15:15 +0800)]
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>
6 years agoMerge pull request #30719 from pdvian/wip-fix-sign-compare-warning
Kefu Chai [Mon, 7 Oct 2019 05:25:03 +0000 (13:25 +0800)]
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>
6 years agoclient/Client : Fix sign compare compiler warning 30719/head
Prashant D [Fri, 4 Oct 2019 13:00:56 +0000 (09:00 -0400)]
client/Client : Fix sign compare compiler warning

introduced by 394720ca6b7

Signed-off-by: Prashant D <pdhange@redhat.com>
6 years agoMerge pull request #29783 from scarvalhojr/ssevault
Ali Maredia [Mon, 7 Oct 2019 02:33:36 +0000 (22:33 -0400)]
Merge pull request #29783 from scarvalhojr/ssevault

rgw: add SSE-KMS with Vault using token auth

6 years agoMerge PR #30217 into master
Sage Weil [Sun, 6 Oct 2019 14:08:28 +0000 (09:08 -0500)]
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>
6 years agoMerge PR #30715 into master
Sage Weil [Sun, 6 Oct 2019 14:05:27 +0000 (09:05 -0500)]
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>
6 years agoMerge PR #30721 into master
Sage Weil [Sun, 6 Oct 2019 13:58:32 +0000 (08:58 -0500)]
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>
6 years agocrimson/osd: ignore returned futures 30736/head
Kefu Chai [Sun, 6 Oct 2019 09:19:05 +0000 (17:19 +0800)]
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>
6 years agocrimson/osd: should return ostream in operator<<()
Kefu Chai [Sun, 6 Oct 2019 09:11:56 +0000 (17:11 +0800)]
crimson/osd: should return ostream in operator<<()

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agocrimson/osd: #include necessary header file
Kefu Chai [Sun, 6 Oct 2019 09:10:46 +0000 (17:10 +0800)]
crimson/osd: #include necessary header file

for using `seastar::sleep()`, we need to include sleep.hh

Signed-off-by: Kefu Chai <kchai@redhat.com>
6 years agoceph-daemon: -n type.id instead of -i id 30603/head
Sage Weil [Sat, 5 Oct 2019 19:16:11 +0000 (14:16 -0500)]
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>
6 years agoceph-daemon: drop unused VERSION
Sage Weil [Fri, 4 Oct 2019 22:01:00 +0000 (17:01 -0500)]
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>
6 years agoceph-daemon: clean up dir helpers, tighten up permissions
Sage Weil [Fri, 4 Oct 2019 21:59:24 +0000 (16:59 -0500)]
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>
6 years agoceph-daemon: fchmod before writing to keyring file
Sage Weil [Fri, 4 Oct 2019 20:58:19 +0000 (15:58 -0500)]
ceph-daemon: fchmod before writing to keyring file

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agotest_ceph_daemon.sh: skip ssh until container image has remoto
Sage Weil [Fri, 4 Oct 2019 19:36:30 +0000 (14:36 -0500)]
test_ceph_daemon.sh: skip ssh until container image has remoto

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: decode utf-8 in run() helper
Sage Weil [Fri, 4 Oct 2019 19:31:59 +0000 (14:31 -0500)]
ceph-daemon: decode utf-8 in run() helper

Less repetition

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: clean up debug cruft
Sage Weil [Fri, 4 Oct 2019 19:31:04 +0000 (14:31 -0500)]
mgr/ssh: clean up debug cruft

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: clean up bare except: block
Sage Weil [Fri, 4 Oct 2019 19:30:56 +0000 (14:30 -0500)]
mgr/ssh: clean up bare except: block

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: clean up bare except: blocks
Sage Weil [Fri, 4 Oct 2019 19:30:40 +0000 (14:30 -0500)]
ceph-daemon: clean up bare except: blocks

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: all imports to top
Sage Weil [Fri, 4 Oct 2019 19:24:26 +0000 (14:24 -0500)]
ceph-daemon: all imports to top

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-volume: no_tmpfs -> tmpfs
Sage Weil [Fri, 4 Oct 2019 19:21:09 +0000 (14:21 -0500)]
ceph-volume: no_tmpfs -> tmpfs

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodoc/bootstrap: add new bootstrap documentation
Sage Weil [Fri, 4 Oct 2019 17:40:05 +0000 (12:40 -0500)]
doc/bootstrap: add new bootstrap documentation

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: add --output-pub-ssh-key for bootstrap
Sage Weil [Fri, 4 Oct 2019 17:39:16 +0000 (12:39 -0500)]
ceph-daemon: add --output-pub-ssh-key for bootstrap

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: make 'shell' easier to use
Sage Weil [Fri, 4 Oct 2019 17:18:04 +0000 (12:18 -0500)]
ceph-daemon: make 'shell' easier to use

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: support docker; prefer podman
Sage Weil [Fri, 4 Oct 2019 16:25:10 +0000 (11:25 -0500)]
ceph-daemon: support docker; prefer podman

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge PR #29035 into master
Sage Weil [Sat, 5 Oct 2019 01:42:07 +0000 (20:42 -0500)]
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>
6 years agoMerge PR #30679 into master
Sage Weil [Sat, 5 Oct 2019 01:41:51 +0000 (20:41 -0500)]
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>
6 years agoMerge PR #30712 into master
Sage Weil [Sat, 5 Oct 2019 01:41:28 +0000 (20:41 -0500)]
Merge PR #30712 into master

* refs/pull/30712/head:
osd: set affinity for *all* threads

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge PR #30716 into master
Sage Weil [Sat, 5 Oct 2019 01:41:15 +0000 (20:41 -0500)]
Merge PR #30716 into master

* refs/pull/30716/head:
osd/PrimaryLogPG: fix warning

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoqa: add ceph-daemon
Sage Weil [Fri, 4 Oct 2019 15:22:12 +0000 (10:22 -0500)]
qa: add ceph-daemon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agodebian: ceph-daemon package, required by ceph-mgr-ssh
Sage Weil [Thu, 3 Oct 2019 21:24:39 +0000 (16:24 -0500)]
debian: ceph-daemon package, required by ceph-mgr-ssh

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph.spec.in: ceph-daemon package, required by ceph-mgr
Sage Weil [Thu, 3 Oct 2019 21:24:25 +0000 (16:24 -0500)]
ceph.spec.in: ceph-daemon package, required by ceph-mgr

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/options: cleanup whitespace
Sage Weil [Thu, 3 Oct 2019 21:16:38 +0000 (16:16 -0500)]
common/options: cleanup whitespace

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: simplify getting the cluster fsid
Sage Weil [Thu, 3 Oct 2019 21:15:08 +0000 (16:15 -0500)]
mgr/ssh: simplify getting the cluster fsid

This never changes, so just stash it once.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: pipe ceph-daemon script to stdin of python3
Sage Weil [Thu, 3 Oct 2019 21:13:47 +0000 (16:13 -0500)]
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>
6 years agoceph-daemon: add support for args and/or stdin from top of script
Sage Weil [Thu, 3 Oct 2019 19:50:19 +0000 (14:50 -0500)]
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>
6 years agoceph-daemon: make ceph-volume use get_config_and_keyring
Sage Weil [Thu, 3 Oct 2019 19:29:10 +0000 (14:29 -0500)]
ceph-daemon: make ceph-volume use get_config_and_keyring

This will always take the first config+keyring json branch.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: ls: behave if /var/log/ceph doesn't exist
Sage Weil [Wed, 2 Oct 2019 21:54:18 +0000 (16:54 -0500)]
ceph-daemon: ls: behave if /var/log/ceph doesn't exist

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: implement 'adopt' for legacy style daemons
Sage Weil [Wed, 2 Oct 2019 21:19:14 +0000 (16:19 -0500)]
ceph-daemon: implement 'adopt' for legacy style daemons

Caveats:

 - this doesn't clean out /etc/ceph/*, since we don't know which is the
   last daemon to go, and/or whether the user wants to keep it around
   for using the ceph CLI on this host
 - leaves behind /var/lib/ceph/bootstrap-* keys, even after all daemons
   have been converted.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: fix fsid detection for legacy osds
Sage Weil [Wed, 2 Oct 2019 21:18:40 +0000 (16:18 -0500)]
ceph-daemon: fix fsid detection for legacy osds

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: make rm-cluster clean up system-ceph*.slice too
Sage Weil [Wed, 2 Oct 2019 20:54:24 +0000 (15:54 -0500)]
ceph-daemon: make rm-cluster clean up system-ceph*.slice too

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: configure ssh orchestrator
Sage Weil [Wed, 2 Oct 2019 02:13:05 +0000 (21:13 -0500)]
ceph-daemon: configure ssh orchestrator

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: be more restrictive with file permissions
Sage Weil [Wed, 2 Oct 2019 02:12:23 +0000 (21:12 -0500)]
ceph-daemon: be more restrictive with file permissions

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: create osd with ceph-daemon
Sage Weil [Tue, 1 Oct 2019 19:16:38 +0000 (14:16 -0500)]
mgr/ssh: create osd with ceph-daemon

Three basic steps:

1- ceph-volume lvm prepare
2- ceph-volume lvm list
3- for each osd, ceph-daemon deploy (which calls c-v activate inside the
   new container)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: pass daemon id separately to _create_daemon
Sage Weil [Tue, 1 Oct 2019 19:15:47 +0000 (14:15 -0500)]
mgr/ssh: pass daemon id separately to _create_daemon

Don't assume it is the hostname (with osds, it's not!).

Also, just pass arbitrary args down, instead of special-casing the
network option.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: add --config-and-keyring to ceph-volume command
Sage Weil [Tue, 1 Oct 2019 19:14:31 +0000 (14:14 -0500)]
ceph-daemon: add --config-and-keyring to ceph-volume command

...to provide a ceph.conf and the bootstrap-osd key.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: create log path for shell (if needed)
Sage Weil [Tue, 1 Oct 2019 19:14:05 +0000 (14:14 -0500)]
ceph-daemon: create log path for shell (if needed)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: use _run_ceph_daemon for _create_daemon
Sage Weil [Tue, 1 Oct 2019 16:37:52 +0000 (11:37 -0500)]
mgr/ssh: use _run_ceph_daemon for _create_daemon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: factor _run_ceph_daemon out of _get_device_inventory
Sage Weil [Tue, 1 Oct 2019 16:35:38 +0000 (11:35 -0500)]
mgr/ssh: factor _run_ceph_daemon out of _get_device_inventory

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/ConfigMonitor: allow entity type only for 'config get'
Sage Weil [Tue, 1 Oct 2019 16:34:22 +0000 (11:34 -0500)]
mon/ConfigMonitor: allow entity type only for 'config get'

e.g., 'ceph config get osd debug_osd' to return the config value that
would apply to a generic OSD (either from the osd or global section of
the config).

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: add ceph-volume subcommand
Sage Weil [Tue, 1 Oct 2019 16:33:32 +0000 (11:33 -0500)]
ceph-daemon: add ceph-volume subcommand

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: remove unused CephContainer dname property
Sage Weil [Tue, 1 Oct 2019 16:10:29 +0000 (11:10 -0500)]
ceph-daemon: remove unused CephContainer dname property

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: drop useless uid/gid checks
Sage Weil [Tue, 1 Oct 2019 16:09:07 +0000 (11:09 -0500)]
ceph-daemon: drop useless uid/gid checks

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: deploy new mgrs with ceph-daemon
Sage Weil [Tue, 1 Oct 2019 15:52:37 +0000 (10:52 -0500)]
mgr/ssh: deploy new mgrs with ceph-daemon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: factor _create_daemon out of create_mon
Sage Weil [Tue, 1 Oct 2019 15:52:19 +0000 (10:52 -0500)]
mgr/ssh: factor _create_daemon out of create_mon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomon/MonCap: allow mgr to create new auth keys
Sage Weil [Tue, 1 Oct 2019 15:51:40 +0000 (10:51 -0500)]
mon/MonCap: allow mgr to create new auth keys

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: run c-v with podman when getting inventory
Sage Weil [Tue, 1 Oct 2019 15:30:42 +0000 (10:30 -0500)]
mgr/ssh: run c-v with podman when getting inventory

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: simplify ssh connection management
Sage Weil [Tue, 1 Oct 2019 15:29:53 +0000 (10:29 -0500)]
mgr/ssh: simplify ssh connection management

- Use a single instance of the config and identity files for the whole
module.  There's no need to create these for *every* connection--it just
pollutes /tmp.
- Drop the SSHConnection wrapper, since the temp files are tied to the
daemon lifecycle now.
- Prefix the tmp files so I can tell wtf is going on.
- Always connect to root@host, to avoid remoto's localhost detection
feature.  This ensures we have a consistent connection model and user.
(The daemon might be running as user ceph and try to connect to localhost,
but end up running the command as the wrong user and/or inside the
ceph-mgr container.)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agomgr/ssh: use ceph-daemon for deploying mon
Sage Weil [Tue, 1 Oct 2019 15:11:25 +0000 (10:11 -0500)]
mgr/ssh: use ceph-daemon for deploying mon

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: allow --mon-network for deploying new mon (vs specifying IP)
Sage Weil [Tue, 1 Oct 2019 15:10:39 +0000 (10:10 -0500)]
ceph-daemon: allow --mon-network for deploying new mon (vs specifying IP)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoceph-daemon: --config-and-keyring (not key)
Sage Weil [Tue, 1 Oct 2019 15:10:16 +0000 (10:10 -0500)]
ceph-daemon: --config-and-keyring (not key)

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agocommon/options: add 'image' config option
Sage Weil [Tue, 1 Oct 2019 14:11:44 +0000 (09:11 -0500)]
common/options: add 'image' config option

Defaults to 'ceph/daemon-base'.

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agotest_ceph_daemon: specify image name
Sage Weil [Mon, 30 Sep 2019 22:01:51 +0000 (17:01 -0500)]
test_ceph_daemon: specify image name

Signed-off-by: Sage Weil <sage@redhat.com>
6 years agoMerge pull request #30714 from dzafman/wip-41743
David Zafman [Sat, 5 Oct 2019 01:28:48 +0000 (18:28 -0700)]
Merge pull request #30714 from dzafman/wip-41743

test: Ignore OSD_SLOW_PING_TIME* if injecting socket failures

Reviewed-by: Neha Ojha <nojha@redhat.com>
6 years agoMerge PR #29781 into master
Sage Weil [Fri, 4 Oct 2019 21:01:08 +0000 (16:01 -0500)]
Merge PR #29781 into master

* refs/pull/29781/head:
telemetry/tables.txt: drop stack_weak_sig column
telemetry/tables.txt: drop drop tables lines
telemetry/server/tables.txt: add device_report table
telemetry: misc scripts

Reviewed-by: Dan Mick <dmick@redhat.com>
6 years agotelemetry/tables.txt: drop stack_weak_sig column 29781/head
sage@newdream.net [Fri, 4 Oct 2019 20:51:47 +0000 (20:51 +0000)]
telemetry/tables.txt: drop stack_weak_sig column

Signed-off-by: sage@newdream.net <sage@telemetry.ceph.com>
6 years agotelemetry/tables.txt: drop drop tables lines
sage@newdream.net [Fri, 4 Oct 2019 20:50:36 +0000 (20:50 +0000)]
telemetry/tables.txt: drop drop tables lines

Signed-off-by: sage@newdream.net <sage@telemetry.ceph.com>
6 years agotelemetry/server/tables.txt: add device_report table
user.email [Fri, 4 Oct 2019 20:20:40 +0000 (20:20 +0000)]
telemetry/server/tables.txt: add device_report table

Signed-off-by: Sage Weil <sage@newdream.net>