summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-07-23Automatic commit of release 25.5beaker-25.5Róman Joost7-8/+8
Change-Id: I9cd4f7a44201fe356eb881025437cc1635458e8c
2018-07-23Add Jacob to the list of contributorsRóman Joost1-0/+1
Change-Id: I42a9b66654a761aa2ae930bab0526e3d9d59b626
2018-07-23Release notes for Beaker 25.5Róman Joost1-0/+52
Change-Id: Ibb5d5af3bea379729834248d523b967b852b5573
2018-07-10drop %clean section from beaker.specDan Callaghan1-3/+0
The %clean section has been unnecessary since RHEL6. Change-Id: Ie8a607bfd28e4a5664332ab1452af913fcd98c81
2018-07-10remove support for conditionally building the server bits in beaker.specDan Callaghan2-74/+4
This was originally needed for RHEL5, where we continued supporting and building the client several years after we dropped support in the server. Nowadays, we are always building all subpackages everywhere, so we can simplify the spec a little by removing these conditionals. They will (hopefully) not be needed again in future. Change-Id: I9787bb056e9b0f3dd9f17714528fb3b21e4de420
2018-07-10add missing requirement on yumDan Callaghan1-0/+2
The server code imports and uses both the yum Python package and the rpmUtils Python package which is also provided by yum. rpmUtils is used at build time too due to the Sphinx docs. Change-Id: I310dc1a71196f5c59f2271edb22b306304ae0f9c
2018-07-10explicitly invoke python2 instead of pythonDan Callaghan11-22/+22
In the latest Fedora releases, packages are forbidden from using /usr/bin/python (as opposed to /usr/bin/python2) and starting from Fedora 29 it is no longer available in the build root unless you explicitly depend on it. https://fedoraproject.org/wiki/Changes/Move_usr_bin_python_into_separate_package Switch to invoking /usr/bin/python2 everywhere instead. Change-Id: I8ffda44c8d1a2aa44d65e847d47338ac634089ff
2018-07-10add conditionals to beaker.spec for new-style Python package namesDan Callaghan1-25/+124
https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 These package renames took place gradually over several Fedora releases, however from Fedora 29 onwards the old names are no longer provided so we have a hard cutoff where we need to use the new names. Change-Id: If630b8f94e4840a99eb21b7c10852173bd4b2579
2018-07-10rearrange requirements in beaker.spec to live under each subpackageDan Callaghan1-49/+39
Change-Id: I275887af6e40c5afe6c75e3b7672fb734fd5b98e
2018-07-10convert systemd conditionals to proper bcond in beaker.specDan Callaghan1-15/+14
Change-Id: I7608bf3bb1485d0a5a6b12c1ea24b3af2294e2b1
2018-07-10remove RHEL5 conditionals from beaker.specDan Callaghan1-14/+1
Change-Id: I094f5bc85e33f9a47d6c5f0ff7d7a6f926c438cf
2018-07-09tests: lsof moved to /usr/bin in recent FedoraDan Callaghan1-1/+1
Fixes this failure with the tests: ====================================================================== ERROR: test suite for <module 'bkr.inttest' from '/usr/lib/python2.7/site-packages/bkr/inttest/__init__.pyc'> ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/nose/suite.py", line 209, in run self.setUp() File "/usr/lib/python2.7/site-packages/nose/suite.py", line 292, in setUp self.setupContext(ancestor) File "/usr/lib/python2.7/site-packages/nose/suite.py", line 315, in setupContext try_run(context, names) File "/usr/lib/python2.7/site-packages/nose/util.py", line 471, in try_run return func() File "/usr/lib/python2.7/site-packages/bkr/inttest/__init__.py", line 431, in setup_package process.start() File "/usr/lib/python2.7/site-packages/bkr/inttest/__init__.py", line 180, in start self._wait_for_listen(self.listen_port) File "/usr/lib/python2.7/site-packages/bkr/inttest/__init__.py", line 190, in _wait_for_listen if check_listen(self.listen_port): File "/usr/lib/python2.7/site-packages/bkr/inttest/__init__.py", line 134, in check_listen stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate() File "/usr/lib64/python2.7/subprocess.py", line 394, in __init__ errread, errwrite) File "/usr/lib64/python2.7/subprocess.py", line 1047, in _execute_child raise child_exception OSError: [Errno 2] No such file or directory Change-Id: I3cb75e16b2036584d9670e2439b5eb756d147b8b
2018-07-06work around Bootstrap 2.3 incompatibility with Less 2.7Dan Callaghan1-0/+10
Bug: 1369590 Change-Id: I422edd26ddca09488efb7fbbad0b445110876938
2018-07-04Always truncate old/new values for Activity modelJacob McKenzie2-4/+26
When using MySQL, the db could handle being passed a User object and would truncate it appropriately. There was prexisting code to truncate the new/old values but it only expected unicode and was skipping User objects (Which is what is passed to Activity when a system owner is changed). As MariaDB is not so leanient this causes failures. This fix will cast all objects passed in to unicode and then truncate them; as was originally intended. Bug: 1591391 Change-Id: I43c9601a83d042a28547475970e222f87ad1c9cc
2018-07-04delete unnecessary unicode_truncate() functionDan Callaghan3-37/+2
This was added way back in commit d917d76a because we observed that MySQL appeared to be truncating string values in the middle of UTF-8 characters, leaving behind invalid bytes. The *actual* cause of that was because Beaker was connecting to the database with latin1 encoding. The column was 60 chars so MySQL truncated the string at 60 *bytes*. After we switched the database encoding to utf8 in commit f47cf808, this was no longer an issue -- MySQL would correctly limit the field to 60 Unicode *characters* instead of 60 bytes. Change-Id: I54fab1686106ab26743f69ee97aee80686eb8342
2018-07-03Handle RHEL8 synced to partners as wellRóman Joost32-18/+872
The current distro import code will not be able to import RHEL8 Alpha composes synced to partner repositories. What complicates this is a different directory structure between partner repos and internal repos. This patch adds support for importing RHEL8 alpha internally and for partners adding code which tries to guess the directory layout. Bug: 1593042 Change-Id: Ib9219d051b1b76cd5c7863a6cd012b9ed29d7d19
2018-06-28Make Jobs page's `autofetch` wait for responseJacob McKenzie1-3/+10
The `autofetch` method will now wait for a response from beaker server before sending another ajax request. Requests will also timeout after 10 minutes, then be retried. Bug: 1505207 Change-Id: I1bbf4c75e6fe751baebfb9e38ee1856634a1cbd9
2018-06-20docs: mention SKIP as a valid result typeDan Callaghan1-1/+2
Change-Id: Ifdeeb5acdf5f542d89e7acfa38ffe677b0262638
2018-06-20lock recipe and related rows when registering or changing logsDan Callaghan3-11/+15
To prevent deadlocks with other transactions which could be concurrently updating the recipe row, such as update_dirty_jobs(). Bug: 1065202 Change-Id: I62db79a6cea650a0732ef25f8952e027b829f9f8
2018-06-18docs: describe how custom partitioning worksDan Callaghan3-0/+101
Change-Id: I823b25b0111f12f8389f46b03dfc69842be466e8
2018-06-18Allow to import RHEL8 AlphaRóman Joost11-0/+357
This patch allows to import RHEL8 Alpha composes. The compose paths are hard coded and any deploys which provide the compose should follow the hard coded naming scheme of folders in order for the importer to import the compose. Reasons for this are, that once available the name of the composes should and will not change. Change-Id: I43d7fa1749822cad98138d2b4d64916f6f0166d2
2018-06-11set appropriate headers on automatically generated mailsDan Callaghan2-3/+21
This is to try and avoid pointless vacation auto-replies going to Beaker. Bug: 1588263 Change-Id: Idd5b5261f93b1fd29ca2516b0acd4b00e11fbe6f
2018-06-08beaker-log-delete: avoid holding open a database transaction outside the loopDan Callaghan1-1/+4
Similar to commit 48cda168, beaker-log-delete may run for a long time if it has a lot of jobs to purge. We want to avoid having an active transaction for the entire duration of the run, because it puts extra strain on Innodb and may contribute to the likelihood of bug 1574772 occurring. Change-Id: Ifd0243eea18d57892d24098610b23d8aab8e31dd
2018-06-07Coerce score to int MySQL 5.x styleRóman Joost2-0/+37
With the switch to MariaDB, the database is less tolerant of different types than what is declared in the schema. The production instance is running in strict mode, which enforces this schema. MySQL would simply coerce the string to an integer depending on what you have passed in, MariaDB raises an error. In order to keep backwards compatibility, we do in Python what MySQL did. Bug: 1586049 Change-Id: I500db2e313f5563a75a7cf9cd6563cd5d090f6eb
2018-05-28Make Oops regex less aggressiveJacob McKenzie3-3/+54
The regex for kernel oops' was too aggressive, so it has been replaced with a moderate one, based on data from oops.kernel.org. Unit testing was added for the PanicDetector. Bug: 1574317 Change-Id: I47d1689def28426801bb4277de41560040f17406