]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
5 years agoceph-volume: delete devices.lvm.prepare.Prepare.get_lv 32493/head
Rishabh Dave [Sat, 4 Jan 2020 08:24:58 +0000 (13:54 +0530)]
ceph-volume: delete devices.lvm.prepare.Prepare.get_lv

Since it calls get_lv_from_argument() internally and use get_first_lv()
instead and update tests.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoceph-volume: don't use api.lvm.VolumeGroups
Rishabh Dave [Tue, 31 Dec 2019 11:54:42 +0000 (17:24 +0530)]
ceph-volume: don't use api.lvm.VolumeGroups

Use api.lvm.get_vgs() and api.lvm.get_first_vg() instead and update
tests.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoceph-volume: don't use api.lvm.PVolumes
Rishabh Dave [Fri, 3 Jan 2020 11:40:23 +0000 (17:10 +0530)]
ceph-volume: don't use api.lvm.PVolumes

Update api.lvm.get_first_pv() and api.lvm.get_pvs() instead and update
tests.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoceph-volume: don't use api.lvm.get_lv
Rishabh Dave [Mon, 30 Dec 2019 14:56:22 +0000 (20:26 +0530)]
ceph-volume: don't use api.lvm.get_lv

Use api.lvm.get_lvs() and api.lvm.get_first_lv() instead and update the
tests.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoceph-volume: don't use api.lvm.get_lv_from_argument
Rishabh Dave [Mon, 30 Dec 2019 14:05:56 +0000 (19:35 +0530)]
ceph-volume: don't use api.lvm.get_lv_from_argument

Use api.lvm.get_lvs() and api.lvm.get_first_lv() instead and update
tests.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoceph-volume: don't use class api.lvm.Volumes
Rishabh Dave [Mon, 30 Dec 2019 06:18:08 +0000 (11:48 +0530)]
ceph-volume: don't use class api.lvm.Volumes

Replace code using class Volumes by methods get_lvs() and
get_first_lv(). Also, update the tests accordingly.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
5 years agoMerge pull request #35750 from rzarzynski/wip-common-config-dissect-boolcast
Kefu Chai [Sat, 27 Jun 2020 15:17:42 +0000 (23:17 +0800)]
Merge pull request #35750 from rzarzynski/wip-common-config-dissect-boolcast

common, crimson: reuse the interpreter of Option::TYPE_BOOL

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35512 from ZhenLiu94/liuz02
Kefu Chai [Sat, 27 Jun 2020 15:16:41 +0000 (23:16 +0800)]
Merge pull request #35512 from ZhenLiu94/liuz02

src/mon/MonCommands.h: Remove the redundant right parenthesis in the help message

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35760 from tchaikov/wip-mgr-track-pending-module
Kefu Chai [Sat, 27 Jun 2020 15:15:28 +0000 (23:15 +0800)]
Merge pull request #35760 from tchaikov/wip-mgr-track-pending-module

mgr: avoid false alarm of MGR_MODULE_ERROR

Reviewed-By: Josh Durgin <jdurgin@redhat.com>
5 years agoMerge pull request #35490 from sseshasa/wip-grace-interval-timer-reset
Sridhar Seshasayee [Fri, 26 Jun 2020 11:26:07 +0000 (16:56 +0530)]
Merge pull request #35490 from sseshasa/wip-grace-interval-timer-reset

mon/OSDMonitor: Reset grace period if failure interval exceeds a threshold.

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoMerge pull request #35791 from tchaikov/wip-mock-rados
Kefu Chai [Fri, 26 Jun 2020 10:09:59 +0000 (18:09 +0800)]
Merge pull request #35791 from tchaikov/wip-mock-rados

script/gen_static_command_descriptions: add mock for rados python binding

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoscript/gen_static_command_descriptions: add mock for rados python binding 35791/head
Kefu Chai [Fri, 26 Jun 2020 09:48:42 +0000 (17:48 +0800)]
script/gen_static_command_descriptions: add mock for rados python binding

to address issue like

Traceback (most recent call last):
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/scripts/../../src/script/gen_static_command_descriptions.py", line 168, in <module>
    print(json.dumps(gen_commands_dicts(), indent=2, sort_keys=True))
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/scripts/../../src/script/gen_static_command_descriptions.py", line 163, in gen_commands_dicts
    comms = from_mon_commands_h() + from_mgr_modules()
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/scripts/../../src/script/gen_static_command_descriptions.py", line 85, in from_mgr_modules
    comms = sum([list_mgr_module(name) for name in names], [])
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/scripts/../../src/script/gen_static_command_descriptions.py", line 85, in <listcomp>
    comms = sum([list_mgr_module(name) for name in names], [])
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/doc/scripts/../../src/script/gen_static_command_descriptions.py", line 65, in list_mgr_module
    mgr_mod = __import__(m_name, globals(), locals(), [], 0)
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/src/pybind/mgr/volumes/__init__.py", line 2, in <module>
    from .module import Module
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/src/pybind/mgr/volumes/module.py", line 8, in <module>
    from .fs.nfs import NFSCluster, FSExport
  File "/home/jenkins-build/build/workspace/ceph-pr-docs/src/pybind/mgr/volumes/fs/nfs.py", line 6, in <module>
    from rados import TimedOut
ImportError: cannot import name 'TimedOut'

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #34744 from ceph/rhbz-1827349
Jan Fajerski [Fri, 26 Jun 2020 09:15:59 +0000 (11:15 +0200)]
Merge pull request #34744 from ceph/rhbz-1827349

ceph-volume: handle idempotency with batch and explicit scenarios

5 years agoMerge pull request #35468 from guits/guits-raw_dmcrypt
Sébastien Han [Fri, 26 Jun 2020 08:38:58 +0000 (10:38 +0200)]
Merge pull request #35468 from guits/guits-raw_dmcrypt

ceph-volume: add dmcrypt support in raw mode

5 years agoMerge pull request #35770 from tchaikov/wip-install-deps
Kefu Chai [Fri, 26 Jun 2020 07:06:48 +0000 (15:06 +0800)]
Merge pull request #35770 from tchaikov/wip-install-deps

install-deps.sh: drop el7 bits and uninstall python-sphinx if sphinx-build is in python2

Reviewed-by: Lenz Grimmer <lgrimmer@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Deepika Upadhyay <dupadhya@redhat.com>
5 years agoMerge PR #31726 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:37:30 +0000 (14:37 -0700)]
Merge PR #31726 into master

* refs/pull/31726/head:
mds: MDS-MDS message classes inherit from MMDSOp
mds: MMDSOp implementation and detect unversioned messages

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #34878 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:35:46 +0000 (14:35 -0700)]
Merge PR #34878 into master

* refs/pull/34878/head:
libcephfs: mark ceph_stat() family functions deprecated

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jeff Layton <jlayton@redhat.com>
5 years agoMerge PR #35323 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:34:53 +0000 (14:34 -0700)]
Merge PR #35323 into master

* refs/pull/35323/head:
tool: change coding style, indent with two spaces

Reviewed-by: Zheng Yan <zyan@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #35420 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:33:12 +0000 (14:33 -0700)]
Merge PR #35420 into master

* refs/pull/35420/head:
mgr/volumes: Fix pool removal on volume deletion

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
5 years agoMerge PR #35624 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:32:14 +0000 (14:32 -0700)]
Merge PR #35624 into master

* refs/pull/35624/head:
include: cleanup lru con/des

Reviewed-by: Jos Collin <jcollin@redhat.com>
5 years agoMerge PR #35664 into master
Patrick Donnelly [Thu, 25 Jun 2020 21:31:33 +0000 (14:31 -0700)]
Merge PR #35664 into master

* refs/pull/35664/head:
qa: add omit_sudo=False for commands ran with sudo

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
5 years agoceph-volume: remove unused function 35468/head
Guillaume Abrioux [Thu, 25 Jun 2020 11:33:09 +0000 (13:33 +0200)]
ceph-volume: remove unused function

This function is never called in raw context, let's remove it.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
5 years agoceph-volume: add raw testing coverage
Guillaume Abrioux [Tue, 23 Jun 2020 12:54:50 +0000 (14:54 +0200)]
ceph-volume: add raw testing coverage

This commit adds testing against `ceph-volume raw` subcommand.

Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
5 years agoceph-volume: add dmcrypt support in raw mode
Guillaume Abrioux [Fri, 24 Apr 2020 14:45:02 +0000 (16:45 +0200)]
ceph-volume: add dmcrypt support in raw mode

This commit adds the dmcrypt support in `ceph-volume raw` mode.

Note about `ceph-volume raw list` change:
Given `lsblk -J` (json output) option isn't available on all OS, I came up with
adding '--inverse' option to the existing command which allows us to get the
mapper devices list in that command output. Not listing root devices containing
partitions shouldn't have side effect since we are in `ceph-volume raw`
context.

example:
running `lsblk --paths --nodeps --output=NAME --noheadings` doesn't allow to
get the mapper list because the output is like following :

$ lsblk --paths --nodeps --output=NAME --noheadings
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd

the dmcrypt mappers are hidden because of the `--nodeps` given they are
displayed as a dependency.

$ lsblk --paths --output=NAME --noheadings
/dev/sda
|-/dev/mapper/ceph-3b52c90d-6548-407d-bde1-efd31809702f-sda-block-dmcrypt
`-/dev/mapper/ceph-3b52c90d-6548-407d-bde1-efd31809702f-sda-db-dmcrypt
/dev/sdb
/dev/sdc
/dev/sdd

adding `--inverse` is a trick to get around this issue, the counterpart is that
we can't list root devices if they contain at least one partition but this
shouldn't be an issue in `ceph-volume raw` context given we only deal with
raw devices.

Fixes: https://tracker.ceph.com/issues/45959
Signed-off-by: Guillaume Abrioux <gabrioux@redhat.com>
5 years agoMerge PR #35757 into master
Patrick Donnelly [Thu, 25 Jun 2020 18:47:41 +0000 (11:47 -0700)]
Merge PR #35757 into master

* refs/pull/35757/head:
doc: update cephfs metadata pool recovery procedure

Reviewed-by: Douglas Fuller <dfuller@redhat.com>
5 years agoMerge pull request #35537 from sebastian-philipp/cephadm-yaml-ordered-readable
Sebastian Wagner [Thu, 25 Jun 2020 18:06:25 +0000 (20:06 +0200)]
Merge pull request #35537 from sebastian-philipp/cephadm-yaml-ordered-readable

mgr/orch: increase readability for yaml representation

5 years agoMerge pull request #35274 from jmolmo/issue_45726
Sebastian Wagner [Thu, 25 Jun 2020 18:05:51 +0000 (20:05 +0200)]
Merge pull request #35274 from jmolmo/issue_45726

cephadm: error trying to get ceph auth entry for crash daemon

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #35773 from theanalyst/master-rgw-cors-fixes
Abhishek L [Thu, 25 Jun 2020 17:25:07 +0000 (19:25 +0200)]
Merge pull request #35773 from theanalyst/master-rgw-cors-fixes

rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader

Reviewed-By: Casey Bodley <cbodley@redhat.com>
Reviewed-By: Abhishek Lekshmanan <abhishek@suse.com>
Reviewed-By: Josh Durgin <jdurgin@redhat.com>
5 years agodoc: update cephfs metadata pool recovery procedure 35757/head
Patrick Donnelly [Wed, 24 Jun 2020 22:32:42 +0000 (15:32 -0700)]
doc: update cephfs metadata pool recovery procedure

This is mostly clarifying a few things after personally experimenting
with this.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #35695 from sebastian-philipp/mypy-rm-global-ignore-imports
Sebastian Wagner [Thu, 25 Jun 2020 15:47:26 +0000 (17:47 +0200)]
Merge pull request #35695 from sebastian-philipp/mypy-rm-global-ignore-imports

mypy.ini: Remove global `ignore_missing_imports = True`

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
5 years agoMerge pull request #35762 from sebastian-philipp/doc-dev-rm-confusing.txt
Sebastian Wagner [Thu, 25 Jun 2020 15:46:49 +0000 (17:46 +0200)]
Merge pull request #35762 from sebastian-philipp/doc-dev-rm-confusing.txt

doc/dev: remove confusing.txt

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35503 from sebastian-philipp/rm-daemon-ok-to-stop
Sebastian Wagner [Thu, 25 Jun 2020 15:28:19 +0000 (17:28 +0200)]
Merge pull request #35503 from sebastian-philipp/rm-daemon-ok-to-stop

mgr/cephadm: move ok_to_stop to CephadmService

Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoMerge pull request #35761 from sebastian-philipp/qa-cephad-upgrade-no-rgw
Sebastian Wagner [Thu, 25 Jun 2020 15:25:50 +0000 (17:25 +0200)]
Merge pull request #35761 from sebastian-philipp/qa-cephad-upgrade-no-rgw

qa/cephadm/upgrade: Exclude RGW for now

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agoMerge pull request #33228 from galsalomon66/s3select_integration_into_RGW_2
Matt Benjamin [Thu, 25 Jun 2020 15:05:22 +0000 (11:05 -0400)]
Merge pull request #33228 from galsalomon66/s3select_integration_into_RGW_2

rgw: add s3select support

5 years agoMerge pull request #35593 from p-se/wip-pse-cephadm-grafana-fix-version
Sebastian Wagner [Thu, 25 Jun 2020 14:55:34 +0000 (16:55 +0200)]
Merge pull request #35593 from p-se/wip-pse-cephadm-grafana-fix-version

mgr/cephadm: use fixed Grafana version

Reviewed-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #34606 from rhcs-dashboard/wip-45011-bucket-usage-feature
Lenz Grimmer [Thu, 25 Jun 2020 12:49:01 +0000 (14:49 +0200)]
Merge pull request #34606 from rhcs-dashboard/wip-45011-bucket-usage-feature

mgr/dashboard: Display users current bucket quota usage

Reviewed-by: Alfonso Martínez <almartin@redhat.com>
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Volker Theile <vtheile@suse.com>
5 years agorgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader 35773/head
Casey Bodley [Tue, 26 May 2020 19:03:03 +0000 (15:03 -0400)]
rgw: sanitize newlines in s3 CORSConfiguration's ExposeHeader

the values in the <ExposeHeader> element are sent back to clients in a
Access-Control-Expose-Headers response header. if the values are allowed
to have newlines in them, they can be used to inject arbitrary response
headers

this issue only affects s3, which gets these values from an xml document

in swift, they're given in the request header
X-Container-Meta-Access-Control-Expose-Headers, so the value itself
cannot contain newlines

Signed-off-by: Casey Bodley <cbodley@redhat.com>
Reported-by: Adam Mohammed <amohammed@linode.com>
5 years agoinstall-deps.sh: always use python3-sphinx to build the docs 35770/head
Kefu Chai [Thu, 25 Jun 2020 11:54:55 +0000 (19:54 +0800)]
install-deps.sh: always use python3-sphinx to build the docs

python-sphinx creates a symlink pointing ../share/sphinx/scripts/python2/sphinx-build
to /usr/bin/sphinx-build even if python3-sphinx is already installed.
in that case, if python-sphinx is installed after python3-sphinx,
sphinx-build is in python2. and it breaks the build of master, as we are
using python3 syntax in conf.py since
e9e17b9ceff0c862c8f29d629ad54a1dc401ed73.

and we are still using python2 as well as "python-sphinx" when building nautilus,
so if a build slave happen to compile nautilus before it is scheduled to
build master or a wip- branch, the doc build fails.

in this change, python-sphinx is uninstalled, if /usr/bin/sphinx-build
is found to be written in python2.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoinstall-deps.sh: always use dnf on RHEL/CentOS
Kefu Chai [Thu, 25 Jun 2020 11:40:50 +0000 (19:40 +0800)]
install-deps.sh: always use dnf on RHEL/CentOS

as we don't build master on el7 anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoinstall-deps.sh: drop bits enabling DTS repo
Kefu Chai [Thu, 25 Jun 2020 11:37:58 +0000 (19:37 +0800)]
install-deps.sh: drop bits enabling DTS repo

since GCC offered by RHEL8/CentOS8 is able to compile ceph, there is no
need to add repos providing devtoolset anymore.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35419 from votdev/issue_45897_add_host_labels
Lenz Grimmer [Thu, 25 Jun 2020 10:51:14 +0000 (12:51 +0200)]
Merge pull request #35419 from votdev/issue_45897_add_host_labels

Reviewed-by: Kiefer Chang <kiefer.chang@suse.com>
Reviewed-by: Laura Paduano <lpaduano@suse.com>
Reviewed-by: Stephan Müller <smueller@suse.com>
5 years agoMerge pull request #35767 from tchaikov/wip-rpm-scikit-learn
Kefu Chai [Thu, 25 Jun 2020 10:36:41 +0000 (18:36 +0800)]
Merge pull request #35767 from tchaikov/wip-rpm-scikit-learn

ceph.spec.in: Requires python3-scikit-learn only on fedora and suse

Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
5 years agopython-common: service_spec.from_json: Add docstring explaining histroy 35537/head
Sebastian Wagner [Thu, 25 Jun 2020 10:31:36 +0000 (12:31 +0200)]
python-common: service_spec.from_json: Add docstring explaining histroy

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoqa/cephadm: Add test for --format=yaml
Sebastian Wagner [Thu, 11 Jun 2020 10:17:53 +0000 (12:17 +0200)]
qa/cephadm: Add test for --format=yaml

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomgr/orchestrator: Add test for readable yaml
Sebastian Wagner [Thu, 11 Jun 2020 08:06:49 +0000 (10:06 +0200)]
mgr/orchestrator: Add test for readable yaml

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agopybind/mgr: move test_orchestrator to orchestrator module
Sebastian Wagner [Thu, 11 Jun 2020 07:53:04 +0000 (09:53 +0200)]
pybind/mgr: move test_orchestrator to orchestrator module

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomgr/orch: make YAML of ServiceDescription readable
Sebastian Wagner [Thu, 11 Jun 2020 09:55:00 +0000 (11:55 +0200)]
mgr/orch: make YAML of ServiceDescription readable

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agomgr/orch: YAML of DaemonDescription readable
Sebastian Wagner [Thu, 11 Jun 2020 10:00:11 +0000 (12:00 +0200)]
mgr/orch: YAML of DaemonDescription readable

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agopython-common: Make YAML or OSD Specs readable
Sebastian Wagner [Thu, 11 Jun 2020 09:52:45 +0000 (11:52 +0200)]
python-common: Make YAML or OSD Specs readable

* Changes: An empty OSD Spec is now invalid.
* OSDSpec.validate() now fails, if service-id is empty

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agopython-common: make YAML representaition of ServiceSpec readable
Sebastian Wagner [Thu, 11 Jun 2020 09:54:45 +0000 (11:54 +0200)]
python-common: make YAML representaition of ServiceSpec readable

* Add test for new yaml representation

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoceph.spec.in: Requires python3-scikit-learn only on fedora and suse 35767/head
Kefu Chai [Thu, 25 Jun 2020 10:04:40 +0000 (18:04 +0800)]
ceph.spec.in: Requires python3-scikit-learn only on fedora and suse

so far, python3-scikit-learn is not packaged by RHEL8/CentOS8 or EPEL8.

see
https://src.fedoraproject.org/rpms/python-scikit-learn/branches?branchname=master

this change should address the regression introduced by
d13b441cdb63e37ad3b8ba36cbd3edc33b1e4bbd

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoqa/cephadm/upgrade: use quay.ceph.io 35761/head
Sebastian Wagner [Thu, 25 Jun 2020 08:54:24 +0000 (10:54 +0200)]
qa/cephadm/upgrade: use quay.ceph.io

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoqa/cephadm/upgrade: Exclude RGW for now
Sebastian Wagner [Thu, 25 Jun 2020 07:55:51 +0000 (09:55 +0200)]
qa/cephadm/upgrade: Exclude RGW for now

tasks/cephadm.py gained RGW support very recently and
I'm now facing a dilemman:

* Either we set the upgrade start to 15.2.4 and thus
  no longer upgrade from an old version, or
* Disable RGW upgrade for now.

I think doing both would be optinal, but for now, let's
disable RGW, in order to keep the coverage for everything
else.

Fixes: https://tracker.ceph.com/issues/46157
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #35292 from s0nea/wip-dashboard-telemetry-notification
Lenz Grimmer [Thu, 25 Jun 2020 08:51:34 +0000 (10:51 +0200)]
Merge pull request #35292 from s0nea/wip-dashboard-telemetry-notification

Reviewed-by: Stephan Müller <smueller@suse.com>
Reviewed-by: Tiago Melo <tmelo@suse.com>
5 years agodoc/dev: remove confusing.txt 35762/head
Sebastian Wagner [Thu, 25 Jun 2020 08:21:37 +0000 (10:21 +0200)]
doc/dev: remove confusing.txt

* Last change was from 2011
* the file is not referenced anywhere
* the referenced file `cephconfig.jpg` doesn't exist

Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #35648 from ideepika/fix-44948
Kefu Chai [Thu, 25 Jun 2020 08:10:05 +0000 (16:10 +0800)]
Merge pull request #35648 from ideepika/fix-44948

ceph.spec: fix mgr diskprediction_local dependency

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35722 from ideepika/drop-el7
Kefu Chai [Thu, 25 Jun 2020 08:08:53 +0000 (16:08 +0800)]
Merge pull request #35722 from ideepika/drop-el7

ceph.spec: drop support for el7 rpm builds

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35534 from varshar16/wip-doc-fix-SyntaxWarning
Kefu Chai [Thu, 25 Jun 2020 08:02:52 +0000 (16:02 +0800)]
Merge pull request #35534 from varshar16/wip-doc-fix-SyntaxWarning

doc/scripts/gen_state_diagram.py: Fix literal comparison syntax warnings

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #35677 from sebastian-philipp/_refresh_hosts_and_daemons_forall_hosts
Sebastian Wagner [Thu, 25 Jun 2020 07:35:29 +0000 (09:35 +0200)]
Merge pull request #35677 from sebastian-philipp/_refresh_hosts_and_daemons_forall_hosts

mgr/cephadm: speedup _refresh_hosts_and_daemons by 10x

Reviewed-by: Michael Fritch <mfritch@suse.com>
5 years agomgr/dashboard: Display users current bucket quota usage 34606/head
Avan Thakkar [Fri, 17 Apr 2020 08:51:48 +0000 (14:21 +0530)]
mgr/dashboard: Display users current bucket quota usage
Fixes: https://tracker.ceph.com/issues/45011
Signed-off-by: Avan Thakkar <athakkar@redhat.com>
(cherry picked from commit 966d887f7a5e0765b4210ab4edcb1cea3e03ac35)

5 years agomgr: avoid false alarm of MGR_MODULE_ERROR 35760/head
Kefu Chai [Thu, 25 Jun 2020 02:41:30 +0000 (10:41 +0800)]
mgr: avoid false alarm of MGR_MODULE_ERROR

mgr sends healthy report periodically, the report includes the
information whether the always-on modules are loaded or not. but the
modules are loaded with two steps:

1. load the options and command exposed by modules. the options and
   commands are registered using static methods of the subclasss of
   MgrModule.
2. create an instance of the subclass of MgrModule. this is performed
   in background by a Finisher thread. upon finishing of the construction
   of the instance, ActivePyModules::start_one() adds the module which
   successfully creates the class to `modules`.

but there is chance that when mgr sends healthy report, the always-on
module is still creating its instance of MgrModule subclass, or that
task is still pending in the finisher thread. in that case, mgr would
add a false error message like
```
4 mgr modules have failed (MGR_MODULE_ERROR)
```
in the healthy report

in this change, the number of modules in pending state is tracked,
and mgr will not take the missing always-on modules into account unless
the number of pending modules is 0.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge PR #30592 into master
Patrick Donnelly [Thu, 25 Jun 2020 01:24:17 +0000 (18:24 -0700)]
Merge PR #30592 into master

* refs/pull/30592/head:
qa: fix flake8 warnings
doc: add documentation for new ephemeral pinning feature
mds: enable ephemeral pinning by default
pybind/mgr/volumes: wire up pinning subvolumes/subvolumegroups
qa: adapt tests for empty pinned dir export
qa: break export pin tests into discrete tests
qa: add more ephemeral pin tests
qa: add tests for ephemeral pinning
mds: add maximum random ephemeral pin percentage
mds: replicate random pin state
mds: finish implementation of ephemeral pins
mds: do string equality comparison
mds: add ephemeral pinning for subtrees
mds: trim pinned and empty subtrees
mds: refactor remove_subtree
mds: allow export of pinned directory if empty
mds: reduce subtree processing verbosity
mds: skip export of empty directories
mds: remove frozen export pin from queue
mds: simplify for loop construction
mds: add debug messages for export queue processing
qa: refactor _wait_subtree and _get_subtree
qa: use status from wait_for_daemons
qa: quietly print json output from asok commands

Reviewed-by: Mark Nelson <mnelson@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #35736 from ivancich/wip-orphan-list-timestamp-fix
J. Eric Ivancich [Wed, 24 Jun 2020 23:21:22 +0000 (19:21 -0400)]
Merge pull request #35736 from ivancich/wip-orphan-list-timestamp-fix

rgw: orphan-list timestamp fix

Reviewed-by: Ali Maredia <amaredia@redhat.com>
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
5 years agoqa: fix flake8 warnings 30592/head
Patrick Donnelly [Wed, 24 Jun 2020 17:26:16 +0000 (10:26 -0700)]
qa: fix flake8 warnings

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agodoc: add documentation for new ephemeral pinning feature
Patrick Donnelly [Tue, 9 Jun 2020 22:30:28 +0000 (15:30 -0700)]
doc: add documentation for new ephemeral pinning feature

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: enable ephemeral pinning by default
Patrick Donnelly [Sat, 7 Mar 2020 03:08:32 +0000 (19:08 -0800)]
mds: enable ephemeral pinning by default

This feature is enabled by default for Pacific. This commit will be
dropped in the backport to Octopus.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agopybind/mgr/volumes: wire up pinning subvolumes/subvolumegroups
Patrick Donnelly [Wed, 10 Jun 2020 04:14:23 +0000 (21:14 -0700)]
pybind/mgr/volumes: wire up pinning subvolumes/subvolumegroups

Fixes: https://tracker.ceph.com/issues/41541
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: adapt tests for empty pinned dir export
Patrick Donnelly [Fri, 19 Jun 2020 20:52:22 +0000 (13:52 -0700)]
qa: adapt tests for empty pinned dir export

Previously, empty pinned directories were not migrated.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: break export pin tests into discrete tests
Patrick Donnelly [Mon, 15 Jun 2020 16:40:55 +0000 (09:40 -0700)]
qa: break export pin tests into discrete tests

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: add more ephemeral pin tests
Patrick Donnelly [Tue, 9 Jun 2020 22:28:21 +0000 (15:28 -0700)]
qa: add more ephemeral pin tests

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: add tests for ephemeral pinning
Sidharth Anupkrishnan [Wed, 19 Feb 2020 14:28:15 +0000 (19:58 +0530)]
qa: add tests for ephemeral pinning

Signed-off-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
5 years agomds: add maximum random ephemeral pin percentage
Patrick Donnelly [Tue, 9 Jun 2020 23:49:20 +0000 (16:49 -0700)]
mds: add maximum random ephemeral pin percentage

This new config is designed to prevent creating too many subtrees from a
random ephemeral pinning policy.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: replicate random pin state
Patrick Donnelly [Tue, 9 Jun 2020 22:15:00 +0000 (15:15 -0700)]
mds: replicate random pin state

This is slightly evil in its current form. The MDS should use locks to
transmit state changes but right now it's just set when the CInode is
replicated. This replication of this state marker is necessary for
failover situations where we want the randomly pinned subtree to remain
pinned across failovers.

Note: this problem does not exist for the ephemeral distributed pins
because simple knowledge of the immediate parent's setting (which is
replicated normally) is sufficient to determine if the CInode is
ephemerally distributed. Ditto for regular export pins.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: finish implementation of ephemeral pins
Patrick Donnelly [Sat, 7 Mar 2020 03:20:58 +0000 (19:20 -0800)]
mds: finish implementation of ephemeral pins

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: do string equality comparison
Patrick Donnelly [Sat, 7 Mar 2020 03:09:50 +0000 (19:09 -0800)]
mds: do string equality comparison

The string::find method would return true for ceph.dir.pin even for the
other ephemeral pin xattr names. For this reason, it was never possible
to actually turn ephemeral pins on!

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: add ephemeral pinning for subtrees
Sidharth Anupkrishnan [Tue, 14 Jan 2020 13:35:47 +0000 (19:05 +0530)]
mds: add ephemeral pinning for subtrees

This PR introduces inode xattrs export_ephemeral_random and
export_ephemeral_distributed which enables two different metadata
distribution strategies - the first being suitable for a more depthwise
scaling of metadata (height of the tree keeps increasing) and the latter
for horizontal scaling (many subtrees under a single parent).
export_ephemeral_distributed applies is not hierarchical. Any direct
descendant directory (i.e. a child directory) has an ephemeral export
pin applied to it according to a consistent hash of the child directory
inode number. export_ephemeral_distributed is hierarchical like
"export_pin". Any CDir loaded into the cache may be ephemerally pinned
to a random rank. Like "export_ephemeral_distributed", the random rank
is determined by a consistent hash.

The metadata distribution strategies are facilitated by using John
Lamping and Eric Veach's Jump Consistent Hashing as the consistent hash
algorithm. This hashing algorithm eliminates the need to store the data
structures representing the consistent hash cluster state and performs
as well as Akamai's original implementation providing a fairly uniform
distribution. This algorithm only works for distributed systems with
numbered buckets (nodes) arranged in ascending order and cluster resizes
does not produce any holes in the arrangement of nodes i.e (0, 1, 2, 3)
--[removing node 1]--> (0, 1, 2). CephFS satisfies these conditions as
the MDSs are arranged as numbered ranks and cluster modifications does
not produce any holes in the resulting arrangement of ranks.

Fixes: https://tracker.ceph.com/issues/41302
Signed-off-by: Sidharth Anupkrishnan <sanupkri@redhat.com>
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: trim pinned and empty subtrees
Patrick Donnelly [Fri, 5 Jun 2020 02:00:04 +0000 (19:00 -0700)]
mds: trim pinned and empty subtrees

Before export (and ephemeral) pinned subtrees are stuck in cache
forever.

Add qa test for checking export pinned directories can be trimmed.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: refactor remove_subtree
Patrick Donnelly [Fri, 5 Jun 2020 01:58:10 +0000 (18:58 -0700)]
mds: refactor remove_subtree

Search each map only once as necessary.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: allow export of pinned directory if empty
Patrick Donnelly [Mon, 8 Jun 2020 23:50:44 +0000 (16:50 -0700)]
mds: allow export of pinned directory if empty

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: reduce subtree processing verbosity
Patrick Donnelly [Wed, 10 Jun 2020 16:20:25 +0000 (09:20 -0700)]
mds: reduce subtree processing verbosity

and some mild loop refactoring.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: skip export of empty directories
Patrick Donnelly [Sat, 7 Mar 2020 03:19:49 +0000 (19:19 -0800)]
mds: skip export of empty directories

Note: empty as in no cached sub-entries.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: remove frozen export pin from queue
Patrick Donnelly [Sat, 7 Mar 2020 03:15:03 +0000 (19:15 -0800)]
mds: remove frozen export pin from queue

The export already belongs on the node id so there's no need to keep it
in the queue.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: simplify for loop construction
Patrick Donnelly [Sat, 7 Mar 2020 03:13:46 +0000 (19:13 -0800)]
mds: simplify for loop construction

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agomds: add debug messages for export queue processing
Patrick Donnelly [Tue, 9 Jun 2020 22:14:23 +0000 (15:14 -0700)]
mds: add debug messages for export queue processing

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: refactor _wait_subtree and _get_subtree
Patrick Donnelly [Fri, 5 Jun 2020 02:40:00 +0000 (19:40 -0700)]
qa: refactor _wait_subtree and _get_subtree

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: use status from wait_for_daemons
Patrick Donnelly [Fri, 5 Jun 2020 02:49:09 +0000 (19:49 -0700)]
qa: use status from wait_for_daemons

Avoid an extra `fs dump` call.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoqa: quietly print json output from asok commands
Patrick Donnelly [Sun, 14 Jun 2020 03:26:35 +0000 (20:26 -0700)]
qa: quietly print json output from asok commands

Pretty print output once. Use --format=json so the stdout on teuthology
is not pretty printed, taking hundreds of lines.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35752 into master
Patrick Donnelly [Wed, 24 Jun 2020 22:42:25 +0000 (15:42 -0700)]
Merge PR #35752 into master

* refs/pull/35752/head:
qa: fix flake8 error

Reviewed-by: Neha Ojha <nojha@redhat.com>
5 years agoqa: fix flake8 error 35752/head
Patrick Donnelly [Wed, 24 Jun 2020 19:20:33 +0000 (12:20 -0700)]
qa: fix flake8 error

    ./tasks/vstart_runner.py:33:1: F401 'io.BytesIO' imported but unused

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35665 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:42:29 +0000 (11:42 -0700)]
Merge PR #35665 into master

* refs/pull/35665/head:
vstart_runner.py: improve a conditional in _do_run

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #33879 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:35:37 +0000 (11:35 -0700)]
Merge PR #33879 into master

* refs/pull/33879/head:
client: fix snap directory atime

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35518 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:34:47 +0000 (11:34 -0700)]
Merge PR #35518 into master

* refs/pull/35518/head:
mds: fix filelock state when Fsc is issued

Reviewed-by: Zheng Yan <zyan@redhat.com>
5 years agoMerge PR #35522 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:34:04 +0000 (11:34 -0700)]
Merge PR #35522 into master

* refs/pull/35522/head:
vstart_runner: set default values of stdout and stderr to None

Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35532 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:32:26 +0000 (11:32 -0700)]
Merge PR #35532 into master

* refs/pull/35532/head:
Revert "Revert "qa/suites/rados/mgr/tasks/module_selftest: whitelist mgr client getting backlisted""

Reviewed-by: Brad Hubbard <bhubbard@redhat.com>
5 years agoMerge PR #35540 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:31:29 +0000 (11:31 -0700)]
Merge PR #35540 into master

* refs/pull/35540/head:
qa/cephfs: don't pass cmd args from run_as_user as str
qa/cephfs: refactor run_as_root() to user run_as_user()

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35582 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:30:33 +0000 (11:30 -0700)]
Merge PR #35582 into master

* refs/pull/35582/head:
mds: reset heartbeat in EMetaBlob replay

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge PR #35619 into master
Patrick Donnelly [Wed, 24 Jun 2020 18:29:24 +0000 (11:29 -0700)]
Merge PR #35619 into master

* refs/pull/35619/head:
mds: reset sequence number when new rank0 mds is available
mds: dump mds name when processing mds map

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agorgw: orphan-list timestamp fix 35736/head
J. Eric Ivancich [Tue, 23 Jun 2020 21:05:59 +0000 (17:05 -0400)]
rgw: orphan-list timestamp fix

When creating intermediate and output files, the rgw-orphan-list
script uses a timestamp using the `date` command. The hour was
inserted with "%k" but that padds with a space rather than a zero. So
that's changed to "%H".

Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
5 years agoMerge pull request #35208 from prateek2211/refactor
Casey Bodley [Wed, 24 Jun 2020 15:12:44 +0000 (11:12 -0400)]
Merge pull request #35208 from prateek2211/refactor

rgw: Replace boost::string_ref/view with std::string_view

Reviewed-by: Yuval Lifshitz <ylifshit@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
5 years agoMerge pull request #35331 from yuvalif/fix_issue_43536
Casey Bodley [Wed, 24 Jun 2020 14:58:31 +0000 (10:58 -0400)]
Merge pull request #35331 from yuvalif/fix_issue_43536

rgw/pubsub: remove deprecated radogw-admin pubsub creation commands

Reviewed-by: Casey Bodley <cbodley@redhat.com>