]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoqa/suites/rados/thrash-old-clients: exclude ceph-daemon on nautilus installs 30817/head
Sage Weil [Wed, 9 Oct 2019 18:12:26 +0000 (13:12 -0500)]
qa/suites/rados/thrash-old-clients: exclude ceph-daemon on nautilus installs

i did the original addition by grepping for ceph-mgr-ssh, but that's
included in nautilus so I missed this one!

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #30800 from liewegas/wip-container-image
Jason Dillaman [Wed, 9 Oct 2019 17:05:26 +0000 (13:05 -0400)]
Merge pull request #30800 from liewegas/wip-container-image

common: rename 'image' to 'container_image'

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #30619 from dang/wip-dang-zipper-2
Daniel Gryniewicz [Wed, 9 Oct 2019 16:38:27 +0000 (12:38 -0400)]
Merge pull request #30619 from dang/wip-dang-zipper-2

rgw: Project Zipper - Bucketlist

5 years agoMerge pull request #30811 from rzarzynski/wip-script-run-cbt-on-classical
Kefu Chai [Wed, 9 Oct 2019 15:01:39 +0000 (23:01 +0800)]
Merge pull request #30811 from rzarzynski/wip-script-run-cbt-on-classical

script/run-cbt.sh: add support for ceph-osd testing.

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoscript/run-cbt.sh: add support for ceph-osd testing. 30811/head
Radoslaw Zarzynski [Wed, 9 Oct 2019 13:25:50 +0000 (15:25 +0200)]
script/run-cbt.sh: add support for ceph-osd testing.

The patch brings `--classical` switch to the `run-cbt.sh`
script. Its purpose is to automate the apple-to-apple
comparison between OSD implementations. In both cases
memstore is selected and the same benchmarks are used.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agoMerge pull request #30747 from rjfd/wip-dashboard-task-controller-race
Kefu Chai [Wed, 9 Oct 2019 12:53:35 +0000 (20:53 +0800)]
Merge pull request #30747 from rjfd/wip-dashboard-task-controller-race

mgr/dashboard: tasks: only unblock controller thread after TaskManager thread

Reviewed-by: Patrick Seidensal <pnawracay@suse.com>
Reviewed-by: Ricardo Marques <rimarques@suse.com>
5 years agoMerge pull request #30682 from badone/wip-bz1749874-pid-in-large-omap-log
Brad Hubbard [Wed, 9 Oct 2019 07:31:24 +0000 (17:31 +1000)]
Merge pull request #30682 from badone/wip-bz1749874-pid-in-large-omap-log

osd/PG: Add PG to large omap log message

Reviewed-by: Vikhyat Umrao <vikhyat@redhat.com>
5 years agoMerge pull request #30645 from tchaikov/wip-doc/man/ceph/config
Kefu Chai [Wed, 9 Oct 2019 07:20:25 +0000 (15:20 +0800)]
Merge pull request #30645 from tchaikov/wip-doc/man/ceph/config

doc/man/ceph: document 'ceph config'

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #30250 from tchaikov/wip-do-cmake.sh
Kefu Chai [Wed, 9 Oct 2019 06:52:44 +0000 (14:52 +0800)]
Merge pull request #30250 from tchaikov/wip-do-cmake.sh

do_cmake.sh: remove -DCMAKE_BUILD_TYPE=Debug from cmake options

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agoMerge pull request #30799 from badone/wip-change-cmake-to-debug-default
Kefu Chai [Wed, 9 Oct 2019 06:43:24 +0000 (14:43 +0800)]
Merge pull request #30799 from badone/wip-change-cmake-to-debug-default

cmake: Do a debug build by default

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #30794 from rzarzynski/wip-test-cbt-randread
Kefu Chai [Wed, 9 Oct 2019 06:40:41 +0000 (14:40 +0800)]
Merge pull request #30794 from rzarzynski/wip-test-cbt-randread

test/crimson: cbt test does rand-reads instead of seq-reads.

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #30726 from tchaikov/wip-musl-alphine
Kefu Chai [Wed, 9 Oct 2019 04:46:26 +0000 (12:46 +0800)]
Merge pull request #30726 from tchaikov/wip-musl-alphine

test: define ALLPERMS if not yet

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
5 years agodo_cmake.sh: remove -DCMAKE_BUILD_TYPE=Debug from cmake options 30250/head
Kefu Chai [Wed, 9 Oct 2019 04:26:06 +0000 (12:26 +0800)]
do_cmake.sh: remove -DCMAKE_BUILD_TYPE=Debug from cmake options

so we can use do_cmake.sh for building release builds, which are
required for performance tests.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agocmake: Do a debug build by default 30799/head
Brad Hubbard [Wed, 9 Oct 2019 01:52:33 +0000 (11:52 +1000)]
cmake: Do a debug build by default

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
5 years agocommon: rename 'image' to 'container_image' 30800/head
Sage Weil [Wed, 9 Oct 2019 02:59:07 +0000 (21:59 -0500)]
common: rename 'image' to 'container_image'

This conflicted with the rbd CLI --image argument.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #30752 into master
Patrick Donnelly [Tue, 8 Oct 2019 20:31:57 +0000 (13:31 -0700)]
Merge PR #30752 into master

* refs/pull/30752/head:
backport-create-issue: resolve parent if all backports resolved/rejected

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agotest/crimson: cbt test does rand-reads instead of seq-reads. 30794/head
Radoslaw Zarzynski [Tue, 8 Oct 2019 17:34:05 +0000 (19:34 +0200)]
test/crimson: cbt test does rand-reads instead of seq-reads.

The rationale behind the change is not only that random
read performance tends to be more important and meaningful.
Actually, the current procedure is broken because of how
`rados bench` internally operates: the number of seq read
operations is limited by the number of write ops used to
create the data set (`write` with the `--no-cleanup` option):

  ```cpp
  int ObjBencher::write_bench(/* ... */) {
    // ...
    //write object size/number data for read benchmarks
    encode(data.object_size, b_write);
    encode(data.finished, b_write);

    //...

  int ObjBencher::fetch_bench_metadata(// ...
                                       int* num_ops, /* ... */) {
    // ...
    decode(*object_size, p);
    decode(*num_ops, p);

  int ObjBencher::seq_read_bench(
    int seconds_to_run, int num_ops, int num_objects,
    int concurrentios, int pid, bool no_verify) {

    // ...

    //start initial reads
    for (int i = 0; i < concurrentios; ++i) {
      // ...
      ++data.started;
    }

    // ...

    while ((seconds_to_run && mono_clock::now() < finish_time) &&
           num_ops > data.started) {
  ```

This makes significant problem as the cbt test uses short (3 sec.)
period of prefill. In the consequence, the sequential read testing
takes around half-second.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agoMerge PR #30476 into master
Patrick Donnelly [Tue, 8 Oct 2019 18:42:44 +0000 (11:42 -0700)]
Merge PR #30476 into master

* refs/pull/30476/head:
doc: list FS subvolumes, subvolume groups and their snapshots
qa/tasks: tests for ls
mgr/volumes: list FS subvolumes, subvolume groups and their snapshots

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 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>
5 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

5 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

5 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>
5 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>
5 years agodoc: list FS subvolumes, subvolume groups and their snapshots 30476/head
Jos Collin [Mon, 7 Oct 2019 09:58:23 +0000 (15:28 +0530)]
doc: list FS subvolumes, subvolume groups and their snapshots

Fixes: https://tracker.ceph.com/issues/41842
Signed-off-by: Jos Collin <jcollin@redhat.com>
5 years agoqa/tasks: tests for ls
Jos Collin [Fri, 27 Sep 2019 11:42:34 +0000 (17:12 +0530)]
qa/tasks: tests for ls

tests for:
* fs subvolume ls
* 'fs subvolume ls' for non-existent default group
* fs subvolumegroup ls
* 'fs subvolumegroup ls' for not-existent /volume
* fs subvolume snapshot ls
* fs subvolumegroup snapshot ls

Fixes: https://tracker.ceph.com/issues/41842
Signed-off-by: Jos Collin <jcollin@redhat.com>
5 years agomgr/volumes: list FS subvolumes, subvolume groups and their snapshots
Jos Collin [Tue, 17 Sep 2019 09:31:04 +0000 (15:01 +0530)]
mgr/volumes: list FS subvolumes, subvolume groups and their snapshots

Fixes: https://tracker.ceph.com/issues/41842
Signed-off-by: Jos Collin <jcollin@redhat.com>
5 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>
5 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

5 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>
5 years agobackport-create-issue: resolve parent if all backports resolved/rejected 30752/head
Nathan Cutler [Mon, 7 Oct 2019 12:50:53 +0000 (14:50 +0200)]
backport-create-issue: resolve parent if all backports resolved/rejected

Until now, parent would be resolved only if all backports were *Resolved*.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agomgr/dashboard: tasks: only unblock controller thread after TaskManager thread 30747/head
Ricardo Dias [Mon, 7 Oct 2019 09:39:10 +0000 (10:39 +0100)]
mgr/dashboard: tasks: only unblock controller thread after TaskManager thread

Fixes: https://tracker.ceph.com/issues/42187
Signed-off-by: Ricardo Dias <rdias@suse.com>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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

5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 years agoalphine: remove urcu 30726/head
Kefu Chai [Sat, 5 Oct 2019 08:04:45 +0000 (16:04 +0800)]
alphine: remove urcu

we are not using urcu anymore

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agotest: define ALLPERMS if not yet
Kefu Chai [Sat, 5 Oct 2019 08:01:13 +0000 (16:01 +0800)]
test: define ALLPERMS if not yet

`ALLPERMS` is defined by glibc but not by musl, so define it if not yet.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>
5 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>