13 Commits

Author SHA1 Message Date
Stephan Kulow
a098f41f63 Fail rabbit-openqa and have systemd restart it
There were still exceptions not caught - and I have the suspicion
that the memory leaks we see in production are caused by the reconnects
(if you google for python memory leaks you end up with pika and lxml
examples - both we use here, so a restart every couple of hours can't
hurt)
2018-11-03 18:28:57 +01:00
Stephan Kulow
6d9436c372 Fix deployment problems on rabbit-openqa
- 2 python modules required
- apiurl shouldn't take the default from config not from getopt
- fix typo in user name
2018-10-23 08:28:52 +02:00
Stephan Kulow
75306457da If OBS or openQA raise an exception, restart 2018-10-22 06:46:25 +02:00
Stephan Kulow
8b6b498a0f First connect to AMQP then fetch initial state
This way we don't miss anything - we just have to make sure we're
done within heartbeart interval, or the server will close the connection.
But that's 60 seconds, so we're safe for this bot (and if we fail
once, we have to reconnect)
2018-10-12 11:28:42 +02:00
Stephan Kulow
d5947f5c19 Refactored rabbit-openqa to be based on PubSubConsumer
The base class listens to openSUSE pubsub messages (and can be used
standalone) and rabbit-openqa just overwrites the keys and the on_message
handler
2018-10-12 11:06:54 +02:00
Stephan Kulow
ceaef3ea88 Moved the ISO replace_string into OBS attributes 2018-10-10 20:59:16 +02:00
Stephan Kulow
a8d7b769c1 Find a sed like syntax for Staging ISOs
This can be moved to remote config
2018-10-10 20:07:21 +02:00
Stephan Kulow
b38a1edc34 Make the names of the openQA checks unique
Prefer 'minimal_x' unless there are 2 (the code doesn't
support more than 2)
2018-10-10 20:07:21 +02:00
Stephan Kulow
b886e28db3 No need to if loop - we do the same for all of openqa 2018-10-10 20:07:21 +02:00
Stephan Kulow
6f5978cab6 Link to failed test modules
SLE unfortunately does not fail atm, so I had to implement leap :)
2018-10-10 20:07:21 +02:00
Stephan Kulow
ecdc60065a Fetch all openQA jobs for the ISO every time
This is ugly on first look, but has several advantages:
- we can more easily support a cold start
- as such we don't need to have a persistant queue and
  can directly bind the routing keys we want
- we do the same on all openqa events, simplifying the code
- we can cope support short names for the checks

The last is the most significant benefit (not yet implemented though).
We can name the openqa jobs RAID1 and gnome and only have to append
the machine name (or other settings) if they conflict
2018-10-10 20:07:21 +02:00
Stephan Kulow
dab6850133 Gather initial buildid of repositories 2018-10-10 20:07:21 +02:00
Stephan Kulow
d1c3e212d7 Add helper bot to listen to rabbit bus and feed OBS with openQA Status
There is an API gap on OBS side atm, so this won't complete:
https://github.com/openSUSE/open-build-service/issues/6035
2018-10-10 20:07:21 +02:00