This sets up the openQA lab instance to report to the new stg
instance of resultsdb, and use authentication. The scheduler
config file is now mode 0600 because it has a password in it.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This sets us up for scheduling FCOS tests from messages, not
using a cron job. Also reduces some duplication of variables
between openqa-servers-common and the dispatcher role defaults.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I just enhanced the scheduler code so we can share the stock
WANTED definition (which now includes all arches) between prod
and lab, but filter the arches with a config file setting. This
means we don't have to carry and install a whole custom WANTED
file with the extra arches for lab any more, we just set the
appropriate value in the config file. Also drop some stuff from
the config file that's been useless since we switched to
fedora-messaging.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I wrote it as "Not" before, so I presumably saw the message that
way, but today it seems to be "not". Let's just skip the letter.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
In openqa/dispatcher, relvalconsumer and check-compose roles, we
install Python libraries from git checkouts (these are things we
don't really want to package as they change too much). This
enhances those roles so that we check whether pip considers the
libraries to be installed, and install them if it doesn't. The
purpose is to catch when the Python version rolls over on system
upgrade, and reinstall the libraries in that case - I got bitten
by this when upgrading to F32, I forgot to reinstall these libs
for Python 3.8, and it broke things for a couple of days before
I noticed and fixed it manually...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
I enhanced the fedora_openqa job scheduling consumer to have a
setting for which arches update tests should be run on. This
change adds that new setting to the config we write, and enables
ppc64le update tests in staging. If this goes well we will also
enable them in production, and later enable aarch64 as well when
we have more workers.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is to reduce a flood of errors happening when servers the
consumers communicate with go down.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
fedora-messaging has an annoying bug where consumers get stuck
allegedly working fine but actually not handling any messages:
https://github.com/fedora-infra/fedora-messaging/issues/208
to deal with this on our openQA servers, just have the dispatcher
role install a cron job which restarts all the services nightly.
Strictly speaking this shouldn't really be part of a specific
role like this, but this is the easiest way to do it and it's
not really that "wrong".
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This ditches the ability to choose between fedora-messaging and
fedmsg and always uses fedora-messaging; with this, we'll switch
the prod instance to fedora-messaging also (fingers crossed).
Signed-off-by: Adam Williamson <awilliam@redhat.com>
We had this for fedmsgs and it's pretty important, so let's try
and do it for fedora-messaging. The role has a generic setup,
infra-appropriate values are set in the group vars.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
Now I've built the whole thing and it works, I feel like this
is a cleaner design: we use a lot more role variables in the
messaging config files, set defaults for them that are
appropriate for non-infra use, and set the correct values for
the infra servers in the group vars. Let's just hope I got it
all right...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
well, this just isn't working and no-one's around to debug it.
So turn it off for now. Will try and fix it tomorrow.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
env_suffix isn't actually set to .stg on openQA staging because
it's not a normal staging host. Let's not set it in case it
breaks other plays, but use a custom var instead.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The keys and certs have been created for us to use private auth
so let's do it. This tries to keep things working for non-infra
deployments somehow.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
The correct auth bits are missing from the package so I'll ship
them here for now, and correct the config.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These should really be secrets, but no-one's around to help me
set up new secrets right now, and it shouldn't matter a lot in
the short term at least.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is a big change to support fedora-messaging based consumers
instead of fedmsg ones in the openqa/dispatcher role. This needs
the fedora-messaging branch of fedora_openqa, until that is
merged to stable. For now this is all conditionalized so prod
will continue to use fedmsg. This also improves some variable
usage and documentation in the fedmsg path too.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
These bits were still named and described as if they were ppc64
specific, even though they actually cover aarch64 too. Also I
decided I don't like the implementation of cueing *directly* off
the infra deployment type here, it feels wrong. Instead let's
just make it work from a config variable, and set that variable
to false by default and true in group_vars/openqa-stg.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This is no longer used (we use OIDC token auth now), so let's
not leave the plain text password file sitting around for no
reason.
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This should hopefully avoid an awkward problem I noticed with
'python3 setup.py install' dumping replacements in /usr/local
for packaged scripts (e.g. fedmsg-logger)...
Signed-off-by: Adam Williamson <awilliam@redhat.com>