]> git.apps.os.sepia.ceph.com Git - teuthology.git/log
teuthology.git
5 years agorun_tasks: add email notification for sleep-before-teardown 1486/head
Kyr Shatskyy [Wed, 20 May 2020 16:06:01 +0000 (18:06 +0200)]
run_tasks: add email notification for sleep-before-teardown

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1473 from kshtsk/wip-schedule-once
Kefu Chai [Tue, 19 May 2020 11:01:07 +0000 (19:01 +0800)]
Merge pull request #1473 from kshtsk/wip-schedule-once

suite: schedule first and last in suite jobs once

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1483 from kshtsk/wip-rename-describe-tests
kshtsk [Mon, 18 May 2020 19:17:12 +0000 (21:17 +0200)]
Merge pull request #1483 from kshtsk/wip-rename-describe-tests

rename teuthology-describe-tests to teuthology-describe

5 years agodescribe_tests: improve summary output 1483/head
Kyr Shatskyy [Sat, 16 May 2020 00:50:13 +0000 (02:50 +0200)]
describe_tests: improve summary output

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoteuthology-describe-tests: rename to teuthology-describe
Kyr Shatskyy [Sat, 16 May 2020 00:22:17 +0000 (02:22 +0200)]
teuthology-describe-tests: rename to teuthology-describe

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agodescribe-tests: rename short options for better usability
Kyr Shatskyy [Sat, 16 May 2020 00:15:44 +0000 (02:15 +0200)]
describe-tests: rename short options for better usability

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1479 from ceph/rh-internal-tasks
Vasu Kulkarni [Fri, 15 May 2020 18:39:09 +0000 (11:39 -0700)]
Merge pull request #1479 from ceph/rh-internal-tasks

fixes for redhat internal tasks

5 years agoadded todo for support of submodules 1479/head
rakeshgm [Fri, 15 May 2020 17:46:57 +0000 (23:16 +0530)]
added todo for support of submodules

Signed-off-by: rakeshgm <rakeshgm@redhat.com>
5 years agofixes for redhat internal tasks
rakeshgm [Wed, 13 May 2020 14:51:40 +0000 (20:21 +0530)]
fixes for redhat internal tasks

Signed-off-by: rakeshgm <rakeshgm@redhat.com>
5 years agoMerge pull request #1480 from ceph/fog-sentinel
David Galloway [Fri, 15 May 2020 16:26:30 +0000 (12:26 -0400)]
Merge pull request #1480 from ceph/fog-sentinel

provision.fog: Add optional sentinel file

5 years agoMerge pull request #1248 from kshtsk/wip-calc
kshtsk [Fri, 15 May 2020 10:34:47 +0000 (12:34 +0200)]
Merge pull request #1248 from kshtsk/wip-calc

teuthology-describe-tests: add --summary command

5 years agoprovision.fog: Add optional sentinel file 1480/head
Zack Cerza [Thu, 14 May 2020 21:55:27 +0000 (15:55 -0600)]
provision.fog: Add optional sentinel file

Similar to how provision.cloud.openstack works, wait for a particular
file to be created before considering provisioning to be finished.

Unlike the cloud.openstack module, teuthology doesn't control the entire
process, so to avoid breaking any labs that aren't using a sentinel
file, make the feature optional and default to being inoperative.

Signed-off-by: Zack Cerza <zack@redhat.com>
5 years agoMerge pull request #1478 from kshtsk/wip-revert-add-retry-exc
kshtsk [Thu, 14 May 2020 17:13:21 +0000 (19:13 +0200)]
Merge pull request #1478 from kshtsk/wip-revert-add-retry-exc

Revert "teuthology/orchestra/connection: add retry exceptions"

5 years agoRevert "teuthology/orchestra/connection: add retry exceptions" 1478/head
Kyr Shatskyy [Thu, 14 May 2020 14:37:11 +0000 (16:37 +0200)]
Revert "teuthology/orchestra/connection: add retry exceptions"

This reverts commit 1e30d6f624921ae98c27981d55e06c29d1b0fdd0.

5 years agoteuthology-describe-tests: add --summary command 1248/head
Kyr Shatskyy [Wed, 13 May 2020 07:54:06 +0000 (09:54 +0200)]
teuthology-describe-tests: add --summary command

Add --summary argument to teuthology-describe-tests for estimating
run capacity, printing descriptions, dumping matrix, yaml fragments.

Refactor get_combinations code to use the same code that
is used by teuthology-suite for filtering.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1476 from ShraddhaAg/update-requirements
kshtsk [Thu, 14 May 2020 00:27:06 +0000 (02:27 +0200)]
Merge pull request #1476 from ShraddhaAg/update-requirements

docs: acknowledge py2 and py3 where requirements.txt is mentioned

5 years agodocs: acknowledge py2 and py3 where requirements.txt is mentioned 1476/head
Shraddha Agrawal [Wed, 13 May 2020 22:20:33 +0000 (03:50 +0530)]
docs: acknowledge py2 and py3 where requirements.txt is mentioned

This commit removes mention of deleted file requirements.txt and
acknowledges the two separate requirements files, requirements2.txt
and requirements3.txt, for python2 and python3 respectively, in the
following files:

1. MANIFEST.in
2. docs/INSTALL.rst

5 years agosuite/run: isolate description filter code
Kyr Shatskyy [Mon, 21 Jan 2019 15:35:06 +0000 (16:35 +0100)]
suite/run: isolate description filter code

Refactor collect_jobs in order to isolate descriptions filter code
in order to make it possible to reuse it and test better.

Introduce --filter-fragment option defaults to False, to align code
logic with --filter help and documentation.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.de>
5 years agoMerge pull request #1466 from batrick/i45438
Kefu Chai [Wed, 13 May 2020 15:52:24 +0000 (23:52 +0800)]
Merge pull request #1466 from batrick/i45438

teuthology/orchestra/connection: add retry exceptions

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoteuthology-suite: improve help for --suite-dir arg
Kyr Shatskyy [Sun, 10 May 2020 15:09:23 +0000 (17:09 +0200)]
teuthology-suite: improve help for --suite-dir arg

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agosuite: schedule first and last in suite jobs once 1473/head
Kyr Shatskyy [Sun, 10 May 2020 14:36:46 +0000 (16:36 +0200)]
suite: schedule first and last in suite jobs once

Only schedule --first-in-suite and --last-in-suite jobs
once per run when --num is provided for a suite.

Fixes: https://tracker.ceph.com/issues/45520
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoteuthology/orchestra/connection: add retry exceptions 1466/head
Patrick Donnelly [Thu, 7 May 2020 22:10:46 +0000 (15:10 -0700)]
teuthology/orchestra/connection: add retry exceptions

Typical connection errors would cause a command to fail.

Fixes: https://tracker.ceph.com/issues/45438
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
5 years agoMerge pull request #1366 from kshtsk/wip-filter-all
kshtsk [Tue, 12 May 2020 14:38:02 +0000 (16:38 +0200)]
Merge pull request #1366 from kshtsk/wip-filter-all

suite: add filter-all parameter

5 years agoMerge pull request #1471 from tchaikov/wip-45512
Kefu Chai [Tue, 12 May 2020 13:35:26 +0000 (21:35 +0800)]
Merge pull request #1471 from tchaikov/wip-45512

teuthology/orchestra: open log file in Python3 way

Reviewed-by: David Galloway <dgallowa@redhat.com>
5 years agoteuthology/orchestra: open log file in Python3 way 1471/head
Kefu Chai [Tue, 12 May 2020 13:13:48 +0000 (21:13 +0800)]
teuthology/orchestra: open log file in Python3 way

otherwise we could have
```
Traceback (most recent call last):
  File "<string>", line 1, in <module>
NameError: name 'file' is not defined
```

Fixes: https://tracker.ceph.com/issues/45512
Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1463 from ceph/rh-changes
Vasu Kulkarni [Tue, 12 May 2020 02:43:52 +0000 (19:43 -0700)]
Merge pull request #1463 from ceph/rh-changes

various updates to redhat internal install task

5 years agosuite: add --filter-all parameter 1366/head
Kyr Shatskyy [Sat, 23 Nov 2019 19:34:54 +0000 (20:34 +0100)]
suite: add --filter-all parameter

Add --filter-all parameter to 'teuthology-suite' to allow
precise test case selection. The --filter-in makes use of filter list
with logical 'or' operation to include test cases.
The --filter-out takes filter list and excludes any test case which
match any from the filter list.

This patch provides with 'and' logical operation for a given filter list.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoFixes to install task to handle extra system pkgs 1463/head
Vasu Kulkarni [Thu, 30 Apr 2020 20:23:45 +0000 (13:23 -0700)]
Fixes to install task to handle extra system pkgs

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
Fix unit test cases

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
5 years agovarious updates to redhat internal install task
Vasu Kulkarni [Thu, 30 Apr 2020 20:18:05 +0000 (13:18 -0700)]
various updates to redhat internal install task

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
5 years agoMerge pull request #1470 from ceph/flake8-py3
kshtsk [Tue, 12 May 2020 01:58:31 +0000 (03:58 +0200)]
Merge pull request #1470 from ceph/flake8-py3

fix some old flake8 issues

5 years agoFix flake8 issues 1470/head
Vasu Kulkarni [Tue, 12 May 2020 00:17:03 +0000 (17:17 -0700)]
Fix flake8 issues

Signed-off-by: Vasu Kulkarni <vasu@redhat.com>
5 years agoMerge pull request #1469 from tchaikov/wip-45255
kshtsk [Tue, 12 May 2020 01:33:30 +0000 (03:33 +0200)]
Merge pull request #1469 from tchaikov/wip-45255

Revert "orchestra/remote.py: use ensure_online() helper in run()"

5 years agoRevert "orchestra/remote.py: use ensure_online() helper in run()" 1469/head
Kefu Chai [Mon, 11 May 2020 13:26:13 +0000 (21:26 +0800)]
Revert "orchestra/remote.py: use ensure_online() helper in run()"

This reverts commit 478bb3f661621c38ac0b9bb21389cc5b225c318d.

Fixes: https://tracker.ceph.com/issues/45255
Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1465 from tchaikov/remote-sudo-tar
Kefu Chai [Thu, 7 May 2020 05:47:17 +0000 (13:47 +0800)]
Merge pull request #1465 from tchaikov/remote-sudo-tar

teuthology/orchestra/remote.py: write remote file without sudo

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agoteuthology/orchestra/remote.py: write remote file without sudo 1465/head
Kefu Chai [Thu, 7 May 2020 04:54:31 +0000 (12:54 +0800)]
teuthology/orchestra/remote.py: write remote file without sudo

the remote file is created using "ubuntu" user. in ubuntu xenial,
superuser is able to write to that file using tar, it seems that "tar"
starts another process when writing to the dest file specified by "-f",
and that process does not have the privilege for writing that file.

so when we are trying to archive a directory on ubuntu/focal test node,
we have following error:
```
tar (child): /tmp/tmp.vkl0kAtc06: Cannot open: Permission denied
tar (child): Error is not recoverable: exiting now
tar: /tmp/tmp.vkl0kAtc06: Cannot write: Broken pipe
tar: Child returned status 2
tar: Error is not recoverable: exiting now
```

and this is reproduciable with tar 1.30:
```
$ touch /tmp/helloworld
$ mkdir /tmp/foobar
$ sudo tar czf /tmp/helloworld -C /tmp/foobar -- .
tar (child): /tmp/helloworld: Cannot open: Permission denied
tar (child): Error is not recoverable: exiting now
tar: /tmp/helloworld: Cannot write: Broken pipe
tar: Child returned status 2
tar: Error is not recoverable: exiting now
```

but we can workaround this by writing the temp file using "ubuntu" user, like
```
sudo tar czf - -C /tmp/foobar -- . > /tmp/helloworld
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1464 from sunilkumarn417/master
Vasu Kulkarni [Wed, 6 May 2020 18:38:01 +0000 (11:38 -0700)]
Merge pull request #1464 from sunilkumarn417/master

updated pid method to retrieve correct daemon process id

5 years agoupdated pid method to retrieve correct daemon process id. 1464/head
sunilkumarn417 [Tue, 5 May 2020 10:00:46 +0000 (15:30 +0530)]
updated pid method to retrieve correct daemon process id.

Signed-off-by: sunilkumarn417 <sunnagar@redhat.com>
5 years agoMerge pull request #1462 from sebastian-philipp/cephadmunit-signal-py3
kshtsk [Wed, 29 Apr 2020 18:38:49 +0000 (20:38 +0200)]
Merge pull request #1462 from sebastian-philipp/cephadmunit-signal-py3

cephadmunit: Python3 fix: signal.SIGHUP is no longer an int.

5 years agocephadmunit: Python3 fix: signal.SIGHUP is no longer an int. 1462/head
Sebastian Wagner [Wed, 29 Apr 2020 11:47:24 +0000 (13:47 +0200)]
cephadmunit: Python3 fix: signal.SIGHUP is no longer an int.

py2: `str(signal.SIGHUP) == "1"`
py3: `str(signal.SIGHUP) == "signal.SIGHUP"`

Fixes: https://tracker.ceph.com/issues/45297
Signed-off-by: Sebastian Wagner <sebastian.wagner@suse.com>
5 years agoMerge pull request #1460 from ceph/wip-focal
Andrew Schoen [Fri, 24 Apr 2020 17:52:41 +0000 (12:52 -0500)]
Merge pull request #1460 from ceph/wip-focal

opsys: Add Focal Fossa

5 years agoopsys: Add Focal Fossa 1460/head
David Galloway [Fri, 24 Apr 2020 17:27:56 +0000 (13:27 -0400)]
opsys: Add Focal Fossa

Signed-off-by: David Galloway <dgallowa@redhat.com>
5 years agoMerge pull request #1452 from toabctl/add-cli-docs
kshtsk [Mon, 20 Apr 2020 14:49:45 +0000 (16:49 +0200)]
Merge pull request #1452 from toabctl/add-cli-docs

Add cli docs

5 years agodocs: Drop mention of teuthology-coverage 1452/head
Thomas Bechtold [Mon, 20 Apr 2020 13:12:02 +0000 (15:12 +0200)]
docs: Drop mention of teuthology-coverage

The command was dropped in 865a74b750.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agodocs: Link commands to generated help
Thomas Bechtold [Mon, 20 Apr 2020 13:10:39 +0000 (15:10 +0200)]
docs: Link commands to generated help

This is useful to quickly show the available CLI help for the
different commands.
For that, auto generate labels based on the headline via a Sphinx
extension.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agodocs: Add CLI help to docs
Thomas Bechtold [Mon, 20 Apr 2020 11:45:17 +0000 (13:45 +0200)]
docs: Add CLI help to docs

It's useful to have the command help available in the
documentation.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agodocs: Use python3 for building docs
Thomas Bechtold [Mon, 20 Apr 2020 11:44:35 +0000 (13:44 +0200)]
docs: Use python3 for building docs

python2 is EOL.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agoMerge pull request #1451 from toabctl/bump-cffi
Kefu Chai [Sun, 19 Apr 2020 10:03:55 +0000 (18:03 +0800)]
Merge pull request #1451 from toabctl/bump-cffi

requirements: Bump cffi version to 1.14.0

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agorequirements: Bump cffi version to 1.14.0 1451/head
Thomas Bechtold [Sun, 19 Apr 2020 06:25:49 +0000 (08:25 +0200)]
requirements: Bump cffi version to 1.14.0

python 3.8 needs a newer cffi version. So bump it. Otherwise, calling
"./bootstrap" with python3.8 will fail.
This is also done for the python2 requirements to be in sync.

Fixes: https://tracker.ceph.com/issues/45132
Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agoMerge pull request #1450 from tchaikov/wip-suite-filter
Kefu Chai [Fri, 17 Apr 2020 07:38:01 +0000 (15:38 +0800)]
Merge pull request #1450 from tchaikov/wip-suite-filter

teuthology/suite: extract match() for filtering jobs

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
5 years agoteuthology/suite: extract match() for filtering jobs 1450/head
Kefu Chai [Fri, 17 Apr 2020 04:02:14 +0000 (12:02 +0800)]
teuthology/suite: extract match() for filtering jobs

for better readablity

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1449 from kshtsk/wip-45105
Kefu Chai [Thu, 16 Apr 2020 14:04:31 +0000 (22:04 +0800)]
Merge pull request #1449 from kshtsk/wip-45105

lock/cli: fix broken teuthology-lock --summary for py3

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agolock/cli: fix broken teuthology-lock --summary for py3 1449/head
Kyr Shatskyy [Thu, 16 Apr 2020 13:37:25 +0000 (15:37 +0200)]
lock/cli: fix broken teuthology-lock --summary for py3

Convert None type to empty str in sorted key lambda
The usage of .format method is also adjusted for empty
machine type values

Fixes: https://tracker.ceph.com/issues/45105
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1443 from kshtsk/wip-sleep-before-unwinding
kshtsk [Wed, 15 Apr 2020 19:01:38 +0000 (21:01 +0200)]
Merge pull request #1443 from kshtsk/wip-sleep-before-unwinding

suite: Implement --sleep-before-teardown option

5 years agosuite/run: add more interaction for sleep-before-teardown 1443/head
Kyr Shatskyy [Tue, 7 Apr 2020 21:43:49 +0000 (23:43 +0200)]
suite/run: add more interaction for sleep-before-teardown

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1422 from kshtsk/wip-py3-enable
Kefu Chai [Mon, 13 Apr 2020 16:18:18 +0000 (00:18 +0800)]
Merge pull request #1422 from kshtsk/wip-py3-enable

enable py3

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1445 from tchaikov/wip-safe-while
Kefu Chai [Mon, 13 Apr 2020 08:27:21 +0000 (16:27 +0800)]
Merge pull request #1445 from tchaikov/wip-safe-while

teuthology: pass integer as "tries" to safe_while()

Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoteuthology: pass integer as "tries" to safe_while() 1445/head
Kefu Chai [Mon, 13 Apr 2020 04:43:35 +0000 (12:43 +0800)]
teuthology: pass integer as "tries" to safe_while()

in Python3, `a / b` could return a float, and `safe_while()` uses
`itertools.islice()` under the hood, where `stop` should be None or an
integer. so let's use `a // b` instead.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agosuite: Implement --sleep-before-teardown option
Nathan Cutler [Fri, 14 Sep 2018 10:44:37 +0000 (12:44 +0200)]
suite: Implement --sleep-before-teardown option

With this option, all jobs in the run sleep for the given number of seconds as
the very last thing they do, regardless of success or failure.

Use case: interactive debugging

Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agosuite: add non interactive mode argument
Kyr Shatskyy [Wed, 8 Apr 2020 11:27:39 +0000 (13:27 +0200)]
suite: add non interactive mode argument

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1444 from kshtsk/wip-fix-coredump
Kefu Chai [Sat, 11 Apr 2020 03:02:30 +0000 (11:02 +0800)]
Merge pull request #1444 from kshtsk/wip-fix-coredump

task.internal.archive: fix 'Permission denied' error when coredump found

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agotask.internal.archive: fix 'Permission denied' error 1444/head
Kyr Shatskyy [Fri, 10 Apr 2020 15:19:18 +0000 (17:19 +0200)]
task.internal.archive: fix 'Permission denied' error

This fix address failure like:

```
2020-04-10T10:35:13.508 ERROR:teuthology.run_tasks:Manager failed: internal.archive
Traceback (most recent call last):
  File "/home/worker/src/teuthology_master/teuthology/run_tasks.py", line 167, in run_tasks
    suppress = manager.__exit__(*exc_info)
  File "/usr/lib64/python2.7/contextlib.py", line 24, in __exit__
    self.gen.next()
  File "/home/worker/src/teuthology_master/teuthology/task/internal/__init__.py", line 363, in archive
    fetch_binaries_for_coredumps(path, rem)
  File "/home/worker/src/teuthology_master/teuthology/task/internal/__init__.py", line 318, in fetch_binaries_for_coredumps
    dump_program))
  File "/home/worker/src/teuthology_master/teuthology/orchestra/remote.py", line 325, in _sftp_get_file
    sftp.get(remote_path, local_path)
  File "/home/worker/src/teuthology_master/virtualenv/lib/python2.7/site-packages/paramiko/sftp_client.py", line 801, in get
    with open(localpath, "wb") as fl:
IOError: [Errno 13] Permission denied: '/usr/bin/python3'
```

The issue happens because of os.path.join ignores all prior arguments
if the next has '/' prefix (i.e. absolute), for example:

```
>>> os.path.join('a/b/', '/x/y')
'/x/y'
```

when a user expect to get 'a/b/x/y', she gets '/x/y'.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1439 from tchaikov/wip-StringIO-py3
Kefu Chai [Wed, 8 Apr 2020 01:34:22 +0000 (09:34 +0800)]
Merge pull request #1439 from tchaikov/wip-StringIO-py3

teuthology: s/cStringIO.StringIO/six.StringIO/

Reviewed-by: Vasu Kulkarni <vasu@redhat.com>
5 years agoteuthology/task: decode str returned from PIPE 1439/head
Kefu Chai [Sun, 5 Apr 2020 16:27:15 +0000 (00:27 +0800)]
teuthology/task: decode str returned from PIPE

which is bytes, and should be decoded before calling `split(a_str)`

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoteuthology: s/sh/run/
Kefu Chai [Sun, 5 Apr 2020 15:20:55 +0000 (23:20 +0800)]
teuthology: s/sh/run/

to avoid using StringIO directly

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoteuthology: s/cStringIO.StringIO/six.StringIO/
Kefu Chai [Sun, 5 Apr 2020 13:06:40 +0000 (21:06 +0800)]
teuthology: s/cStringIO.StringIO/six.StringIO/

to be py3 compatible. this addresses the failure of
```
2020-04-05T12:35:02.036 INFO:teuthology.run_tasks:Running task ssh_keys...
2020-04-05T12:35:02.050 ERROR:teuthology.run_tasks:Saw exception from tasks.
Traceback (most recent call last):
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_py3/teuthology/run_tasks.py", line 86, in run_tasks
    manager = run_one_task(taskname, ctx=ctx, config=config)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_py3/teuthology/run_tasks.py", line 64, in run_one_task
    task = get_task(taskname)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_py3/teuthology/run_tasks.py", line 28, in get_task
    module = _import('tasks', module_name, task_name, fail_on_import_error=True)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_py3/teuthology/run_tasks.py", line 52, in _import
    0,
ImportError: No module named 'tasks.ssh_keys'
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1437 from tchaikov/wip-keys-py3
kshtsk [Fri, 3 Apr 2020 20:47:57 +0000 (22:47 +0200)]
Merge pull request #1437 from tchaikov/wip-keys-py3

teuthology, tasks: fix dict related py3 compatibility issues

5 years agotask/background_exec.py: s/itervalues/values/ 1437/head
Kefu Chai [Fri, 3 Apr 2020 11:28:10 +0000 (19:28 +0800)]
task/background_exec.py: s/itervalues/values/

to by python3 compatible

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoteuthology: use next(iter(..)) for accessing first element in a view
Kefu Chai [Fri, 3 Apr 2020 11:24:16 +0000 (19:24 +0800)]
teuthology: 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>
5 years agoMerge pull request #1178 from Vicente-Cheng/wip-url-to-dirname-improvement
kshtsk [Wed, 1 Apr 2020 08:22:22 +0000 (10:22 +0200)]
Merge pull request #1178 from Vicente-Cheng/wip-url-to-dirname-improvement

repo_utils: improve the handling about another git ssh expression

5 years agotest_repo_utils: add another url type to url_to_dirname test 1178/head
Vicente Cheng [Wed, 1 Apr 2020 04:14:12 +0000 (04:14 +0000)]
test_repo_utils: add another url type to url_to_dirname test

Signed-off-by: Vicente Cheng <freeze.bilsted@gmail.com>
5 years agorepo_utils: improve the handling about another git ssh expression
Vicente Cheng [Wed, 6 Jun 2018 10:13:00 +0000 (18:13 +0800)]
repo_utils: improve the handling about another git ssh expression

Signed-off-by: Vicente Cheng <freeze.bilsted@gmail.com>
5 years agoMerge pull request #1426 from tchaikov/wip-remote-ensure-online
Kefu Chai [Wed, 1 Apr 2020 01:46:41 +0000 (09:46 +0800)]
Merge pull request #1426 from tchaikov/wip-remote-ensure-online

orchestra/remote.py: raise if ensure_online() fails

Reviewed-by: Vasu Kulkarni <vasu@redhat.com>
5 years agoMerge pull request #1418 from rosinL/wip-clock-timeout
Vasu Kulkarni [Tue, 31 Mar 2020 18:24:04 +0000 (11:24 -0700)]
Merge pull request #1418 from rosinL/wip-clock-timeout

teuthology/task: add timeout for clock task

5 years agoMerge pull request #1433 from lxbsz/mount
kshtsk [Tue, 31 Mar 2020 11:14:16 +0000 (13:14 +0200)]
Merge pull request #1433 from lxbsz/mount

requirements,setup: add ipy module for cephfs mount.py

5 years agoMerge pull request #1434 from ceph/wiptestsmithi
Brad Hubbard [Tue, 31 Mar 2020 03:43:06 +0000 (13:43 +1000)]
Merge pull request #1434 from ceph/wiptestsmithi

ceph_ansible: Remove unnecessary package install/removal

Reviewed-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agorequirements,setup: add ipy module for cephfs mount.py 1433/head
Xiubo Li [Mon, 30 Mar 2020 06:36:20 +0000 (02:36 -0400)]
requirements,setup: add ipy module for cephfs mount.py

The IPy module is a tool for handling of IPv4 and IPv6 addresses and
networks, the cephfs mount.py will use it to manage the IP addresses
to isolate the netns for each mount, which could let us get ride of
using ipmi command to hard shutdown the client node for some test cases.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
5 years agoceph_ansible: Remove unnecessary package install/removal 1434/head
Brad Hubbard [Tue, 17 Mar 2020 05:01:52 +0000 (15:01 +1000)]
ceph_ansible: Remove unnecessary package install/removal

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
5 years agobootstrap: use py3 by default 1422/head
Kyr Shatskyy [Wed, 11 Dec 2019 10:14:48 +0000 (11:14 +0100)]
bootstrap: use py3 by default

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1423 from ishanrai05/bootsrap-linuxmint
kshtsk [Sat, 28 Mar 2020 22:34:13 +0000 (23:34 +0100)]
Merge pull request #1423 from ishanrai05/bootsrap-linuxmint

Add bootstrap support for LinuxMint

5 years agoAdd bootstrap support for LinuxMint 1423/head
ishanrai05 [Sat, 28 Mar 2020 21:52:37 +0000 (03:22 +0530)]
Add bootstrap support for LinuxMint

Signed-off-by: ishanrai05 <ishanrai05@gmail.com>
5 years agoMerge pull request #1429 from hualongfeng/master
kshtsk [Sat, 28 Mar 2020 10:15:24 +0000 (11:15 +0100)]
Merge pull request #1429 from hualongfeng/master

orchestra: add ed25519key keytype to connection

5 years agoMerge pull request #1428 from ceph/debug-mgr
Sage Weil [Fri, 27 Mar 2020 21:56:03 +0000 (16:56 -0500)]
Merge pull request #1428 from ceph/debug-mgr

suite: debug mgr by default

5 years agoMerge pull request #1431 from kshtsk/fix-kernel-args
Kefu Chai [Fri, 27 Mar 2020 13:23:01 +0000 (21:23 +0800)]
Merge pull request #1431 from kshtsk/fix-kernel-args

task/kernel.py: should pass args with name 2

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agotask/kernel.py: should pass args with name 2 1431/head
Kyr Shatskyy [Fri, 27 Mar 2020 13:18:37 +0000 (14:18 +0100)]
task/kernel.py: should pass args with name 2

There is leftover, there should be remote.sh used instead of remote.run

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1430 from tchaikov/wip-run-with-args
Kefu Chai [Fri, 27 Mar 2020 12:45:35 +0000 (20:45 +0800)]
Merge pull request #1430 from tchaikov/wip-run-with-args

task/kernel.py: should pass args with name

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
5 years agotask/kernel.py: should pass args with name 1430/head
Kefu Chai [Fri, 27 Mar 2020 12:41:12 +0000 (20:41 +0800)]
task/kernel.py: should pass args with name

to address the failure of

```
Traceback (most recent call last):
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/run_tasks.py", line 86, in run_tasks
    manager = run_one_task(taskname, ctx=ctx, config=config)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/run_tasks.py", line 65, in run_one_task
    return task(**kwargs)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/task/kernel.py", line 1326, in task
    install_and_reboot(ctx, need_install)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/task/kernel.py", line 505, in install_and_reboot
    install_kernel(role_remote, remote_pkg_path(role_remote))
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/task/kernel.py", line 834, in install_kernel
    version = get_image_version(remote, path)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/task/kernel.py", line 1013, in get_image_version
    files = remote.run(['rpm', '-qlp', path])
TypeError: run() takes exactly 1 argument (2 given)
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoorchestra: add ed25519key keytype to connection 1429/head
Feng Hualong [Fri, 27 Mar 2020 09:48:05 +0000 (17:48 +0800)]
orchestra: add ed25519key keytype to connection

Signed-off-by: Feng Hualong <hualong.feng@intel.com>
5 years agoMerge pull request #1362 from kshtsk/wip-py3-compat
Kefu Chai [Fri, 27 Mar 2020 05:56:47 +0000 (13:56 +0800)]
Merge pull request #1362 from kshtsk/wip-py3-compat

py3 compatibility

Reviewed-by: Vasu Kulkarni <vasu@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agosuite: debug mgr by default 1428/head
Sage Weil [Thu, 26 Mar 2020 22:05:24 +0000 (22:05 +0000)]
suite: debug mgr by default

Like we do the mon and osd.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoorchestra/remote.py: use ensure_online() helper in run() 1426/head
Kefu Chai [Wed, 25 Mar 2020 10:26:24 +0000 (18:26 +0800)]
orchestra/remote.py: use ensure_online() helper in run()

for better readability, and to have better errors when we fail to
connect to remote. before this change, we could have following
backtrace:

2020-03-25T09:00:47.022 INFO:teuthology.lock.ops:Checking smithi088.front.sepia.ceph.com
2020-03-25T09:00:47.023 INFO:teuthology.lock.ops:New key found. Updating...
2020-03-25T09:00:47.044 INFO:teuthology.lock.ops:Updating [smithi088.front.sepia.ceph.com]: set os type and version on server
2020-03-25T09:00:47.044 INFO:teuthology.orchestra.remote:Trying to reconnect to host
2020-03-25T09:00:47.045 DEBUG:teuthology.orchestra.connection:{'username': 'ubuntu', 'hostname': 'smithi088.front.sepia.ceph.com', 'timeout': 60}
2020-03-25T09:00:47.046 DEBUG:teuthology.orchestra.remote:[Errno None] Unable to connect to port 22 on 172.21.15.88
2020-03-25T09:00:47.046 ERROR:teuthology.run_tasks:Saw exception from tasks.
Traceback (most recent call last):
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/run_tasks.py", line 89, in run_tasks
    manager.__enter__()
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/task/internal/lock_machines.py", line 78, in lock_machines
    os_version, arch)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/lock/ops.py", line 147, in lock_many
    update_nodes(reimaged)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/lock/ops.py", line 33, in update_nodes
    inventory_info = remote.inventory_info
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/orchestra/remote.py", line 475, in inventory_info
    node['arch'] = self.arch
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/orchestra/remote.py", line 459, in arch
    self._arch = self.sh('uname -m').strip()
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/orchestra/remote.py", line 242, in sh
    proc=self.run(**kwargs)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/orchestra/remote.py", line 198, in run
    r = self._runner(client=self.ssh, name=self.shortname, **kwargs)
  File "/home/teuthworker/src/git.ceph.com_git_teuthology_master/teuthology/orchestra/run.py", line 412, in run
    transport = client.get_transport()
AttributeError: 'NoneType' object has no attribute 'get_transport'

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoorchestra/remote.py: raise if ensure_online() fails
Kefu Chai [Wed, 25 Mar 2020 10:25:11 +0000 (18:25 +0800)]
orchestra/remote.py: raise if ensure_online() fails

to ensure that we fail early if we cannot ensure an online remote.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoorchestra/remote.py: check underlying Transport also
Kefu Chai [Wed, 25 Mar 2020 10:09:15 +0000 (18:09 +0800)]
orchestra/remote.py: check underlying Transport also

if the underlying Transport object is not available, consider this
remote is not online yet.

Signed-off-by: Kefu Chai <kchai@redhat.com>
5 years agoorchestra/run: fix string handling 1362/head
Kyr Shatskyy [Mon, 23 Mar 2020 22:24:31 +0000 (23:24 +0100)]
orchestra/run: fix string handling

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoMerge pull request #1425 from ceph/avx
Sage Weil [Tue, 17 Mar 2020 17:42:59 +0000 (12:42 -0500)]
Merge pull request #1425 from ceph/avx

valgrind: disable openssl's use of avx instructions

5 years agovalgrind: set OPENSSL_ia32cap to ~0x1000000000000000 1425/head
Sage Weil [Tue, 17 Mar 2020 12:36:25 +0000 (07:36 -0500)]
valgrind: set OPENSSL_ia32cap to ~0x1000000000000000

This disables AVX instructions, which confuse valgrinda nd openssl.

https://tracker.ceph.com/issues/44362

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agosuite/util: add debug log for sha1s response
Kyr Shatskyy [Sun, 15 Mar 2020 00:26:06 +0000 (01:26 +0100)]
suite/util: add debug log for sha1s response

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agopy3: get rid of cStringIO
Kyr Shatskyy [Sat, 14 Mar 2020 23:33:17 +0000 (00:33 +0100)]
py3: get rid of cStringIO

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agopy3: fix teuthology version banner for py3
Kyr Shatskyy [Sat, 14 Mar 2020 23:27:30 +0000 (00:27 +0100)]
py3: fix teuthology version banner for py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agotask/kernel: get rid of cStringIO for py3
Kyr Shatskyy [Sat, 14 Mar 2020 23:22:37 +0000 (00:22 +0100)]
task/kernel: get rid of cStringIO for py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agotox: enable py3
Kyr Shatskyy [Wed, 11 Dec 2019 21:20:24 +0000 (22:20 +0100)]
tox: enable py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>