Commit Graph

498 Commits

Author SHA1 Message Date
Kefu Chai
981ad34987 qa/tasks/cephfs/test_cephfs_shell: assertRegex(text, regex)
per Python3 doc of unittest,

> assertRegex(text, regex, msg=None)

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:23 +08:00
Kefu Chai
7f48f61bdc qa/tasks/cephfs: return ascii decoded xattr
as callers of `TestForwardScrub._read_str_xattr()` expects str.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
162be92106 qa/tasks/cephfs: cast mds_recall_warning_decay_rate to float
this change should address the failure of
```
2020-04-05T15:14:23.088 INFO:tasks.cephfs_test_runner:Traceback (most recent call last):
2020-04-05T15:14:23.088 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_client_limits.py", line 110, in test_client_pin_mincaps
2020-04-05T15:14:23.089 INFO:tasks.cephfs_test_runner:    self._test_client_pin(True, 200)
2020-04-05T15:14:23.089 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_client_limits.py", line 71, in _test_client_pin
2020-04-05T15:14:23.090 INFO:tasks.cephfs_test_runner:    self.wait_for_health("MDS_CLIENT_RECALL", mds_recall_warning_decay_rate*2)
2020-04-05T15:14:23.091 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/ceph_test_case.py", line 152, in wait_for_health
2020-04-05T15:14:23.091 INFO:tasks.cephfs_test_runner:    self.wait_until_true(seen_health_warning, timeout)
2020-04-05T15:14:23.092 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/ceph_test_case.py", line 193, in wait_until_true
2020-04-05T15:14:23.093 INFO:tasks.cephfs_test_runner:    if elapsed >= timeout:
2020-04-05T15:14:23.093 INFO:tasks.cephfs_test_runner:TypeError: unorderable types: int() >= str()
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
20dafc6d52 qa/tasks/cephfs: allow caller to use BytesIO when calling rados()
when the caller expects binary data, it should pass BytesIO as stdout.

this change shold address the failure of
```
2020-04-05T12:47:25.335 INFO:tasks.cephfs_test_runner:======================================================================
2020-04-05T12:47:25.336 INFO:tasks.cephfs_test_runner:ERROR: test_apply_tag (tasks.cephfs.test_forward_scrub.TestForwardScrub)
2020-04-05T12:47:25.336 INFO:tasks.cephfs_test_runner:----------------------------------------------------------------------
2020-04-05T12:47:25.336 INFO:tasks.cephfs_test_runner:Traceback (most recent call last):
2020-04-05T12:47:25.337 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_forward_scrub.py", line 75, in test_apply_tag
2020-04-05T12:47:25.337 INFO:tasks.cephfs_test_runner:    self.assertTagged(inos[dirpath], tag, self.fs.get_metadata_pool_name())
2020-04-05T12:47:25.337 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_forward_scrub.py", line 98, in assertTagged
2020-04-05T12:47:25.338 INFO:tasks.cephfs_test_runner:    "scrub_tag"
2020-04-05T12:47:25.338 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_forward_scrub.py", line 35, in _read_str_xattr
2020-04-05T12:47:25.339 INFO:tasks.cephfs_test_runner:    strlen = struct.unpack('i', output[0:4])[0]
2020-04-05T12:47:25.339 INFO:tasks.cephfs_test_runner:TypeError: a bytes-like object is required, not 'str'
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
eb2c6b3740 qa/tasks/cephfs: use BytesIO for capturing binary
this change partially reverts e46eb8348e.

xattrs could contain non-utf8 encoded data, and should be captured using
BytesIO. moreover, it will be fed to `ceph-dencoder`, which expects
binary when performing "import".

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
21d6c5a95b qa/tasks/cephfs: use assertCountEqual if PY3
assertItemsEqual is renamed to assertCountEqual in Python3.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
83e41daec4 qa/tasks/cephfs: compare number with number
to address following failure:
```
2020-04-05T12:25:30.997 INFO:tasks.cephfs_test_runner:Traceback (most recent call last):
2020-04-05T12:25:30.997 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_misc.py", line 50, in test_root_rctime
2020-04-05T12:25:30.998 INFO:tasks.cephfs_test_runner:    self.assertGreaterEqual(rctime, t-10)
2020-04-05T12:25:30.998 INFO:tasks.cephfs_test_runner:  File "/usr/lib/python3.5/unittest/case.py", line 1215, in assertGreaterEqual
2020-04-05T12:25:30.998 INFO:tasks.cephfs_test_runner:    if not a >= b:
2020-04-05T12:25:30.999 INFO:tasks.cephfs_test_runner:TypeError: unorderable types: str() >= float()
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
40d0356249 qa/tasks/cephfs: do no radom.sample(a_dict)
collect the keys instead of filtering a dict,
to address following failure:
```
2020-04-05T12:15:36.275 INFO:tasks.cephfs_test_runner:Traceback (most recent call last):
2020-04-05T12:15:36.275 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_strays.py", line 29, in test_files_throttle
2020-04-05T12:15:36.275 INFO:tasks.cephfs_test_runner:    self._test_throttling(self.FILES_THROTTLE)
2020-04-05T12:15:36.276 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_strays.py", line 96, in _test_throttling
2020-04-05T12:15:36.276 INFO:tasks.cephfs_test_runner:    return self._do_test_throttling(throttle_type)
2020-04-05T12:15:36.278 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/test_strays.py", line 176, in _do_test_throttling
2020-04-05T12:15:36.278 INFO:tasks.cephfs_test_runner:    mds_max_purge_ops = int(self.fs.get_config("mds_max_purge_ops", 'mds'))
2020-04-05T12:15:36.279 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/github.com_tchaikov_ceph_wip-qa-py3/qa/tasks/cephfs/filesystem.py", line 285, in get_config
2020-04-05T12:15:36.279 INFO:tasks.cephfs_test_runner:    service_id = random.sample(filter(lambda i: self.mds_daemons[i].running(), self.mds_daemons), 1)[0]
2020-04-05T12:15:36.280 INFO:tasks.cephfs_test_runner:  File "/home/teuthworker/src/git.ceph.com_git_teuthology_py3/virtualenv/lib/python3.5/random.py", line 311, in sample
2020-04-05T12:15:36.280 INFO:tasks.cephfs_test_runner:    raise TypeError("Population must be a sequence or set.  For dicts, use list(d).")
2020-04-05T12:15:36.280 INFO:tasks.cephfs_test_runner:TypeError: Population must be a sequence or set.  For dicts, use list(d).
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 21:51:22 +08:00
Kefu Chai
2089bf04b9 qa/tasks: use "a // b" instead of "a / b"
for expressions where the value is expected to be integer. as in
python3, `a / b` returns a float.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Kefu Chai
9ca45bd942 qa/tasks: do not random.choice(a_view)
use `random.sample()` instead of `random.choice(list(a_view))` for better performance.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Kefu Chai
dd8d929c9c qa,tes: s/xrange/range/
use six.moves.range for python3 copatibility, we can drop six after
migrating to python3.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Kefu Chai
f10f865796 qa/tasks/cephfs: use StringIO for capturing str
if we don't expect non-utf8 in stdout, use StringIO instead of BytesIO.

see also d8d44ed156

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Kefu Chai
d7258ea7fd qa/tasks: use next(iter(..)) for accessing first element in a view
in python2, dict.values() and dict.keys() return lists. but in python3,
they return views, which cannot be indexed directly using an integer index.

there are three use cases when we access these views in python3:

1. get the first element
2. get all the elements and then *might* want to access them by index
3. get the first element assuming there is only a single element in
   the view
4. iterate thru the view

in the 1st case, we cannot assume the number of elements, so to be
python3 compatible, we should use `next(iter(a_dict))` instead.

in the 2nd case, in this change, the view is materialized using
`list(a_dict)`.

in the 3rd case, we can just continue using the short hand of
```py
(first_element,) = a_dict.keys()
```
to unpack the view. this works in both python2 and python3.

in the 4th case, the existing code works in both python2 and python3, as
both list and view can be iterated using `iter`, and `len` works as
well.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-04-07 20:33:47 +08:00
Gregory Farnum
40fb15563d
Merge pull request #31480 from ukernel/wip-20
client: auto reconnect after blacklisted

Reviewed-by: Jeff Layton <jlayton@redhat.com>
2020-04-03 12:53:29 -07:00
Gregory Farnum
0e7e0d59c7
Merge pull request #34386 from gregsfortytwo/wip-33279-revert-sudo
Wip 33279 revert sudo

Reviewed-by: Douglas Fuller <dfuller@redhat.com>
2020-04-03 12:36:37 -07:00
Greg Farnum
81ce2b240a Revert "qa/cephfs: move run_shell and related methods to mount.py"
This reverts commit 751d432a86.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2020-04-03 02:24:48 +00:00
Greg Farnum
1902e6bfd9 Revert "vstart_runner.py: add methods for negative testing a cmd"
This reverts commit 48e0e1d703.

Signed-off-by: Greg Farnum <gfarnum@redhat.com>
2020-04-03 02:24:45 +00:00
Venky Shankar
bccbf1fa03 mgr: force purge normal ceph entities from service map
Normal ceph services can send task status updates to manager.
Task status is tracked in service map implying that normal
ceph services have entries in service map and daemon tracking
index (daemon state). But the manager prunes entries from daemon
state when it receives an updated map (fs, mon, etc...). This
causes periodic pruning of service map entries to fail for normal
ceph services (those which send task status updates) since it
expects a corresponding entry in daemon state.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
2020-03-31 02:41:00 -04:00
Yan, Zheng
107b91d528 qa/cephfs: test case for auto reconnect after blacklisted
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Fixes: https://tracker.ceph.com/issues/42085
2020-03-30 10:24:47 +08:00
Gregory Farnum
60504bd048
Merge pull request #33279 from rishabh-d-dave/fs-move-run_shell-and-related-methods
qa/cephfs: move run_shell to mount.py and add methods for negative testing
2020-03-27 12:59:43 -07:00
Kefu Chai
4b4f393aec qa/tasks/cephfs: fix print() to be py3 compatible
Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-27 14:51:24 +08:00
Yan, Zheng
4b79a2ecce
Merge pull request #29443 from simon-rock/metatool_dev
tool: add cephfs-meta-injection to show and amend info of inode
2020-03-26 17:10:28 +08:00
Kefu Chai
496d7e2132 qa/tasks/cephfs: fix syntax error
it's a regression introduced by 9f6c764f10

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-24 18:27:55 +08:00
Kefu Chai
947a74349d qa: import with full path
to be py3 compatible

Signed-off-by: Kefu Chai <kchai@redhat.com>
2020-03-24 18:27:55 +08:00
simon gao
53ba9089d8 qa : add case to test cephfs-meta-injection
Signed-off-by: simon gao <simon29rock@gmail.com>
2020-03-24 16:39:02 +08:00
Rishabh Dave
48e0e1d703 vstart_runner.py: add methods for negative testing a cmd
Methods like run_shell effectively conduct positive test on the given
command. Add methods that runs given command expecting failure and then
verifies return value and error message with given one. Rewrite testcmd,
testcmd_as_user and testcmd_as_root to create these new methods for
negative testing since run_shell, run_as_user and run_as_root is
equivalent of running positive test.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-03-20 02:11:58 +05:30
Rishabh Dave
751d432a86 qa/cephfs: move run_shell and related methods to mount.py
LocalFuseMout and LocalKernelMount can directly inherit these methods
from CephFSMount via FuseMount and KernelMount respectively. Moving
would avoid duplication and would make these methods more accessible
for reusing via inheritance.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2020-03-20 02:11:54 +05:30
Sage Weil
6cb39e4aa8 Merge PR #34060 into master
* refs/pull/34060/head:
	Merge PR #34027 into octopus
	Merge PR #34045 into octopus
	Merge pull request #34035 from dillaman/wip-rbd-permissions
	mgr/progress: fix duration strings
	Merge PR #34014 into octopus
	Merge PR #34001 into octopus
	Merge PR #34011 into octopus
	qa/workunits/rbd: use context managers to control Rados lifespan
	Merge pull request #34032 from dillaman/wip-rbd-octopus-docs
	doc/releases/octopus: add additional RBD improvements
	qa/workunits/cephadm/test_cephadm: mark services unmanaged for test
	mgr/cephadm: do not reconfig unmanaged services
	Merge PR #33981 into octopus
	Merge pull request #34018 from ajarr/octopus-subvolume-clone-cancel
	qa/workunits/cephadm/test_cephadm: output file for pub key
	Merge PR #33866 into octopus
	Merge PR #34005 into octopus
	Merge PR #34013 into octopus
	mgr/cephadm: pytest: Enable SpecStore
	mgr/orchestrator: add test for default implementation for apply()
	python-common: validate ServiceSpec.service_type
	fixup mgr/cephadm: Fix ceph orch apply -i
	mgr/dashbaord: orchestrator service: Revert wait_api_result to a single completion
	mgr/orchestrator: `orch daemon add` accepts a yaml
	mgr/cephadm: apply_drivegroups() returns a single Completion
	mgr/cephadm: remove `trivial_result()`
	mgr/cephadm: Fix `ceph orch apply -i`
	Merge pull request #33994 from dillaman/wip-librbd-poll-event-race
	doc: document `clone cancel` command
	test: add `clone cancel` tests
	mgr/volumes: introduce "clone cancel" volume command
	mgr/volumes: allow canceling a single asynchronous job for a volume
	mgr/volumes: helper for looking up a clone entry index
	mgr/volumes: periodically check if clone operations should be canceled
	mgr/volumes: periodically check if copy operations should be canceled
	mgr/volumes: introduce 'canceled' state in clone op state machine
	qa/suites/rados/verify/validater/valgrind: tolerate SLOW_OPS
	qa/suites/rados/verify/validater/valgrind: less bluestore logging
	qa/suites/rados/verify/validater: increase heartbeat grace
	Revert "qa/suites/rados/verify: debug_ms = 1, osd_heartbeat_grace = 60"
	Revert "qa/suites/rados/verify/validator/valgrind: debug refs = 5"
	ceph_test_watch_notify: try notify 10x if ALLOW_TIMEOUTS is set
	ceph_test_rados_api_misc: ShutdownRace timeout if ALLOW_TIMEOUTS is set
	qa/suites/rados/verify: set ALLOW_TIMEOUTS for workunits
	doc/install: edits
	doc/cephadm: more edits
	doc/cephadm/install: edits
	doc/cephadm/adoption: improvements
	doc/cephadm/install: a few edits
	doc/cephadm/install: do not install ceph-common on host (by default)
	doc/cephadm: drop os recs link
	doc/cephadm/upgrade: improvements
	doc/cephadm/upgrade: document upgrade
	doc/cephadm/install: revamp install docs
	doc: reorganize cephadm docs
	doc/cephadm/administration: update docs on customizing SSH config
	doc/cephadm/administration: add a note about the 'removed' dir
	mgr/balancer: tolerate pgs outside of target weight map
	qa/workunits/cephadm/test_cephadm: --skip-monitoring-stack
	Merge PR #33974 into octopus
	Merge PR #33442 into octopus
	Merge PR #33997 into octopus
	Merge PR #34000 into octopus
	use quay octopus tip until 15.2 tag is available
	python-common: reduce output of ServiceSpec.to_json()
	python-common,mgr/cephadm: move assert_valid_host to service_spec
	mgr/cephadm: add HostAssignment.validate()
	mgr/dashboard: adapt create_osds interface change
	mon/MgrMonitor: make 'mgr fail' work with no arguments
	cephadm: add allow_ptrace option to enable SYS_PTRACE
	update default container images
	mgr/cephadm: limit number of times check host is performed in the serve loop
	Merge PR #33961 into octopus
	Merge PR #33952 into octopus
	Merge PR #33990 into octopus
	Merge PR #33955 into octopus
	Merge PR #33936 into octopus
	mgr/orch: add --all-available-devices to 'orch apply osd'
	qa/workunits/cephadm: --skip-mon-network when using 127.0.0.1
	cephadm: add tests
	qa/tasks/cephadm: pass -v to bootstrap
	mgr/cephadm: only try to place mons on hosts matching public_network
	mgr/cephadm: keep track of host networks, ips
	cephadm: automatically infer mon public_network, if we can
	cephadm: add list-networks command
	cephadm: bootstrap: deploy monitoring stack by default
	librbd: defer event socket completion until after callback issued
	cephadm: add-repo: add --version
	mgr/cephadm: respect 'unmanaged' flag in spec
	mgr/orch: orch ls: show <no spec> or <unmanaged> as appropriate
	mgr/orch: orch ls: rename SPEC -> PLACEMENT
	mgr/orch: add 'unmanaged' property to ServiceSpec
	cephadm: rename distro args in repo methods
	mgr/orch: combine 'orch daemon add <type> ...' into one command
	mgr/orch: combine 'orch apply <type> [<placement>]' into one command

Reviewed-by: Laura Paduano <lpaduano@suse.com>
2020-03-19 11:07:16 -05:00
Venky Shankar
ba4b9358e1 test: add clone cancel tests
Signed-off-by: Venky Shankar <vshankar@redhat.com>
2020-03-18 11:03:17 +05:30
Sage Weil
603383605f Merge PR #33885 into master
* refs/pull/33885/head:
	Merge pull request #33848 from mchangir/octopus-tests-remove-suprious-whitespace
	Merge PR #33746 into octopus
	Merge PR #33830 into octopus
	Merge PR #33732 into octopus
	Merge PR #33620 into octopus
	Merge pull request #33876 from tchaikov/octopus-cephadm-mypy
	cephadm: add "assert foo is not None" for mypy check
	Merge pull request #33067 from tspmelo/wip-rbd-delete-with-snapshot
	cephadm: add grafana adopt
	Merge PR #33771 into octopus
	Merge PR #33850 into octopus
	Merge PR #33853 into octopus
	Merge PR #33857 into octopus
	Merge PR #32990 into octopus
	Merge PR #33713 into octopus
	Merge PR #33838 into octopus
	qa/tasks/cephadm: no default mon|mgr|crash service specs
	qa/suites/rados/cephadm/upgrade: upgrade start point that supports the no-spec option
	Merge PR #33832 into octopus
	cephadm: bootstrap: wait for mgr to restart after enabling a module
	mgr: add 'mgr_status' tell command
	Merge pull request #33839 from rhcs-dashboard/44538-fix-rgw-grafana-get-put-latencies
	Merge pull request #33743 from votdev/issue_43869_fix_qa_test
	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
	Merge pull request #33805 from tchaikov/wip-44500
	spec: Podman (temporarily) requires apparmor-abstractions on suse
	mgr/cephadm: Make sure we don't co-locate the same daemon
	monitoring: fix RGW grafana chart 'Average GET/PUT Latencies'
	tests: remove spurious whitespace
	mgr/cephadm: fix service list filtering
	Merge PR #33825 into octopus
	Merge PR #33811 into octopus
	Revert "Merge pull request #33673 from cbodley/wip-denc-enum"
	mgr/cephadm: fix upgrade order
	Merge PR #33801 into octopus
	Merge PR #33822 into octopus
	cephadm: bootstrap: tolerate error return from -h
	Merge PR #33809 into octopus
	Merge PR #32678 into octopus
	cephadm: use `sh` instead of `bash` during enter
	ceph.in: only shut down rados on clean exit
	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
	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
	mgr/cephadm: add _remove_osds_bg back to main loop
	mgr/cephadm/osd: update removal report immediately
	qa/tasks/ceph_manager: use StringIO for capturing COT output
	qa/standalone/scrub/osd-scrub-repair: force osdmap prop to osds
	qa/standalone/scrub/osd-scrub-test: wait longer for update
	qa/tasks/ceph_manager: capture stderr for COT
	qa/suites/rados/ceph: drop opensuse for now
	mon/MonClient: send logs to mon on separate schedule than pings
	mgr/dashboard: Fix missing ImageSpec usage
	mgr/dashboard: Allow removing RBD with snapshots
	mgr/dashboard: Refactor and cleanup tasks.mgr.dashboard.test_user
	mgr/dashboard: support multiple DriveGroups when creating OSDs
	mon/MonClient: send logs to mon even if we have no keelalive2
	cephadm: flag dashboard user to change password

Reviewed-by: Sebastian Wagner <swagner@suse.com>
2020-03-11 17:38:59 -05:00
Kefu Chai
8fd63d2384
Merge pull request #32262 from kshtsk/wip-ceph-py-py3
qa/tasks: py3 compat

Reviewed-by: Kefu Chai <kchai@redhat.com>
2020-03-11 23:22:04 +08:00
Milind Changire
f7d056a026 tests: remove spurious whitespace
remove spurious whitespace from test_snapshot.py

Fixes: https://tracker.ceph.com/issues/44528
Signed-off-by: Milind Changire <mchangir@redhat.com>
2020-03-10 16:11:07 +05:30
Ramana Raja
d2e327c41c test_volumes: fix _verify_clone_attrs call
... to verify the attributes of clone and source subvolume belonging
to different subvolume groups.

Introduced in e22d546beb

Fixes: https://tracker.ceph.com/issues/44438
Signed-off-by: Ramana Raja <rraja@redhat.com>
2020-03-06 21:17:26 +05:30
Kyr Shatskyy
875b45f3c9 qa/tasks/cephfs/kernel_mount: get rid of StringIO.StringIO for py3
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-06 10:19:55 +01:00
Kyr Shatskyy
9f6c764f10 qa/tasks/cephfs: get rid of StringIO for py3
Use io.BytesIO and six.ensure_str for py3 compatibility

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-06 10:19:55 +01:00
Thomas Bechtold
46e22c422b qa: Enable basic mypy support for qa/ directory
A first step to do more automatic code checks on the qa/
directory. This is useful while transitioning to python3.

Also use log_exc to top-level to not run into:

error: Argument 1 to "log_exc" has incompatible type
  "Callable[[OSDThrasher], Any]"; expected "OSDThrasher"

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2020-03-05 06:54:56 +01:00
Thomas Bechtold
f5e77561e9 qa: Fix problems detected by mypy
This is a first step to enable mypy on the qa/ directory.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2020-03-05 06:53:31 +01:00
Kyr Shatskyy
e46eb8348e qa/tasks: fix imports for py3 compatibility
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
2020-03-04 13:09:16 +08:00
Patrick Donnelly
416a26e733
Merge PR #33636 into master
* refs/pull/33636/head:
	qa: add upgrade test for volume upgrade from legacy

Reviewed-by: Venky Shankar <vshankar@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
2020-03-03 08:17:43 -08:00
Ramana Raja
8034044f94
Merge pull request #33120 from vshankar/wip-mgr-volumes-clone-sync-attrs
mgr/volumes: sync inode attributes for cloned subvolumes

Reviewed-by: Ramana Raja <rraja@redhat.com>
2020-03-03 16:13:34 +05:30
Patrick Donnelly
0c8899c985
qa: add upgrade test for volume upgrade from legacy
This tests that volumes created using the ceph_volume_client.py library
continue to be accessible/function via the Nautilus/Octopus ceph-mgr
volumes plugin.

Fixes: https://tracker.ceph.com/issues/42723
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2020-03-02 20:27:15 -08:00
Patrick Donnelly
b58c14a2d8
Merge PR #33363 into master
* refs/pull/33363/head:
	mds: add perf counters for openfiletable

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-03-02 17:01:48 -08:00
Patrick Donnelly
61681cffd2
Merge PR #33506 into master
* refs/pull/33506/head:
	client: add client_fs mount option support

Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-03-02 16:58:02 -08:00
Venky Shankar
e22d546beb test: add test for verifying inode attrbiutes sync on clone
Also, for existing tests, additionally verify inode attributes
for clones.

Signed-off-by: Venky Shankar <vshankar@redhat.com>
2020-02-28 11:42:17 -05:00
Xiubo Li
1a58e64299 client: add client_fs mount option support
"client_fs" is one alias for "client_mds_namespace=" and it will be
cleaner and be more user-friendly to use. "client_mds_namespace="
will be kept and backwards compatibility used.

Update the documents at the same time.

Fixes: https://tracker.ceph.com/issues/44212
Signed-off-by: Xiubo Li <xiubli@redhat.com>
2020-02-27 19:30:31 -05:00
Patrick Donnelly
a7d273cef7
Merge PR #31200 into master
* refs/pull/31200/head:
	qa/cephfs: test case for auto reconnect after blacklisted

Reviewed-by: Jeff Layton <jlayton@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-02-26 06:26:13 -08:00
Milind Changire
10fafc0ca6 mds: add perf counters for openfiletable
Add perf counters for:
* total omap objects
* total omap key-value pairs
* total omap updates
* total omap removes

Fixes: https://tracker.ceph.com/issues/43750
Signed-off-by: Milind Changire <mchangir@redhat.com>
2020-02-26 12:09:58 +05:30
Patrick Donnelly
aebc88c31e
Merge PR #33427 into master
* refs/pull/33427/head:
	qa/cephfs: rewrite a bit of code xfstests_dev.py
	qa/cephfs: update xfstests-dev deps for RHEL 8

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-02-25 11:05:57 -08:00
Patrick Donnelly
1d3ed17dcb
Merge PR #32657 into master
* refs/pull/32657/head:
	test: query using mds id, not rank
	mgr: re-enable mds `scrub status` info in ceph status
	mon: filter out ceph normal ceph entity types when dumping service metadata
	mgr: filter out normal ceph services when processing service map
	mgr: helper function to check if a service is a normal ceph service

Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2020-02-25 11:04:06 -08:00
Patrick Donnelly
c0c0b5a265
Merge PR #33078 into master
* refs/pull/33078/head:
	qa: avoid subtree rep in test_version_splitting

Reviewed-by: Rishabh Dave <ridave@redhat.com>
2020-02-25 09:14:37 -08:00