Thomas Bechtold [Thu, 31 Oct 2019 09:48:01 +0000 (10:48 +0100)]
openstack: Make used private keys explicit
Instead of appending possible private keyfile paths internally, make
that the default for the --key-filename command line argument so users
see it when looking at the help.
If --key-filename is given, only that key is used now (instead of
silently trying the default keys)
Kyr Shatskyy [Tue, 22 Oct 2019 09:44:11 +0000 (11:44 +0200)]
repo_utils: support github refs for branches
This adds possibility to checkout github pr providing
special purpose ref spec (like refs/pull/X/merge and
refs/pull/X/head) as branch parameter to teuthology,
for example, "teuthology-suite -t".
Kyr Shatskyy [Tue, 5 Nov 2019 10:40:12 +0000 (11:40 +0100)]
connection: key_filename can be a list
This commit fixes 5ac7c2f and provides support for multiple identityfile,
besides paramiko.SSHClient.connect accepts list as well for key_filename,
pydoc excerpts:
key_filename:
the filename, or list of filenames, of optional private key(s) to
try for authentication
Thomas Bechtold [Fri, 1 Nov 2019 08:13:04 +0000 (09:13 +0100)]
Fix fetch_branch() check for BranchNotFoundError with newer git
With newer git versions, the string when a branch is not found
is lower case[1].
This fixes the test TestRepoUtils.test_fetch_branch_fake_branch which
was failing due to this problem.
Thomas Bechtold [Tue, 22 Oct 2019 08:50:36 +0000 (10:50 +0200)]
docs: Fix link to ceph/qa suites in intro_testers.rst
According to [1], ceph-qa-suite is deprecated (last commit is from
2016) and the QA suites are now in the ceph git repo in the qa/
directory. So point to that directory.
try:
r = remote.run(
args=[
'ls',
'-l',
'/dev/disk/by-id/wwn-*',
],
stdout=StringIO(),
)
stdout = r.stdout.getvalue()
except Exception:
log.info('Failed to get wwn devices! Using /dev/sd* devices...')
return dict((d, d) for d in devs)
The bug was that "remote.run" was putting single quotes around the string
"/dev/disk/by-id/wwn-*" because it wasn't enclosed in Raw(...). The single
quotes were causing the command to fail, triggering the except clause, and that
was happening 100% of the time.
The fix in 41a13eca480e38cfeeba7a180b4516b90598c39b caused the command to start
succeeding, which caused execution to continue. As a result, MON stores and
OSDs started getting created on the wrong devices, and tests that were
previously succeeding started to fail due to "No space left on device".
In short, the wwn devices on today's smithis are not big enough for
/var/lib/ceph.
This commit "fixes the fix" by dropping the dead code and always returning the
value that qa/tasks/ceph.py has come to expect.
Nathan Cutler [Wed, 16 Oct 2019 09:11:53 +0000 (11:11 +0200)]
install/rpm: wipe all zypper repos before adding repos-under-test
Our tests should be designed to not rely on any pre-existing repos. If there are
any pre-existing repos, these can potentially skew test results by causing
unexpected packages/package versions to be installed.
Therefore, wipe any pre-existing repos before adding the repos-under-test.
Loic Dachary [Tue, 8 Dec 2015 09:52:10 +0000 (10:52 +0100)]
openstack: support /etc/network/intefaces injection
Not all OpenStack providers have a dhcp server. Some of
them (dreamcompute for instance) may inject /etc/network/interfaces with
a pre-configured stanza. It is not enough to set the dns server in the
dhcp client configuration, it also needs to be set directly in
/etc/resolv.conf when that has no effect.
Nathan Cutler [Thu, 1 Mar 2018 15:38:18 +0000 (16:38 +0100)]
sle-15-user-data: copy authorized_keys from root
The image generation script is overriding the disable_root setting in
/etc/cloud/cloud.cfg. As a result, openstack seeds the key in
/root/.ssh/authorized_keys instead of /home/sles/.ssh/authorized_keys
Nathan Cutler [Wed, 10 Jan 2018 13:33:42 +0000 (14:33 +0100)]
Support SLE-15
With SLE15 it is no longer possible to SSH in as root. Instead, the OpenStack
SSH public key is injected into /home/sles. Reflect this in the user-data
files.
2018-10-25 17:23:46,078.078 DEBUG:teuthology.misc:No server with a name
or ID of 'teuth-jschmid' exists.
Traceback (most recent call last):
File "/home/jxs/projects/teuthology/teuthology/v/bin/teuthology-openstack", line 11, in <module>
load_entry_point('teuthology', 'console_scripts', 'teuthology-openstack')()
File "/home/jxs/projects/teuthology/teuthology/scripts/openstack.py", line 7, in main
sys.exit(teuthology.openstack.main(parse_args(argv), argv))
File "/home/jxs/projects/teuthology/teuthology/teuthology/openstack/__init__.py", line 1310, in main
return TeuthologyOpenStack(ctx, teuth_config, argv).main()
File "/home/jxs/projects/teuthology/teuthology/teuthology/openstack/__init__.py", line 704, in main
self.setup()
File "/home/jxs/projects/teuthology/teuthology/teuthology/openstack/__init__.py", line 890, in setup
self.instance = OpenStackInstance(self.server_name())
File "/home/jxs/projects/teuthology/teuthology/teuthology/openstack/__init__.py", line 82, in __init__
if self.info['status'] == 'ERROR':
TypeError: 'NoneType' object has no attribute '__getitem__'
Kyr Shatskyy [Thu, 18 Oct 2018 00:41:41 +0000 (02:41 +0200)]
openstack: retry if volume create+attach operation fails
Once in awhile, a created volume fails to become available within
a reasonable period of time. When this happens, the entire test job
fails with the following error:
2018-10-02T06:52:44.106 ERROR:teuthology.provision.openstack:'volume
target192168000058-2' reached maximum tries (100) after waiting for 200
seconds
With this commit, we catch that exception and retry with a new volume.
Kyrylo Shatskyy [Thu, 6 Dec 2018 19:42:54 +0000 (20:42 +0100)]
openstack: Support GitHub PR merge branches
Add support for github pr merge branches, like 'origin/pr/*/merge',
so it can be used to setup teuthology server using teuthology-openstack
command line tool with --teuthology-branch argument.
Kyr Shatskyy [Mon, 22 Oct 2018 19:58:16 +0000 (21:58 +0200)]
openstack: fix pulpito and paddles status in init script
After deployment teuthology cluster on openstack, teuthology
service status-paddles and status-pulpito commands report
'dead', however paddles and pulpito are running.
This fix addresses this issue.
Kyr Shatskyy [Sat, 20 Oct 2018 03:18:34 +0000 (05:18 +0200)]
teuthology-openstack: add banner after cluster creation
When creating a teuthology openstack cluster and not
requesting any suite suite run the teuthology-openstack
quits silently not giving information where the cluster
is created and how its services can be reached.
This fix addresses the issue above.
When trying to deploy teuthology on openstack with several networks
and non unique subnet addresses setup-openstack script fails to add
nodes to paddles databases.
This patch removes duplicates while getting default_subnets.
Kyr Shatskyy [Wed, 21 Mar 2018 23:16:27 +0000 (00:16 +0100)]
Add ECP support
Isolated __flavor and __flavor_range from openstack invocation.
Flavor and Network parameters can be taken from teuthology config
under 'openstack' records.
Added filters for new OVH flavors.
Nathan Cutler [Sat, 3 Mar 2018 07:05:56 +0000 (08:05 +0100)]
buildpackages: fix dates in spec file changelog
Eliminates the following warnings:
2018-03-03T06:56:01.948 DEBUG:teuthology.misc:warning: bogus date in %changelog: Tue Mar 10 2013 Gary Lowell <glowell@inktank.com> - 1-0
2018-03-03T06:56:01.948 DEBUG:teuthology.misc:warning: bogus date in %changelog: Tue Aug 27 2012 Gary Lowell <glowell@inktank.com> - 1-0
Nathan Cutler [Fri, 2 Mar 2018 21:01:17 +0000 (22:01 +0100)]
buildpackages: ensure spec file has correct tarball name
We are using this script to build various versions of ceph.spec.in, which do
various things for different build environments. Ignore whatever the spec file
is trying to do with the tarball name and force it to the name of the tarball
at hand.