Commit graph

29 commits

Author SHA1 Message Date
Adam Williamson
78755e7a36 openqa: enable openQA-stg COPR on staging hosts 2016-01-15 17:33:30 -08:00
Adam Williamson
b3851786fa openqa-server: never register 'changed' for this (check) step 2016-01-12 17:21:36 -08:00
Kevin Fenzi
f0c80375b5 Remove action: in all roles. 2016-01-06 21:58:31 +00:00
Adam Williamson
cc8d3896a7 openqa: use 'shell' not 'command' for a step that needs it
this step uses && and >, needs a shell.
2016-01-04 17:10:19 -08:00
Adam Williamson
c1f4d29dd8 openqa: drop some more always_runs
we really shouldn't always_run these, as they actually *do*
stuff. That does mean that in check mode we won't check if
database init and admin user creation are necessary, but these
are only ever necessary exactly one time at initial deployment
which is likely to be kicked off manually anyway, so it should
not be a problem. We adjust the 'when' condition for the 'wait
for services to start up' action, so it will work in check mode
with the 'services' variable undefined (because the step that
defines it now won't be run).
2016-01-04 17:01:12 -08:00
Adam Williamson
87ba685b13 openqa: drop always_run from git actions
it causes problems (prevents updated code being installed) and
is not necessary (git module supports check).
2016-01-04 16:51:22 -08:00
Adam Williamson
3a114ab7ca openqa: no, seriously, fuck dnf 2015-12-18 19:52:34 -08:00
Adam Williamson
227cdf23b9 openqa: fucking dnf 2015-12-18 19:51:17 -08:00
Adam Williamson
3bd08a441f openqa: run createhdds.py with py2 for now
and install the additional deps.
2015-12-18 19:49:39 -08:00
Adam Williamson
ee8ab4e662 enable openqa disk image generation
the servers have nested virt enabled now, so this should be OK
2015-12-18 19:43:47 -08:00
Adam Williamson
3373f9938d openqa_server: switch to createhdds.py, disable creation for now
This puts in place the bits needed to use the new createhdds.py
for image generation, which works much nicer with ansible than
the old createhdds.sh. For now, the disk creation step is
disabled, because creating some images (including the ones that
get refreshed regularly) requires running VMs, and the openqa
server hosts are VMs themselves and do not currently have nested
virt enabled, so the creation would run extremely slow. Once we
get nested virt enabled, I'll change the condition for the image
creation step to what it should be. Until then I'll carry on
handling image creation manually (both hosts have all the images
at present anyhow).
2015-12-17 13:29:16 -08:00
Adam Williamson
d8ef7c0ad6 openqa_server: try a new approach for checking test changes
basically, dump the config from the server before loading the
templates file, dump it after, and use json_diff to compare.

I wanted to make the actual template loading script from openQA
do some kind of check in '--clean' mode, but given how it's
designed that's not really terribly practical without doing
some major re-architecting, and this seems like a relatively
simple alternative. With this change, the actual "Load tests"
step will never show 'changed', but the subsequent 'Check if
the tests changed in previous step' step will show as changed
when appropriate.
2015-12-15 14:18:14 -08:00
Adam Williamson
402bfe6215 openqa_server: use guestfs direct backend for creating disks
this avoids the need to start and stop libvirtd.
2015-12-15 11:30:13 -08:00
Kevin Fenzi
1ba59acc08 Add some more always_run to tasks that register variables. 2015-12-15 19:03:37 +00:00
Kevin Fenzi
e6e5470746 Add always_run to tasks where we register things we use later. 2015-12-15 18:59:01 +00:00
Kevin Fenzi
8eebcf0b66 Try just checking out this git content as the right user and drop the non idempotent chown after it. 2015-12-15 18:52:22 +00:00
Adam Williamson
e43cf5940b openqa: create N-2 hard disk images too 2015-12-07 15:12:04 -08:00
Adam Williamson
7e2b87f99a openqa: always fully re-load the test templates
I didn't do this originally because I was trying to make it
only show changed when something had really changed, but it was
too conservative - it wouldn't update when a test definition
changed, only when one was added. Doing it manually is a bit
annoying (you have to do the sed step and the ownership change)
so it's better to let you just re-run the play to update the
tests, even if it does mean getting the occasional spurious
changed state.
2015-12-07 15:05:58 -08:00
Adam Williamson
d45c56decb openqa-server: need libguestfs-xfs
Turns out this was the reason why desktop HDD image generation
wasn't working: we need the XFS support bits for libguestfs or
else it can't resize the partitions.
2015-12-05 11:43:05 -08:00
Adam Williamson
a169937853 openqa-server: make openqa.ini world-readable
there's really no reason for this to be restricted, it doesn't
contain anything sensitive.
2015-12-05 11:30:10 -08:00
Adam Williamson
9d271749fb patch dl.fedoraproject.org in openQA test templates
So apparently hosts within infra can't reach dl.fp.o. This is a
problem as we have that host written in as a reliable repository
URL for a couple of openQA tests. infra hosts can reach dl.fp.o
by the name 'dl.phx2.fedoraproject.org', but nothing outside
infra can reach that hostname. So we don't just want to change
it in the openQA test git repo because we want that to work for
external deployments. So, let's just sed it on the fly for
the infra deployment...
2015-12-03 16:13:40 -08:00
Adam Williamson
8f44bd34b7 openqa: set base_url in openqa.ini
this is needed for openID auth to work properly - otherwise
ipsilon thinks the request is coming from 'https://localhost'
and redirect after auth fails. openQA uses this config setting
for the openID base URL if it's set.
2015-12-01 14:53:46 -08:00
Adam Williamson
99837afe73 openqa workers: install UEFI firmware package
This comes from the kraxel.org repo and was added to the infra
repo by nirik. Note that it is technically non-freely licensed.
It contains a FAT implementation; Microsoft has granted an
exemption from the FAT patent purely for the purpose of
implementing a UEFI firmware, so there is a use restriction on
this code. License can be found (as I write this) at:

https://github.com/tianocore/edk2/blob/master/FatBinPkg/License.txt
2015-11-26 14:34:21 -08:00
Adam Williamson
1e0ef2bc88 openqa: check out tools to a different place in dispatcher
Both 'server' and 'dispatcher' roles need to check out openqa_
fedora_tools, but only 'dispatcher' needs to install it. To
avoid having to register a variable in 'server' too and have
the install task check if either variable |changed, just have
two separate checkouts, so the dispatcher checkout will always
have 'changed' when appropriate.
2015-11-24 09:27:40 -08:00
Adam Williamson
88eeff60af openqa: we want openqa_hostname as a role *default* variable
it seems variables in vars/main.yml are 'role variables' with
a high precedence, while variables in defaults/main.yml are
'role default variables' with a low precedence. This could be
made a hell of a lot clearer in the docs.
2015-11-18 19:13:30 -08:00
Adam Williamson
50359f8352 openqa - debug openqa_hostname for worker
this isn't working right, why not?
2015-11-18 19:07:42 -08:00
Adam Williamson
c60d19b0ee openqa: restart httpd on apache config change 2015-11-17 19:24:16 -08:00
Adam Williamson
edd06bae79 openqa: hdd image creation fixups
image creation needs expect, and libvirtd.service to be running,
and the filename it creates was wrong.
2015-11-17 14:17:40 -08:00
Adam Williamson
2b098b34bd set up for openQA deployment
This adds openQA server, worker and dispatcher roles, and
applies them to the appropriate hosts. A few secret vars are
required. See trac #4958 for discussion.
2015-11-13 09:49:00 -08:00