]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agomgr/dashboard: Replace ng2-tree with angular-tree-component 33758/head
Tiago Melo [Thu, 12 Mar 2020 21:31:48 +0000 (20:31 -0100)]
mgr/dashboard: Replace ng2-tree with angular-tree-component

Fixes: https://tracker.ceph.com/issues/44450
Signed-off-by: Tiago Melo <tmelo@suse.com>
5 years agoMerge pull request #33821 from votdev/issue_43446_bucket_lock
Lenz Grimmer [Thu, 12 Mar 2020 19:26:32 +0000 (20:26 +0100)]
Merge pull request #33821 from votdev/issue_43446_bucket_lock

mgr/dashboard: Create bucket with x-amz-bucket-object-lock-enabled

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoMerge pull request #31997 from bk201/wip-43062
Lenz Grimmer [Thu, 12 Mar 2020 19:24:02 +0000 (20:24 +0100)]
Merge pull request #31997 from bk201/wip-43062

mgr/dashboard: support removing OSDs in OSDs page

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Joshua Schmid <jschmid@suse.de>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #33920 from LenzGr/update-404-image
Lenz Grimmer [Thu, 12 Mar 2020 19:12:45 +0000 (20:12 +0100)]
Merge pull request #33920 from LenzGr/update-404-image

mgr/dashboard: Updated octopus image on 404 page

Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #33858 from tspmelo/wip-use-cd-modal
Laura Paduano [Thu, 12 Mar 2020 18:12:06 +0000 (19:12 +0100)]
Merge pull request #33858 from tspmelo/wip-use-cd-modal

mgr/dashboard: Use ModalComponent in all modals

Reviewed-by: Ernesto Puertat <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoMerge PR #33926 into octopus
Sage Weil [Thu, 12 Mar 2020 18:01:56 +0000 (13:01 -0500)]
Merge PR #33926 into octopus

* refs/pull/33926/head:
python: fixate mypy requirement to mypy==0.770

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33874 into octopus
Sage Weil [Thu, 12 Mar 2020 17:34:35 +0000 (12:34 -0500)]
Merge PR #33874 into octopus

* refs/pull/33874/head:
qa/suites/powercycle: install build deps for building xfstest

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Greg Farnum <gfarnum@redhat.com>
5 years agoMerge PR #33813 into octopus
Sage Weil [Thu, 12 Mar 2020 17:34:07 +0000 (12:34 -0500)]
Merge PR #33813 into octopus

* refs/pull/33813/head:
osd/PGStateUtils: initialize NamedState::enter_time.
osd/PGStatueUtils: remove unused member variable

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33814 into octopus
Sage Weil [Thu, 12 Mar 2020 17:33:56 +0000 (12:33 -0500)]
Merge PR #33814 into octopus

* refs/pull/33814/head:
osd/OSDMap: stop encoding osd_state with >8 bits wide states only for old client

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: yanjun <yan.jun8@zte.com.cn>
5 years agoMerge PR #33064 into octopus
Sage Weil [Thu, 12 Mar 2020 17:29:14 +0000 (12:29 -0500)]
Merge PR #33064 into octopus

* refs/pull/33064/head:
cephadm: add version to `command_ls` output
cephadm: add type checking to `update_filewalld`
cephadm: allow prepare-host to start an enabled service
cephadm: add type checking for `check_host` and `prepare_host`
cephadm: generalize logic for checking and enabling units
cephadm: add 'CEPH_CONF' to the NFS ganesha container envs
cephadm: trim nfs.json sample
qa/workunits/cephadm/test_cephadm.sh: systemctl stop nfs-server
qa/workunits/cephadm/test_cephadm.sh: make pgs available
cephadm: add some log lines
cephadm: check port in use
cephadm: add/remove nfs ganesha grace
cephadm: update firewalld with nfs service
qa/workunits/cephadm/test_cephadm.sh: add nfs-ganesha test
cephadm: add ganasha.conf
cephadm: add NFSGanesha deployment type
cephadm: consolidate list of supported daemons
cephadm: use keyword instead of positional args

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge PR #33855 into octopus
Sage Weil [Thu, 12 Mar 2020 17:28:43 +0000 (12:28 -0500)]
Merge PR #33855 into octopus

* refs/pull/33855/head:
mgr/cephadm: reconfigure ceph daemons when monmap changes

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge PR #33829 into octopus
Sage Weil [Thu, 12 Mar 2020 16:33:14 +0000 (11:33 -0500)]
Merge PR #33829 into octopus

* refs/pull/33829/head:
cephadm: log when we infer the image
cephadm: Avoid `inspect` call by using ceph label
cephadm: Infer ceph image

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33919 from LenzGr/octopus-documentation
Lenz Grimmer [Thu, 12 Mar 2020 16:28:34 +0000 (17:28 +0100)]
Merge pull request #33919 from LenzGr/octopus-documentation

documentation: Updated Dashboard Features, improved flow

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agoMerge PR #33871 into octopus
Sage Weil [Thu, 12 Mar 2020 16:17:53 +0000 (11:17 -0500)]
Merge PR #33871 into octopus

* refs/pull/33871/head:
qa/suites/rados/verify: debug_ms = 1, osd_heartbeat_grace = 60

Reviewed-by: xie xingguo <xie.xingguo@zte.com.cn>
Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 years agoMerge PR #33890 into octopus
Sage Weil [Thu, 12 Mar 2020 15:40:43 +0000 (10:40 -0500)]
Merge PR #33890 into octopus

* refs/pull/33890/head:
doc/install: rethink docs install page (similar to PR#33613)
doc/install: Rethink doc/install

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agopython: fixate mypy requirement to mypy==0.770 33926/head
Sebastian Wagner [Thu, 12 Mar 2020 15:27:45 +0000 (16:27 +0100)]
python: fixate mypy requirement to mypy==0.770

I don't like suprises when upstream publishes a new mypy version.

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomgr/dashboard: Append "Modal" to all modal components names 33858/head
Tiago Melo [Tue, 10 Mar 2020 13:22:49 +0000 (12:22 -0100)]
mgr/dashboard: Append "Modal" to all modal components names

Fixes: https://tracker.ceph.com/issues/44547
Signed-off-by: Tiago Melo <tmelo@suse.com>
5 years agomgr/dashboard: Use ModalComponent in all modals
Tiago Melo [Tue, 10 Mar 2020 11:33:45 +0000 (10:33 -0100)]
mgr/dashboard: Use ModalComponent in all modals

Fixes: https://tracker.ceph.com/issues/44547
Signed-off-by: Tiago Melo <tmelo@suse.com>
5 years agoMerge pull request #33902 from dillaman/wip-test-rbd-integration
Mykola Golub [Thu, 12 Mar 2020 15:01:07 +0000 (17:01 +0200)]
Merge pull request #33902 from dillaman/wip-test-rbd-integration

test/cli-integration: fixed spacing issue for RBD formatted tables

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agomgr/cephadm: reconfigure ceph daemons when monmap changes 33855/head
Sage Weil [Tue, 10 Mar 2020 14:01:15 +0000 (09:01 -0500)]
mgr/cephadm: reconfigure ceph daemons when monmap changes

This keeps ceph.conf fresh.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge pull request #33898 from dillaman/wip-44567
Mykola Golub [Thu, 12 Mar 2020 14:52:56 +0000 (16:52 +0200)]
Merge pull request #33898 from dillaman/wip-44567

qa/workunits/rbd: wait for nbd map to close after unmap

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agocephadm: add version to `command_ls` output 33064/head
Michael Fritch [Thu, 5 Mar 2020 23:00:43 +0000 (16:00 -0700)]
cephadm: add version to `command_ls` output

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add type checking to `update_filewalld`
Michael Fritch [Wed, 4 Mar 2020 22:30:03 +0000 (15:30 -0700)]
cephadm: add type checking to `update_filewalld`

fixes mypy errors:
cephadm:1682: error: Incompatible types in assignment (expression has type "str", variable has type "int")
cephadm:1683: error: List item 3 has incompatible type "int"; expected "str"
cephadm:1686: error: List item 3 has incompatible type "int"; expected "str"
Found 3 errors in 1 file (checked 1 source file)

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: allow prepare-host to start an enabled service
Michael Fritch [Wed, 4 Mar 2020 21:19:35 +0000 (14:19 -0700)]
cephadm: allow prepare-host to start an enabled service

the service might be enabled, but not running

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add type checking for `check_host` and `prepare_host`
Michael Fritch [Wed, 4 Mar 2020 20:21:58 +0000 (13:21 -0700)]
cephadm: add type checking for `check_host` and `prepare_host`

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: generalize logic for checking and enabling units
Michael Fritch [Wed, 4 Mar 2020 19:43:21 +0000 (12:43 -0700)]
cephadm: generalize logic for checking and enabling units

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add 'CEPH_CONF' to the NFS ganesha container envs
Michael Fritch [Tue, 3 Mar 2020 21:27:05 +0000 (14:27 -0700)]
cephadm: add 'CEPH_CONF' to the NFS ganesha container envs

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: trim nfs.json sample
Michael Fritch [Tue, 3 Mar 2020 21:06:54 +0000 (14:06 -0700)]
cephadm: trim nfs.json sample

we only need to specify the rados pool and config object url

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoqa/workunits/cephadm/test_cephadm.sh: systemctl stop nfs-server
Michael Fritch [Fri, 28 Feb 2020 16:14:41 +0000 (09:14 -0700)]
qa/workunits/cephadm/test_cephadm.sh: systemctl stop nfs-server

stop any running nfs servers before attempting a deploy of nfs-ganesha

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoqa/workunits/cephadm/test_cephadm.sh: make pgs available
Michael Fritch [Sat, 22 Feb 2020 06:21:03 +0000 (23:21 -0700)]
qa/workunits/cephadm/test_cephadm.sh: make pgs available

allow rados obj. create to succeed during a single node test

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add some log lines
Michael Fritch [Tue, 18 Feb 2020 21:34:12 +0000 (14:34 -0700)]
cephadm: add some log lines

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: check port in use
Michael Fritch [Mon, 3 Feb 2020 16:30:45 +0000 (09:30 -0700)]
cephadm: check port in use

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add/remove nfs ganesha grace
Michael Fritch [Mon, 3 Feb 2020 04:10:25 +0000 (21:10 -0700)]
cephadm: add/remove nfs ganesha grace

container unit pre-start/post-stop for ganesha grace db

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: update firewalld with nfs service
Michael Fritch [Mon, 3 Feb 2020 02:36:16 +0000 (19:36 -0700)]
cephadm: update firewalld with nfs service

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoqa/workunits/cephadm/test_cephadm.sh: add nfs-ganesha test
Michael Fritch [Sun, 2 Feb 2020 06:22:20 +0000 (23:22 -0700)]
qa/workunits/cephadm/test_cephadm.sh: add nfs-ganesha test

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add ganasha.conf
Michael Fritch [Sun, 2 Feb 2020 02:30:33 +0000 (19:30 -0700)]
cephadm: add ganasha.conf

also allows for any arbitrary nfs conf to be deployed by adding items to
the `files` dict of the config-json

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: add NFSGanesha deployment type
Michael Fritch [Tue, 28 Jan 2020 22:47:41 +0000 (15:47 -0700)]
cephadm: add NFSGanesha deployment type

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: consolidate list of supported daemons
Michael Fritch [Tue, 28 Jan 2020 23:19:38 +0000 (16:19 -0700)]
cephadm: consolidate list of supported daemons

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: use keyword instead of positional args
Michael Fritch [Tue, 28 Jan 2020 22:35:51 +0000 (15:35 -0700)]
cephadm: use keyword instead of positional args

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agomgr/dashboard: Updated octopus image on 404 page 33920/head
Lenz Grimmer [Thu, 12 Mar 2020 13:37:30 +0000 (14:37 +0100)]
mgr/dashboard: Updated octopus image on 404 page

Replaced the image of the Nautilus octopus with another octopus
in preparation for the "Octopus" release.

The image was taken from Museums Victoria
(https://collections.museumvictoria.com.au/species/8696) and is
licensed under the Creative Commons "Attribution 4.0 International"
(CC BY 4.0) license.

Deleted older, now obsolete images from the assets directory.

Fixes: https://tracker.ceph.com/issues/43581
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
5 years agodoc: Improved Dashboard installation workflow 33919/head
Lenz Grimmer [Thu, 12 Mar 2020 13:21:11 +0000 (14:21 +0100)]
doc: Improved Dashboard installation workflow

Moved the "Accessing the Dashboard" section in front of
the paragraphs that talk about enabling additional services.

Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
5 years agodoc: Updated dashboard feature overview for Octopus
Lenz Grimmer [Thu, 12 Mar 2020 13:19:52 +0000 (14:19 +0100)]
doc: Updated dashboard feature overview for Octopus

Added new Dashboard features added for the Octopus
release.

Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
5 years agocephadm: log when we infer the image 33829/head
Sage Weil [Thu, 12 Mar 2020 12:42:43 +0000 (07:42 -0500)]
cephadm: log when we infer the image

This is similar to how we log when we infer the fsid.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agocephadm: Avoid `inspect` call by using ceph label
Ricardo Marques [Mon, 9 Mar 2020 22:24:20 +0000 (22:24 +0000)]
cephadm: Avoid `inspect` call by using ceph label

Signed-off-by: Ricardo Marques <rimarques@suse.com>
5 years agocephadm: Infer ceph image
Ricardo Marques [Mon, 9 Mar 2020 18:13:41 +0000 (18:13 +0000)]
cephadm: Infer ceph image

Fixes: https://tracker.ceph.com/issues/44440
Signed-off-by: Ricardo Marques <rimarques@suse.com>
5 years agoMerge PR #33897 into octopus
Sage Weil [Thu, 12 Mar 2020 12:37:10 +0000 (07:37 -0500)]
Merge PR #33897 into octopus

* refs/pull/33897/head:
mgr/PyModule: initialize options on standby class too
Revert "pybind/mgr/mgr_module: fix standby module logging options"

Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoosd/PGStateUtils: initialize NamedState::enter_time. 33813/head
Jianpeng Ma [Tue, 10 Mar 2020 04:01:25 +0000 (12:01 +0800)]
osd/PGStateUtils: initialize NamedState::enter_time.

This bug introduce by d96c907.

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
5 years agoosd/PGStatueUtils: remove unused member variable
Jianpeng Ma [Mon, 9 Mar 2020 02:27:49 +0000 (10:27 +0800)]
osd/PGStatueUtils: remove unused member variable

Signed-off-by: Jianpeng Ma <jianpeng.ma@intel.com>
5 years agoMerge PR #33870 into octopus
Sage Weil [Thu, 12 Mar 2020 11:37:19 +0000 (06:37 -0500)]
Merge PR #33870 into octopus

* refs/pull/33870/head:
mgr/cephadm: fix redeploy for the crash daemon
cephadm: prefer config/keyring args
cephadm: raise Error when no config/keyring
cephadm: consolidate logic for reading `config-json`
cephadm: merge `--config-and-keyring` and `--config-json` args

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agomgr/dashboard: Create bucket with x-amz-bucket-object-lock-enabled 33821/head
Volker Theile [Tue, 10 Mar 2020 11:38:20 +0000 (12:38 +0100)]
mgr/dashboard: Create bucket with x-amz-bucket-object-lock-enabled

Fixes: https://tracker.ceph.com/issues/43446
Signed-off-by: Volker Theile <vtheile@suse.com>
5 years agoMerge pull request #33831 from dillaman/wip-44396
Mykola Golub [Thu, 12 Mar 2020 09:53:04 +0000 (11:53 +0200)]
Merge pull request #33831 from dillaman/wip-44396

rbd-mirror: prevent I/O modifications against a non-primary image

Reviewed-by: Mykola Golub <mgolub@suse.com>
5 years agoMerge pull request #32419 from rhcs-dashboard/fix-43419-master
Lenz Grimmer [Thu, 12 Mar 2020 09:17:56 +0000 (10:17 +0100)]
Merge pull request #32419 from rhcs-dashboard/fix-43419-master

mgr/dashboard: add feature toggle for NFS and fix feature toggles regression

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agomgr/PyModule: initialize options on standby class too 33897/head
Sage Weil [Wed, 11 Mar 2020 17:14:59 +0000 (12:14 -0500)]
mgr/PyModule: initialize options on standby class too

Create a separate callback (_register_options) and call that on both
the regular MgrModule and MgrStandbyModule.

Fixes: https://tracker.ceph.com/issues/44562
Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33817 into octopus
Sage Weil [Thu, 12 Mar 2020 03:39:32 +0000 (22:39 -0500)]
Merge PR #33817 into octopus

* refs/pull/33817/head:
mgr/dashboard: Adapt tests to new DriveGroupSpec
fixup mgr/test_orchestrator: validate drive group matches anything.
mgr/orch: CLI: No Tracebacks for ServiceSpecValidationError
mgr/test_orchestrator: validate drive group matches anything.
python-common: don't run flake8 on tests.
python-common: Add support for legacy serialization format for Drive Groups
doc: Move Move ServiceSpec to python-common
python-common: Add `host_pattern` to `PlacementSpec.from_string()`
cephadm: add host_pattern to supported scheduling
python-common: Joined ServiceSpec and DriveGroupSpec from_json()
python-common: Make DriveGroupSpec a sub type of ServiceSpec
pybind/mgr: Move ServiceSpec to python-common: Fix imports
python-common, orch: Move ServiceSpec to python-common: Fix imports
python-common, orch: Move ServiceSpec tests to python-common
python-common: Move ServiceSpec to python-common: fix linting
python-common, orch: Move ServiceSpec (+deps) to python-common

Reviewed-by: Joshua Schmid <jschmid@suse.de>
5 years agoMerge PR #33895 into octopus
Sage Weil [Thu, 12 Mar 2020 03:39:15 +0000 (22:39 -0500)]
Merge PR #33895 into octopus

* refs/pull/33895/head:
cephadm: update unit.* atomically

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: update unit.* atomically 33895/head
Sage Weil [Fri, 6 Mar 2020 23:43:33 +0000 (17:43 -0600)]
cephadm: update unit.* atomically

Some of these are run as bash scripts, which means that updating them
can lead to the running bash picking up at a weird position mid-script
when it goes to the next command.  This produces weird errors like

bash[9321]: /var/lib/ceph/f1758250-639e-11ea-9a42-001a4aab830c/mon.c/unit.run: line 2: -to-stderr=true: command not found

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agotest/cli-integration: fixed spacing issue for RBD formatted tables 33902/head
Jason Dillaman [Wed, 11 Mar 2020 23:00:17 +0000 (19:00 -0400)]
test/cli-integration: fixed spacing issue for RBD formatted tables

The tables now use two spaces between columns instead of one.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agomgr/cephadm: fix redeploy for the crash daemon 33870/head
Michael Fritch [Wed, 11 Mar 2020 19:59:24 +0000 (13:59 -0600)]
mgr/cephadm: fix redeploy for the crash daemon

`auth get` was using `crash.<name>` when it should have been
`client.crash.<name>`

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: prefer config/keyring args
Michael Fritch [Wed, 11 Mar 2020 01:28:52 +0000 (19:28 -0600)]
cephadm: prefer config/keyring args

let `--config` or `--keyring` take precedence over the values supplied
via the `--config-json`

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: raise Error when no config/keyring
Michael Fritch [Wed, 11 Mar 2020 01:28:35 +0000 (19:28 -0600)]
cephadm: raise Error when no config/keyring

fixes mypy error:
cephadm:1141: error: Incompatible return value type (got "Tuple[Optional[str], Optional[str]]", expected "Tuple[str, str]")

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: consolidate logic for reading `config-json`
Michael Fritch [Wed, 11 Mar 2020 01:28:30 +0000 (19:28 -0600)]
cephadm: consolidate logic for reading `config-json`

logic for reading `--config-json` from stdin or file was duplicated

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agocephadm: merge `--config-and-keyring` and `--config-json` args
Michael Fritch [Wed, 11 Mar 2020 01:27:36 +0000 (19:27 -0600)]
cephadm: merge `--config-and-keyring` and `--config-json` args

both are passed via stdin from the mgr in a JSON format

Signed-off-by: Michael Fritch <mfritch@suse.com>
5 years agoqa/workunits/rbd: wait for nbd map to close after unmap 33898/head
Jason Dillaman [Wed, 11 Mar 2020 19:11:10 +0000 (15:11 -0400)]
qa/workunits/rbd: wait for nbd map to close after unmap

The unmap action only sends a signal to the kernel to notify the
rbd-nbd daemon to disconnect. Therefore, it's possible that an
unmap followed by an immediate re-map to the same device might
fail since the unmap is still in-progress.

Fixes: https://tracker.ceph.com/issues/44567
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agoMerge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace 33885/head
Gregory Farnum [Wed, 11 Mar 2020 18:03:49 +0000 (11:03 -0700)]
Merge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace

tests: remove spurious whitespace

5 years agoRevert "pybind/mgr/mgr_module: fix standby module logging options"
Sage Weil [Wed, 11 Mar 2020 17:15:19 +0000 (12:15 -0500)]
Revert "pybind/mgr/mgr_module: fix standby module logging options"

This reverts commit abcee7133b87d60c841ad2ed589858e4dd347ed8.

Breaks the reporting of these options up through the mgr daemon,
because PyModule::load_options() happens before the module ctor
excutes.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agodoc/install: rethink docs install page (similar to PR#33613) 33890/head
Zac Dover [Wed, 11 Mar 2020 15:28:28 +0000 (01:28 +1000)]
doc/install: rethink docs install page (similar to PR#33613)

This rearranges the list of installation methods, in accordance with Sage's and Sebastian W's wishes.

Signed-off-by: Zac Dover <zac.dover@gmail.com>
5 years agoMerge PR #33746 into octopus
Sage Weil [Wed, 11 Mar 2020 14:41:28 +0000 (09:41 -0500)]
Merge PR #33746 into octopus

* refs/pull/33746/head:
cephadm: add grafana adopt

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agomgr/dashboard: add feature toggle for NFS 32419/head
Ernesto Puerta [Wed, 4 Mar 2020 20:31:50 +0000 (21:31 +0100)]
mgr/dashboard: add feature toggle for NFS

- New NFS feature toggle added.
- Fixed regression which broke FeatureToggles in the main menu.
- Added extensive unit testing to NavigationComponent
- Added ng-mocks to improve test isolation and performance (~7x, 139s to
20s)
- Added ng-bullet package to improve unit testing performance (2x, 20s
to 9s)
- Added Rxjs Schedulers to implement NgZone.runOutsideAngular in a Rxjs
friendly way (based on
    https://stackoverflow.com/questions/43121400/run-ngrx-effect-outside-of-angulars-zone-to-prevent-timeout-in-protractor)

Minor issues found from exhaustive unit testing:
- Missing permissions in Cluster menu:
  - `permissions.log.read` and `permissions.prometheus.read`
- Missing classes:
  - Block -> Images: `tc_submenuitem_block_images`
  - Block -> iSCSI: `tc_submenuitem_block_iscsi`
- Typos:
  - class `tc_submenuitem_hosts` assigned to OSD menu (instead of
      `tc_submenuitem_osd`)
  - `tc_menuitem_cephs` -> `tc_menuitem_cephfs`

Minor changes:
- Previously, Cluster Map -> CRUSH Map required both OSD and Host
permissions. Now it only requires OSD permissions (there are no
references to hosts in CRUSH Map page). Nevertheless, all system roles
setting OSD permission also set Host's, so no impact expected.
- Previously, Cluster -> Monitoring menu was hidden when both Prometheus
or Alertmanager weren't configured. Now it's displayed and when clicked
on it shows the helper banner indicating that further configuration is
required. This change removes the dependency on the PrometheusService.

Fixes: https://tracker.ceph.com/issues/43419
Fixes: https://tracker.ceph.com/issues/43715
Signed-off-by: Ernesto Puerta <epuertat@redhat.com>
5 years agoMerge PR #33830 into octopus
Sage Weil [Wed, 11 Mar 2020 13:55:51 +0000 (08:55 -0500)]
Merge PR #33830 into octopus

* refs/pull/33830/head:
qa/tasks/cephadm: no default mon|mgr|crash service specs
qa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option
cephadm: create initial mon and mgr service specs too
cephadm: no need to pregenerate a crash key for the bootstrap host
mgr/cephadm: do not complain when we don't have enough hosts
mgr/cephadm: remove orphan daemons
mgr/cephadm: report size=0 for fabricated ServiceDescription
mgr/cephadm: safety check to prevent removing all mon|mgr daemons
mgr/cephadm: prevent scaling mon|mgr below count=1
mgr/cephadm: do not remove daemons from remove_service

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agoMerge PR #33732 into octopus
Sage Weil [Wed, 11 Mar 2020 12:17:40 +0000 (07:17 -0500)]
Merge PR #33732 into octopus

* refs/pull/33732/head:
mon/MonClient: send logs to mon on separate schedule than pings
mon/MonClient: send logs to mon even if we have no keelalive2

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #33620 into octopus
Sage Weil [Wed, 11 Mar 2020 12:12:11 +0000 (07:12 -0500)]
Merge PR #33620 into octopus

* refs/pull/33620/head:
mgr/dashboard: Crush rule modal
mgr/dashboard: Preserve rule selection on pool type change
mgr/dashboard: Crush rule is only send during replicated pool creation
mgr/dashboard: Explicit returns in pool form
mgr/dashboard: Removes fork join in pool form
mgr/dashboard: Hide ECP actions during ec pool edit
mgr/dashboard: Pool form erasure/replicated boolean
mgr/dashboard: Change pool info API endpoint
mgr/dashboard: Moves ECP info endpoint to UI-API

Reviewed-by: Tiago Melo <tmelo@suse.com>
5 years agotest/rbd: fix test_rbd.test_features_to_string 33831/head
Jason Dillaman [Wed, 11 Mar 2020 12:00:16 +0000 (08:00 -0400)]
test/rbd: fix test_rbd.test_features_to_string

The new RBD_FEATURE_NON_PRIMARY overlaps with the legacy test
for an invalid feature bit.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agoqa/suites/rados/verify: debug_ms = 1, osd_heartbeat_grace = 60 33871/head
Sage Weil [Wed, 11 Mar 2020 02:02:02 +0000 (21:02 -0500)]
qa/suites/rados/verify: debug_ms = 1, osd_heartbeat_grace = 60

The rados api tests are failing WatchNotify because the OSDs are so
heavily lagged.. in large part due to the high debug level of debug_ms=20
and debug_osd=25.  Reduce that.

Also increase the heartbeat grace so slow valgrind-y osds don't get marked
down.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoqa/suites/powercycle: install build deps for building xfstest 33874/head
Kefu Chai [Wed, 11 Mar 2020 06:40:06 +0000 (14:40 +0800)]
qa/suites/powercycle: install build deps for building xfstest

see also qa/suites/krbd/rbd/tasks/rbd_workunit_suites_fsx.yaml

Fixes: https://tracker.ceph.com/issues/44552
Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #33876 from tchaikov/octopus-cephadm-mypy
Kefu Chai [Wed, 11 Mar 2020 11:17:25 +0000 (19:17 +0800)]
Merge pull request #33876 from tchaikov/octopus-cephadm-mypy

cephadm: add "assert foo is not None" for mypy check

Reviewed-by: Sebastian Wagner <swagner@suse.com>
5 years agocephadm: add "assert foo is not None" for mypy check 33876/head
Kefu Chai [Wed, 11 Mar 2020 08:08:51 +0000 (16:08 +0800)]
cephadm: add "assert foo is not None" for mypy check

it's legit to pass file objects to fcntl(), but `Popen.stdout` and
`Popen.stderr` properies are not necessarily file objects -- they could be None.
this cannot be deduced at compile-time. even we can ensure this,
as we do pass `subprocess.PIPE` to the constructor. so mypy just
complains at seeing this:

```
cephadm:429: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:430: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:431: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:432: error: Argument 1 to "fcntl" has incompatible type "Optional[IO[Any]]"; expected "Union[int, HasFileno]"
cephadm:455: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
cephadm:465: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
cephadm:475: error: Item "None" of "Optional[IO[Any]]" has no attribute "fileno"
```

to silence this warning, insert `assert process.stdout is not None`
before accessing `process.stdout` to appease the strict optional
checking of mypy.

this is a follow-up fix of ee3fe37158422902162257c123ea234da999c961

Fixes: https://tracker.ceph.com/issues/44557
Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot
Lenz Grimmer [Wed, 11 Mar 2020 09:56:01 +0000 (10:56 +0100)]
Merge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot

mgr/dashboard: Allow deletion of RBD with snapshots

Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tatjana Dehler <tdehler@suse.com>
5 years agomgr/dashboard: polling OSD removal status from orchestrator 31997/head
Kiefer Chang [Wed, 11 Mar 2020 04:13:09 +0000 (12:13 +0800)]
mgr/dashboard: polling OSD removal status from orchestrator

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: wrap deleting OSD calls to task
Kiefer Chang [Wed, 11 Mar 2020 04:12:15 +0000 (12:12 +0800)]
mgr/dashboard: wrap deleting OSD calls to task

Display notifications at the start and end of deleting.

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: cleanup codes
Kiefer Chang [Mon, 23 Dec 2019 08:20:37 +0000 (16:20 +0800)]
mgr/dashboard: cleanup codes

Remove redundant codes for detecting Orchestrator.

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: Check Orchestrator availability for OSD actions
Kiefer Chang [Mon, 23 Dec 2019 08:12:53 +0000 (16:12 +0800)]
mgr/dashboard: Check Orchestrator availability for OSD actions

Check Orchestrator availability before creating/deleting OSDs.

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: Add Orchestrator doc components
Kiefer Chang [Mon, 23 Dec 2019 08:03:10 +0000 (16:03 +0800)]
mgr/dashboard: Add Orchestrator doc components

Create two components for redirecting to Orchestrator Documents:
- cd-orchestrator-doc-panel: For displaying an information panel
- cd-orchestrator-doc-modal: For displaying an modal contains the
information panel

Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: support removing OSD in OSDs page
Kiefer Chang [Wed, 11 Dec 2019 04:08:01 +0000 (12:08 +0800)]
mgr/dashboard: support removing OSD in OSDs page

Add backend codes for deleting an OSD.

- `DELETE /api/osd/<svc_id>`: delete osd.svc_id. An error is returned if
there are any pre-checks fail.
- `DELETE /api/osd/<svc_id>?force=true`: with `force` flag on, the
deleting request is sent to orchestrator even pre-checks fail.

Fixes: https://tracker.ceph.com/issues/43062
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agomgr/dashboard: support removing OSD in OSDs page
Kiefer Chang [Wed, 11 Dec 2019 03:54:50 +0000 (11:54 +0800)]
mgr/dashboard: support removing OSD in OSDs page

Add frontend codes and unit tests.

Fixes: https://tracker.ceph.com/issues/43062
Signed-off-by: Kiefer Chang <kiefer.chang@suse.com>
5 years agolibrbd: peer removal needs to open non-primary images in R/W mode
Jason Dillaman [Tue, 10 Mar 2020 23:18:04 +0000 (19:18 -0400)]
librbd: peer removal needs to open non-primary images in R/W mode

The non-primary image might have mirror snapshots that need to be
updated to remove the peer reference.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: race condition in image watcher notification callback
Jason Dillaman [Tue, 10 Mar 2020 17:31:34 +0000 (13:31 -0400)]
librbd: race condition in image watcher notification callback

If a refresh is in-progress when a header update notification is
received, the notification was previously incorrectly dropped.
This prevented rbd-mirror's snapshot-based mirroring replayer from
detecting updates in some cases.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: prevent 'non-primary' feature from being set via API
Jason Dillaman [Tue, 10 Mar 2020 03:41:26 +0000 (23:41 -0400)]
librbd: prevent 'non-primary' feature from being set via API

This feature is mutable from only within librbd as a mirrored image
is promoted/demoted.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agoqa/suites/rbd: exercise different snapshot-based mirroring image features
Jason Dillaman [Tue, 10 Mar 2020 03:01:47 +0000 (23:01 -0400)]
qa/suites/rbd: exercise different snapshot-based mirroring image features

Ensure that snapshot-based mirroring is tested in different RBD image
feature combinations.

Fixes: https://tracker.ceph.com/issues/44396
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: remove exclusive-lock requirement from snapshot purge
Jason Dillaman [Tue, 10 Mar 2020 02:47:49 +0000 (22:47 -0400)]
rbd-mirror: remove exclusive-lock requirement from snapshot purge

When using snapshot-based mirroring, there shouldn't be any need to
force the use of the exclusive-lock feature.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: enable mirroring for non-primary images w/o journaling
Jason Dillaman [Tue, 10 Mar 2020 02:26:13 +0000 (22:26 -0400)]
librbd: enable mirroring for non-primary images w/o journaling

The state machine was incorrectly skipping over the mirror enable
step for non-primary images when the journaling feature bit was not
enabled.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: properly copy primary mirror uuid to out param
Jason Dillaman [Tue, 10 Mar 2020 02:08:01 +0000 (22:08 -0400)]
librbd: properly copy primary mirror uuid to out param

This variable is not currently used in snapshot-based mirroring
mode but it should be populated for consistency.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agotest/rbd-mirror: snapshot-based replaying with different features
Jason Dillaman [Tue, 10 Mar 2020 01:38:58 +0000 (21:38 -0400)]
test/rbd-mirror: snapshot-based replaying with different features

The exclusive-lock and journaling features are not required for
snapshot-based mirroring.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: re-use mirror promote state machine when disabling
Jason Dillaman [Mon, 9 Mar 2020 22:32:03 +0000 (18:32 -0400)]
librbd: re-use mirror promote state machine when disabling

The promote state machine will handle remove the non-primary
feature bit and will ensure an interrupted disable operation
doesn't leave things in an inconsistent state.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: enable/disable implicit non-primary feature bit
Jason Dillaman [Mon, 9 Mar 2020 21:04:27 +0000 (17:04 -0400)]
librbd: enable/disable implicit non-primary feature bit

When promoted to primary, disable the non-primary feature bit and
when demoted (or created non-primary), enable the non-primary feature
bit. This will prevent all non rbd-mirror RBD clients from modifying
the RBD image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agorbd-mirror: permit R/W operations against non-primary image
Jason Dillaman [Mon, 9 Mar 2020 20:49:07 +0000 (16:49 -0400)]
rbd-mirror: permit R/W operations against non-primary image

With the non-primary feature bit is enabled, mask-out the read-only
feature bit that will be set in the refresh image state machine if
the image has that feature bit set. This will ensure that only the
rbd-mirror daemon will be able to modify a non-primary image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: track reason why ImageCtx is read-only
Jason Dillaman [Tue, 3 Mar 2020 20:17:52 +0000 (15:17 -0500)]
librbd: track reason why ImageCtx is read-only

This will be utilized by the RefreshRequest state machine to flag the image
as read-only if the new RBD_FEATURE_NON_PRIMARY feature is enabled. Also
allow that flag to be masked out by rbd-mirror daemon to permit IO and
operations against a non-primary image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agolibrbd: new RBD_FEATURE_NON_PRIMARY to prevent R/W IO
Jason Dillaman [Tue, 3 Mar 2020 20:01:35 +0000 (15:01 -0500)]
librbd: new RBD_FEATURE_NON_PRIMARY to prevent R/W IO

When a snapshot-based image is non-primary, we will need to use
this implicit feature to ensure that writes and maintenance
operations cannot be performed against the image.

Signed-off-by: Jason Dillaman <dillaman@redhat.com>
5 years agocephadm: add grafana adopt 33746/head
Eric Jackson [Wed, 4 Mar 2020 22:39:28 +0000 (17:39 -0500)]
cephadm: add grafana adopt

Handle grafana.ini, provisioning config and cert.

Signed-off-by: Eric Jackson <swiftgist@gmail.com>
5 years agoMerge PR #33771 into octopus
Sage Weil [Tue, 10 Mar 2020 22:20:48 +0000 (17:20 -0500)]
Merge PR #33771 into octopus

* refs/pull/33771/head:
common/ceph_timer: Pass reference to waited time on stack
common/ceph_timer: Add test
common/ceph_timer: Use unique_function, allowing noncopyable events
common/ceph_timer: Couple cleanups
common/ceph_timer: Fix namespaces
common/ceph_timer: Add missing includes
common/ceph_timer.h: Don't indent contents of a namespace

Reviewed-by: Sage Weil <sage@redhat.com>
5 years agoMerge PR #33850 into octopus
Sage Weil [Tue, 10 Mar 2020 22:20:11 +0000 (17:20 -0500)]
Merge PR #33850 into octopus

* refs/pull/33850/head:
spec: Podman (temporarily) requires apparmor-abstractions on suse

Reviewed-by: Sascha Grunert <sgrunert@suse.com>
Reviewed-by: Nathan Cutler <ncutler@suse.com>
Reviewed-by: Patrick Seidensal <pseidensal@suse.com>