Commit Graph

51 Commits

Author SHA1 Message Date
Rishabh Dave
07688b96e1 qa/vstart_runner.py: ignores when source and destination are same
put_file() in vstart_runner.py should ignore the error when source and
destination paths supplied are same, since source and destination for
put_file() method in teuthology are on different machines, they
represent different locations.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-07-25 10:51:50 +05:30
Volker Theile
b812689c48 qa: vstart_runner fails because of string index out of range
Fix problem in LocalRemote::_perform_checks_and_return_list_of_args() when LocalCephManager::raw_cluster_cmd() is called with a empty command parameter.

Fixes: https://tracker.ceph.com/issues/40729
Signed-off-by: Volker Theile <vtheile@suse.com>
2019-07-11 15:15:10 +02:00
Patrick Donnelly
475f2deaf3
Merge PR #28561 into master
* refs/pull/28561/head:
	vstart_runner: upgrade the check for commands to be run as another user
	vstart_runner: split unicode arguments into lists

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2019-06-20 11:09:01 -07:00
Rishabh Dave
21a1b30a3e vstart_runner: upgrade the check for commands to be run as another user
Rectify the condition that checks if command to be issued as another
user using sudo is issued as a single argument after "-c".

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-06-20 21:35:38 +05:30
Rishabh Dave
da441cb381 vstart_runner: split unicode arguments into lists
Split not just string arguments but also unicode arguments into lists.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-06-20 11:04:59 +05:30
Rishabh Dave
c086c13b22 qa/tasks: upgrade command arguments checks in vstart_runner.py
Exempt run.Raw from checks in vstart_runner.py as most of them are
meant for strings.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-06-07 13:20:06 +05:30
Rishabh Dave
96be56c4f1 qa/tasks: upgrade the check for -c sudo option in vstart_runner.py
Right now vstart_runner.py checks if the command to be ran as a
different user using sudo is a single argument by checking if "-c" is
the second last arguemnt. However, this check fails in a case where
"-c" is option for a command being ran as root (e.g. "sudo python -c
some-python-program"). So, add check for this.

Fixes: http://tracker.ceph.com/issues/39385
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-05-26 17:10:44 +02:00
Rishabh Dave
532670bd05 qa: add wrappers for vstart's run() with check_status as False
Too often in tests it is required to run a command that we want to (or
will probably) fail so that we can check if it failed for expected
reason(s) (eg. a testcase where command must fail with "Permission
denied"). Therefore, add few wrapper methods for vstart_runner.py's
run() with check_status's default value as False so that we don't need
to pass check_status's value at every call to run() or it's other
wrappers.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-17 23:58:22 +05:30
Rishabh Dave
d90c0a0e81 qa: add stdin parameter to run_shell
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-17 23:58:22 +05:30
Rishabh Dave
5462ba5d9d qa: command to be ran as a different user should be a single string
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-17 23:58:19 +05:30
Rishabh Dave
bbca211225 qa: looks for quotes in Python shell and get rid of them
Since quotes are not a token for Python's shell simulation (unlike
Bash), raise a RuntimeError for them and add an exception for Python
command since it quotes to define a program on commandline.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-12 15:00:58 +05:30
Rishabh Dave
512f4721a5 qa: move checks on command arguments to a different method
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-12 15:00:58 +05:30
Rishabh Dave
ee940faaff qa: accept args as strings
Till now the run() method in vstart_runner.py accepts commands only as
a (Python) list. It is very inconvenient to write commands as
['setfacl', '-m', 'user:someuser:rwx', 'somedir/somefile'] when they
can be simply be written as
'setfacl -m user:someuser:rwx somedir/somefile'. Also, converting the
latter form to former one is exceedingly simple. So writing commands as
strings should be allowed.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-12 15:00:58 +05:30
Rishabh Dave
cb262323bc qa: add a method to run given command as root user
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-12 15:00:58 +05:30
Rishabh Dave
8ca094ff99 qa: add a method to run a command as a different user
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-12 15:00:57 +05:30
Rishabh Dave
3e0a1361f7 qa: allow keeping sudo in command arguments
sudo cannot be omitted from the given command's arguments, when running
passwd, chown and, specially, when sudo is used for running the given
command as different user.

Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-09 21:03:31 +05:30
Rishabh Dave
5df2b82c4f qa: make execution abortion optional for command ran through run_shell()
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2019-04-09 21:03:31 +05:30
Patrick Donnelly
2ea41574a2
qa: use SIGTERM when stopping vstart service
Otherwise MDS will not send down:dne to mons when restarting.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2019-02-27 21:38:24 -08:00
alfonsomthd
c094e2d702 mgr/dashboard: fix skipped backend API tests
* When the creation of the cluster is delegated to vstart_runner.py
(--create or --create-target-only) the amount of MGRs required
is calculated by the script so there is no more skipped tests
due to insufficient amount of MGRs.

* Additionally, this issue is not reproducible anymore:
Fixes: https://tracker.ceph.com/issues/37964

* Fixed typo: TEUTHOLOFY_PY_REQS

Signed-off-by: Alfonso Martínez <almartin@redhat.com>
2019-01-30 13:05:02 +01:00
John Spray
e5fb5a1ddd qa: generalise REQUIRE_MEMSTORE
Move it up into CephTestCase so that mgr tests can
use it too, and pick it up in vstart_runner.py so
that these tests will work neatly there.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-12-18 13:30:54 -06:00
James Page
20aa3ad17b Correct usage of collections.abc
Some classes should still be imported directly from collections;
only OrderedDict, Iterable and Callable (in the context of the
ceph codebase) are found in collections.abc.

The current code works due to the fallback support for Python 2.

Signed-off-by: James Page <james.page@ubuntu.com>
2018-11-29 09:48:43 +00:00
Ganesh Maharaj Mahalingam
625868974b fix python collections module warning for v3.7 and above
Python 3.7 now shows a warning as below.

/usr/bin/ceph:128: DeprecationWarning: Using or importing the ABCs from
'collections' instead of from 'collections.abc' is deprecated, and in
3.8 it will stop working
  import rados

This patch addresses the that particular issue.

Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-10-28 23:32:22 -07:00
Volker Theile
00e3022710 mgr/dashboard/qa: CephfsTest - admin_socket() got an unexpected keyword argument 'timeout'
Adapt method arguments of LocalRemote::run() according to teuthology.orchestra.run.run() (see https://github.com/ceph/teuthology/blob/master/teuthology/orchestra/run.py#L364) to be able to run QA tests locally in a vstart cluster.

Fixes: http://tracker.ceph.com/issues/36581
Signed-off-by: Volker Theile <vtheile@suse.com>
2018-10-26 09:59:11 +02:00
Volker Theile
95746ecce9 mgr: Add ability to trigger a cluster/audit log message from Python
Fixes: https://tracker.ceph.com/issues/36194

Signed-off-by: Volker Theile <vtheile@suse.com>
2018-10-04 13:33:18 +02:00
John Spray
da5b25db64 qa/vstart_runner: fix daemons list
This was missing a cluster name prefix that
was added at some point, and consequently
calls to iter_daemons_of_role were returning
no daemons.

This was causing e.g. TestVolumeClient.test_data_isolated
to fail when run in vstart_runner.

Signed-off-by: John Spray <john.spray@redhat.com>
2018-09-17 14:00:36 -04:00
John Spray
5ecd69099d qa: add tests for progress module
Signed-off-by: John Spray <john.spray@redhat.com>
2018-09-11 11:21:35 +01:00
Rishabh Dave
2f35ade05f
qa/ceph-volume: allow executing python pyloads using python3
Signed-off-by: Rishabh Dave <ridave@redhat.com>
2018-07-30 16:12:48 -07:00
Patrick Donnelly
9dcbe8c33e
Merge PR #22977 into master
* refs/pull/22977/head:
	qa/tasks/cephfs: add test for discontinuous mdsmap
	mds: handle discontinuous mdsmap

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-20 20:53:06 -07:00
Yan, Zheng
5e843162da qa/tasks/cephfs: add test for discontinuous mdsmap
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
2018-07-19 14:34:29 +08:00
Patrick Donnelly
8620c4caf5
vstart_runner: pass ctx to FuseMount and load mount info
Credit to Venky for finding the problem.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-07-18 06:42:16 -07:00
Dan Mick
7fc8714a27 qa/tasks/{ceph_manager.py,vstart_runner.py}: allow kwargs in raw_*
Allow passing kwargs (like stdin=) to the local and teuthology
clusters when running tests

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2018-06-29 14:51:34 -07:00
Sage Weil
577737d007 osd: osd_mon_report_interval_min -> osd_mon_report_interval, kill _max
The _max isn't used.  Drop the _min suffix.

Signed-off-by: Sage Weil <sage@redhat.com>
2018-04-06 11:00:14 -05:00
Patrick Donnelly
9a558c51dc
vstart_runner: examine check_status before error
Issue found by Rishabh Dave. Fix suggested by John Spray.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2018-04-02 08:08:43 -07:00
Patrick Donnelly
cd1e5f53f0
vstart_runner: ignore failed dentry invalidation
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-12-13 19:15:43 -08:00
Patrick Donnelly
0f507d8855
vstart_runner: set ec_profile attribute
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-12-13 19:15:39 -08:00
Patrick Donnelly
3a5f090a1e
qa: remove usage of mds dump
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-10-24 11:32:43 -07:00
Patrick Donnelly
614b0d9368
qa: revert "qa: use config_path property instead of literal"
This reverts commit f95798b3ad.

The config_path method wasn't available through inheritance as I thought. Oops.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-20 16:09:40 -07:00
Patrick Donnelly
bc3a00af0f
qa: get asok path from ceph.conf
The asok path was recently moved to /tmp to resolve unix path too long errors.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:52:54 -07:00
Patrick Donnelly
f95798b3ad
qa: use config_path property instead of literal
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
2017-09-12 15:50:33 -07:00
Douglas Fuller
5fafc03cb9 qa/cephfs: Allow deferred fs creation
Permit Filesystem objects to be created and settings modified before
calling Filesystem.create().

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
2017-08-30 09:02:44 -04:00
Sage Weil
80978dea8a qa/tasks/ceph_manager: wait_for_all_up -> wait_for_all_osds_up
Signed-off-by: Sage Weil <sage@redhat.com>
2017-07-27 12:10:26 -04:00
John Spray
f695a0e30f qa: s/REQUIRE_MGRS/MGRS_REQUIRED/ for consistency
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-20 15:00:31 +01:00
John Spray
8ea98b4cbf qa: fix vstart_runner --create for mgr tests
Signed-off-by: John Spray <john.spray@redhat.com>
2017-04-20 15:00:31 +01:00
John Spray
a2a100dc13 Merge pull request #14272 from jcsp/wip-vstart-fixup
qa: fix test_standby_for_invalid_fscid with vstart_runner

Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
2017-04-18 12:50:20 +01:00
John Spray
bf39f561e9 qa: fix test_standby_for_invalid_fscid with vstart_runner
Signed-off-by: John Spray <john.spray@redhat.com>
2017-03-31 12:13:57 -04:00
Ilya Dryomov
8d8cd4e4d5 qa/vstart_runner: amend ps invocation
"ps -xwwu<id>" is parsed as BSD, because -x is not a UNIX option.
"u" is a BSD option for user-oriented format, so the <id> ends up being
parsed as an old-style "select by pid".  The only reason this command
doesn't dump other user's processes is that the BSD "only yourself"
restriction is in effect.

I'm not sure what's wrong with a simple "ps xww", but if we want to
select by euid, let's do it right.

Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
2017-03-30 19:36:43 +02:00
John Spray
fe219df2a2 qa: update vstart_runner docstring
...to use paths pointing to ceph tree, not
ceph-qa-suite tree.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-19 06:30:20 +01:00
John Spray
aa01f44022 qa: enable cluster creation in vstart_runner
Convenient when you want to create a fresh cluster
each test run: just pass --create and you'll get
a cluster with the right number of daemons for
the tests you're running.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-05 13:43:40 +00:00
John Spray
5d945fb71e qa/vstart_runner: more robust stop() on daemons
Previously this could get hung up if we killed one
PID and then the daemon reappears with a different
one (perhaps because we caught it during
daemonization?)

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-05 13:43:39 +00:00
John Spray
081038ef53 qa: fix vstart_runner tasks import
Instead of hunting around the filesystem for
ceph-qa-suite, get it from our own location.

Signed-off-by: John Spray <john.spray@redhat.com>
2017-01-05 13:43:39 +00:00