]> git.apps.os.sepia.ceph.com Git - teuthology.git/log
teuthology.git
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>
5 years agotox: enable flake8-py3
Kyr Shatskyy [Fri, 13 Dec 2019 02:09:50 +0000 (03:09 +0100)]
tox: enable flake8-py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agotask/ansible: fix mock issue in test_ansible
Kyr Shatskyy [Fri, 13 Mar 2020 13:34:03 +0000 (14:34 +0100)]
task/ansible: fix mock issue in test_ansible

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agomisc: get_file must use mode='rb' for py3
Kyr Shatskyy [Sat, 14 Dec 2019 01:22:07 +0000 (02:22 +0100)]
misc: get_file must use mode='rb' for py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoorchestra/daemon/systemd: get rid of cStringIO for py3
Kyr Shatskyy [Sat, 14 Dec 2019 00:19:58 +0000 (01:19 +0100)]
orchestra/daemon/systemd: get rid of cStringIO for py3

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agobootstrap: use python version based required packages
Kyr Shatskyy [Thu, 5 Mar 2020 16:34:11 +0000 (17:34 +0100)]
bootstrap: use python version based required packages

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agopackaging: make sure _get_repo returns str
Kyr Shatskyy [Sat, 23 Nov 2019 17:06:40 +0000 (18:06 +0100)]
packaging: make sure _get_repo returns str

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
5 years agoMerge pull request #1419 from toabctl/drop-coverage-cmd
Kefu Chai [Fri, 13 Mar 2020 09:11:54 +0000 (17:11 +0800)]
Merge pull request #1419 from toabctl/drop-coverage-cmd

Drop teuthology-coverage command

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1421 from kshtsk/wip-cluster-sh
kshtsk [Fri, 13 Mar 2020 09:06:03 +0000 (10:06 +0100)]
Merge pull request #1421 from kshtsk/wip-cluster-sh

orchestra/cluster: add sh() method

5 years agoMerge pull request #1420 from kshtsk/wip-pump-markupsafe
Kefu Chai [Fri, 13 Mar 2020 05:56:19 +0000 (13:56 +0800)]
Merge pull request #1420 from kshtsk/wip-pump-markupsafe

requirements: bump up markupsafe to 1.1.1

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agorequirements: bump up markupsafe to 1.1.1 1420/head
Kyr Shatskyy [Thu, 12 Mar 2020 16:09:26 +0000 (17:09 +0100)]
requirements: bump up markupsafe to 1.1.1

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoorchestra/cluster: add sh() method 1421/head
Kyr Shatskyy [Thu, 12 Mar 2020 16:32:33 +0000 (17:32 +0100)]
orchestra/cluster: add sh() method

For simplified outputs processing it might be usefull
to have a function will return all captured log from
all remote hosts in the given sequence.

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoDrop teuthology-coverage command 1419/head
Thomas Bechtold [Tue, 10 Mar 2020 18:56:11 +0000 (19:56 +0100)]
Drop teuthology-coverage command

It seems to be unused and there was no change in the last 6 years. I
guess it's not used and not needed so drop it to remove the dead
code.

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
5 years agoteuthology/misc: pass --vgdb=yes to valgrind 1424/head
Sage Weil [Tue, 10 Mar 2020 18:51:39 +0000 (13:51 -0500)]
teuthology/misc: pass --vgdb=yes to valgrind

This lets us attach to the process later.

Signed-off-by: Sage Weil <sage@redhat.com>
5 years agoteuthology/task: add timeout for clock task 1418/head
chuqifang [Wed, 4 Mar 2020 03:14:23 +0000 (11:14 +0800)]
teuthology/task: add timeout for clock task

when ntp is not config correctly, the clock task will be blocked

Signed-off-by: chuqifang <chuqifang@hisilicon.com>
5 years agoMerge pull request #1372 from ryg-/wip-suse-hw-provisioning
kshtsk [Mon, 2 Mar 2020 12:46:13 +0000 (13:46 +0100)]
Merge pull request #1372 from ryg-/wip-suse-hw-provisioning

provision: add Pelagos support

5 years agoprovision: add Pelagos support 1372/head
Roman Grigoryev [Fri, 26 Jul 2019 14:41:55 +0000 (16:41 +0200)]
provision: add Pelagos support

Add provisioning support via Pelagos provisioner
https://github.com/SUSE/pelagos/

Pelagos is pxe boot and provisioning system which created especially
for connecting bare metal nodes to ceph/teuthology testing system.
Integration tests here pelagos/test_pelagos_teuthology/test_pelagos.py
because depends on executed Pelagios service

For enabling pelagos you need add section to teuthology configuration:
    pelagos:
      endpoint: http://your.server.host:5000/
      machine_types: ['type1', 'type2', 'type3']

provision/pelagos.py: added support of Pelagos provisioning project,
                      interface is compatible with FOG provisioner
provision/__init.py: added processing of pelagos section in teuthology
                     configuration and provisioner instantiation
lock/*: added Pelagos provisioner instantiation
nuke/__init__.py: added call to pelagos module for nodes, which are
                   controlled by pelagos, for booting to live images.

Signed-off-by: Roman Grigorev <rgrigorev@suse.de>
5 years agoMerge pull request #1404 from gekios/wip-libcloud_update
kshtsk [Fri, 28 Feb 2020 21:17:28 +0000 (22:17 +0100)]
Merge pull request #1404 from gekios/wip-libcloud_update

use libcloud 2.8.0 version

5 years agouse libloud 2.8.0 version 1404/head
Georgios Kyratsas [Fri, 10 Jan 2020 13:55:59 +0000 (14:55 +0100)]
use libloud 2.8.0 version

Suggesting using 2.8.0 version of apache-libcloud that introduces
a fix on openstack driver.
(https://github.com/apache/libcloud/pull/1367 is fixing issue
https://github.com/apache/libcloud/issues/1365)

Signed-off-by: Georgios Kyratsas <gkyratsas@suse.com>
5 years agoMerge pull request #1415 from smithfarm/wip-install-shaman-suse
David Galloway [Thu, 20 Feb 2020 19:48:09 +0000 (14:48 -0500)]
Merge pull request #1415 from smithfarm/wip-install-shaman-suse

packaging: remove zypper repo kludge

5 years agopackaging: remove zypper repo kludge 1415/head
Nathan Cutler [Thu, 20 Feb 2020 16:59:27 +0000 (17:59 +0100)]
packaging: remove zypper repo kludge

Now that https://github.com/ceph/chacra/pull/275 has been merged and
deployed, we can write this code without any kludge.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #1413 from smithfarm/wip-44187
Nathan Cutler [Wed, 19 Feb 2020 08:53:36 +0000 (09:53 +0100)]
Merge pull request #1413 from smithfarm/wip-44187

task/kernel: after reboot, do not try to reconnect immediately

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
5 years agoMerge pull request #1412 from smithfarm/wip-43655
Nathan Cutler [Wed, 19 Feb 2020 08:53:18 +0000 (09:53 +0100)]
Merge pull request #1412 from smithfarm/wip-43655

packaging: add Shaman repo correctly on opensuse

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
5 years agoMerge pull request #1411 from smithfarm/wip-opensuse-kernel-distro-2
Nathan Cutler [Wed, 19 Feb 2020 08:52:45 +0000 (09:52 +0100)]
Merge pull request #1411 from smithfarm/wip-opensuse-kernel-distro-2

kernel.py: fix -k distro for opensuse/sle (part 2)

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
Reviewed-by: Luis Henriques <lhenriques@suse.com>
5 years agoMerge pull request #1410 from badone/wip-smithi-lvm-scratch-disks
Josh Durgin [Tue, 18 Feb 2020 21:32:18 +0000 (13:32 -0800)]
Merge pull request #1410 from badone/wip-smithi-lvm-scratch-disks

task/ceph_ansible: Work with LVM scratch devices

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
5 years agotask/kernel: after reboot, do not try to reconnect immediately 1413/head
Nathan Cutler [Tue, 18 Feb 2020 20:01:17 +0000 (21:01 +0100)]
task/kernel: after reboot, do not try to reconnect immediately

Do not try to reconnect immediately after triggering the reboot,
because the reboot sequence might not have started yet (!)

Fixes: https://tracker.ceph.com/issues/44187
Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agopackaging: add Shaman repo correctly on opensuse 1412/head
Nathan Cutler [Tue, 18 Feb 2020 14:34:03 +0000 (15:34 +0100)]
packaging: add Shaman repo correctly on opensuse

Fixes: https://tracker.ceph.com/issues/43655
Works Around: https://tracker.ceph.com/issues/44183
Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agokernel.py: fix -k distro for opensuse/sle (part 2) 1411/head
Nathan Cutler [Tue, 18 Feb 2020 12:12:24 +0000 (13:12 +0100)]
kernel.py: fix -k distro for opensuse/sle (part 2)

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #1408 from smithfarm/wip-kernel-distro-opensuse
Nathan Cutler [Tue, 18 Feb 2020 09:36:50 +0000 (10:36 +0100)]
Merge pull request #1408 from smithfarm/wip-kernel-distro-opensuse

task/kernel.py: fix -k distro for opensuse/sle (part 1)

Reviewed-by: Thomas Bechtold <tbechtold@suse.com>
Reviewed-by: Gregory Farnum <gfarnum@redhat.com>
5 years agotask/ceph_ansible: Work with LVM scratch devices 1410/head
Brad Hubbard [Mon, 17 Feb 2020 23:14:01 +0000 (09:14 +1000)]
task/ceph_ansible: Work with LVM scratch devices

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
5 years agotask/kernel.py: fix -k distro for opensuse/sle 1408/head
Nathan Cutler [Tue, 21 Jan 2020 15:55:37 +0000 (16:55 +0100)]
task/kernel.py: fix -k distro for opensuse/sle

Part one - this does not get us all the way, but it's a start!

Signed-off-by: Nathan Cutler <ncutler@suse.com>
5 years agoMerge pull request #1409 from kshtsk/wip-pump-six
Kefu Chai [Sat, 15 Feb 2020 03:04:33 +0000 (11:04 +0800)]
Merge pull request #1409 from kshtsk/wip-pump-six

requirements: pip-compile -P six

Reviewed-by: Kefu Chai <kchai@redhat.com>
5 years agoMerge pull request #1407 from kshtsk/wip-archive-dir
kshtsk [Fri, 14 Feb 2020 20:27:34 +0000 (21:27 +0100)]
Merge pull request #1407 from kshtsk/wip-archive-dir

worker_start: allow ARCHIVE variable override

5 years agorequirements: pip-compile -P six 1409/head
Kyr Shatskyy [Fri, 14 Feb 2020 19:03:45 +0000 (20:03 +0100)]
requirements: pip-compile -P six

We need to pump six to the latest 1.14.0 so we have
six.ensure_str() is available

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@suse.com>
5 years agoworker_start: allow ARCHIVE variable override 1407/head
Kyr Shatskyy [Tue, 11 Feb 2020 15:56:45 +0000 (16:56 +0100)]
worker_start: allow ARCHIVE variable override

The worker_start.sh script is using archive directory inside
the worker user home which cannot be changed, this patches
allows override ARCHIVE environment variable to address
this issue.

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