summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-03-09Automatic commit of release 25.0beaker-25.0Róman Joost7-8/+8
Change-Id: I48e57989cfaa335bfed01f701747bda3ff84231d
2018-03-08Revert installation failure detection from release notesRóman Joost1-4/+0
See f75f5fa7d3f31668c05a95ca4f6e3c6d5fce838c and Bug 1413827 Change-Id: I433ad5aa18daae8955f7dab5ea6602efb444dff2
2018-03-08Revert "Added installation failure pattern and logs"Róman Joost5-1162/+6
This reverts commit 205daeb2eff83660e81c1e8257e47a6f917e57d1. Reason see Bug 1413827. Change-Id: Ief7765659a76e8a889c050efff980c6b9a821eb4
2018-03-07Add BZ 999933 to release 25 notesAnwesha Chatterjee1-0/+4
Change-Id: I1e71f859c6372604b80f995804af89e555cb90f0
2018-03-06Replace job ID to Whiteboard of job default searchHui Wang3-5/+37
If the user enters text with a prefix of "J:", search by id instead of whiteboard. Otherwise default to a whiteboard search. Bug: 999933 Change-Id: Iac34bf22177cb563320743521ccb1c7711e17f33
2018-03-06Don't remove all new columns from installation tableRóman Joost2-39/+116
Removing all columns and their data is too destructive and will end up with a broken Beaker installation if users have already scheduled jobs using the custom distro feature. If these scheduled jobs are cloned, Beaker results in a trace back. Instead of removing all columns introduced by the feature for Bug 911515 we keep them and deal in the migration step by checking if those columns exist. Only create new installation columns if the feature columns don't exist in the installation table. Bug: 1550361 Change-Id: I0282d1834abf6031ec06aa5e87d3a66a36a40a33
2018-03-01tests: Don't clobber pdb prompts with logs from subprocessesRóman Joost2-3/+11
Test-dependent Beaker applications such as the watchdog (beaker-watchdog) or the hub (beaker-proxy) are being started as separate processes on test setup. The programs run in foreground with debug level logging and the processes are setup with redirecting all logging from STDERR to STDOUT. The effect is, that during debugging sessions debug output from the in parallel running programs are clobbering the debug shell, which makes it really hard to step through the test code. This patch discards all output from spawned processes during test runs if DISCARD_SUBPROCESS_OUTPUT environment variable is set (default for the run-tests.sh script). Bug: 1550365 Change-Id: I3762de6d3b1eac478b4a7ffbd66aa974f2dfdc86
2018-02-28Added BZ 1413827 to release notesAnwesha Chatterjee1-0/+4
Change-Id: Ie73d1d0414106086a6e8520f3519a10e23db2ff5
2018-02-27Added installation failure pattern and logsAnwesha Chatterjee5-6/+1162
... for fatal error in Fedora 24 on KVM guests Bug: 1413827 Change-Id: I5aa43cdf84eb104040c1da1cc2eb39d6e1cb6ae9
2018-02-27Beaker in a box: Improved wording for verifying the installationMike Ruckman1-7/+22
Change-Id: I2ad0c5a2683e889fab9b88a0bcaee3010deeadd0
2018-02-27Revert "tests: Don't clobber STDOUT with STDERR output"Róman Joost2-14/+4
The patch also filters out any test results as well as tracebacks, which makes the patch less helpful as intended. This reverts commit ac62fe2a5a4360ad4a0ea8ffadeb853fea32f096. Change-Id: I75f14f3ccb6a47c9d7409f77158e193c38cb9c01
2018-02-23tests: Don't clobber STDOUT with STDERR outputRóman Joost2-4/+14
Test-dependent Beaker applications such as the watchdog (beaker-watchdog) or the hub (beaker-proxy) are being started as separate processes on test setup. The programs run in foreground with debug level logging and the processes are setup with redirecting all logging from STDERR to STDOUT. The effect is, that during debugging sessions debug output from the in parallel running programs are clobbering the debug shell, which makes it really hard to step through the test code. This patch changes how we create separate test processes and removes the redirect of STDERR to STDOUT to make debugging easier. It also changes the runtests.sh script in the integration tests script to redirect any STDERR traffic into a log file under /tmp. Change-Id: I219f3c7a4a3f4b2864b61fae9b914d7e27a5e6e4
2018-02-22add a release note for bug 1159105Dan Callaghan1-0/+6
Change-Id: I92d96622e6bf34c66018249dc19db2fd9384266b
2018-02-22exit cleanly even if stdout flush failsDan Callaghan2-2/+13
Also fixed an UnboundLocalError in the task watching code, which I discovered while testing this fix. Bug: 1415104 Change-Id: Ie8f257f40b6578f5507a85510afdcb0968a25181
2018-02-22use 'change_prio' permission instead of hardcoded 'queue_admin' groupDan Callaghan7-11/+68
This is the "proper" way we use the system-wide permissions, which can then be granted to one or more groups, rather than hardcoding specific group names. We no longer need to protect 'queue_admin' from name changes, since the name is no longer special. Bug: 1159105 Change-Id: I0578fd64f2a3a0528a60a58bb358e5cb6011b21b
2018-02-13Devel patch to activate beaker from local git treeClark Williams6-10/+54
Add a 'devel' target to all Makefiles. This target causes the local beaker source tree to be installed on the local host. Change-Id: Ifc6087a61e36aa86ef700eeb6785ff3d952efd57 Signed-off-by: Clark Williams <williams@redhat.com>
2018-02-13release notes for 25.0Dan Callaghan4-23/+258
Change-Id: I26a12cdafdb1dec47851dac80d1ea6780bd3fbde
2018-02-12client/host-filters: update host-filtersMichael Petlan6-106/+179
1) added identification of several new AMD, Intel and POWER processors 2) model name "like" "%Intel%" construction replaced by "vendor = GenuineIntel" 3) added filters for cpu socket counts 4) added few more disk size filters Change-Id: I47d59677b76e1a8d66259c172c386ddf8af53d38
2018-02-12install beakerlib after beah in a separate yum transactionDan Callaghan14-17/+30
This way, even if beakerlib has some dependency problems, at least beah will still be installed and the recipe can proceed. Bug: 1420600 Change-Id: I6b461443204093ec98da8075aa79285207f5ae9f
2018-02-08Allow https urls in beaker distrosAnwesha Chatterjee3-2/+17
So as to fix protocol related failures in beaker-expire-distros and beaker-pxemenu. Throw relevant error in beaker-pxemenu when URL doesn't match any protocols. Bug: 1412488 Change-Id: Ib9b9aaea985fb241b654b863bae9d9456d93382b
2018-02-06bkr: handle EPIPE errorsDan Callaghan2-0/+21
Bug: 1415104 Change-Id: I934a4dd23581106ea1c98245af815d2aa96a9f5a
2018-02-05Fix Oops detection for ARMRóman Joost2-2/+11
This changes the oops panic detector regular expression to detect 'Oops' surrounded by word boundaries due to inconsistencies in the kernel reporting Oops messages. Bug: 1538906 Change-Id: Ib8c6fa5bb6cf3f01e67c125cc78364cf21ce8df3
2018-01-26fill in 'created' column when creating installation rowsDan Callaghan1-2/+3
Bug: 911515 Change-Id: I192b7d3c53ec13a1674b8c6d301e898a7bdb20df
2018-01-25<compatible_with_distro/> element in hostRequiresDan Callaghan4-21/+132
Bug: 1387795 Change-Id: Ia6e928092bbc830c1218040be61494cd7c0a16b8
2018-01-25mail notification when a system is loaned or returnedDan Callaghan10-2/+135
Bug: 996165 Change-Id: I5b7fac36aca9aa2d07ef49b2ef760e38bc770ba0
2018-01-19Fix distro XML generation for custom distroAnwesha Chatterjee3-4/+50
There was previously an error in get_recipe method in proxy.py which caused a failure in the labcontroller. This was due to a bug in recipe.to_xml, in which the XML generation would fail if the optional attributes were None (which it could be if the user did not provide it) This fix ensured when these sub elements in the distro element are not provided, XML generation of the submitted job should not include them, and generation of XML should not fail. Bug: 911515 Change-Id: I262df03fbd80d221fa8b0a9309ef241657387b7f
2018-01-18Fix references to recipe.distro_treeAnwesha Chatterjee3-2/+72
The scheduler and beakerd still had some references to recipe.distro_tree in some code paths that caused beakerd to error. Fixed them to reference the relevant parameters in recipe.installation instead. Bug: 911515 Change-Id: Icefb151fa848c74be54db61960e4a2a654029d40
2018-01-18Fix condition in failed recipe method in mail.pyAnwesha Chatterjee3-2/+41
Fix condition to check for the arch and distro name metadata. It currently throws an error for the failed recipes that were started before the upgrade (and hence do not have certain installation table columns) but finish after. Bug: 911515 Change-Id: I5e8aa78cbe0b2f2d82bde118692d7311f0defc17
2018-01-17Refactor recipe template for old UIAnwesha Chatterjee2-2/+14
The old UI expected recipe.distro_tree to be populated. Updated it to now reference the relevant attributes in recipe.installation instead. Bug: 911515 Change-Id: Id36532fe1c65cf2e9562bc070796027b79455148
2018-01-17Fix for recipe page when installation is nullAnwesha Chatterjee3-1/+21
When a recipe is either old and cancelled or aborted prior to being scheduled, or queued at the time of migration (and therefore recipe.provision() has not been called yet) there is no installation row, and the recipe model installation attribute is null as a result. Since this case has not been covered in the changes for BZ911515, a condition for installation being null has been added to recipe-installation.html and recipe-summary.html. Bug: 911515 Change-Id: I8b18e1c6a98e28bfb1ae35d11ea9d39851f082b7
2018-01-17Added liveimg support to kickstart templatesYuval Turgeman8-5/+483
Anaconda installs some OSs directly from an image (tarball or squashfs) that is packed inside the ISO or compose, using the `liveimg` directive. This patch presents two ways to install from a liveimg, one from a direct image file and the other from an rpm that contains an image. The following metadata variable was added to the kickstart templates: * liveimg - a relative path to the squashfs file or rpm Bug: 1420600 Change-Id: I5c8ad09f3882c13560aaa67fc784b332f0458974 Signed-off-by: Yuval Turgeman <yturgema@redhat.com>
2018-01-17Revert "Added liveimg support to kickstart templates"Anwesha Chatterjee8-483/+5
This reverts commit 92187eb6cc3cc79169b01c8c349ab0a433cc6b5e. Change-Id: I358b3ace2689ab8640b50ad89db534e1698ecb60
2018-01-16Added liveimg support to kickstart templatesYuval Turgeman8-5/+483
Anaconda installs some OSs directly from an image (tarball or squashfs) that is packed inside the ISO or compose, using the `liveimg` directive. This patch presents two ways to install from a liveimg, one from a direct image file and the other from an rpm that contains an image. The following metadata variable was added to the kickstart templates: * liveimg - a relative path to the squashfs file or rpm Change-Id: I692d28605bb57c0d0c800f0c4aca59310e1bb465 Signed-off-by: Yuval Turgeman <yturgema@redhat.com>
2018-01-16Fix result xml generation for pre-upgrade recipesAnwesha Chatterjee2-5/+29
Due to missing recipe.installation attributes in recipes that started before the upgrade, but finished after, the results XML had some incorrect attributes. Fixed up logic in the to_xml method to use distro_tree data when installation is not populated as expected Bug: 911515 Change-Id: I27e63e0c34cfe97f26ef0a1cb5ee19420d191dfd
2018-01-11Insert installation row for recipes that are queuedAnwesha Chatterjee2-0/+71
...at migration time, as otherwise beakerd fails due to NoneType recipe.installation. Bug: 911515 Change-Id: I606b61a12183abc12deeafbd09a2c9587040ff86
2018-01-09task_bugzilla.task_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393191 Change-Id: Ibc8f941fcb53c053b6091dc17f6f93537e257a23
2018-01-09recipe_task_result.recipe_task_id should be non-NULLableDan Callaghan3-34/+45
This patch also refactors the setup in test_task_search. Previously these test cases were creating and then deleting task rows, which in one case would leave behind orphaned recipe_task_result rows which are now (correctly) prevented. IntegrityError: (IntegrityError) (1452, 'Cannot add or update a child row: a foreign key constraint fails (`beaker_test`.`recipe_task_result`, CONSTRAINT `recipe_task_result_ibfk_1` FOREIGN KEY (`recipe_task_id`) REFERENCES `recipe_task` (`id`))') 'UPDATE recipe_task_result SET recipe_task_id=%s WHERE recipe_task_result.id = %s' (None, 6L) Bug: 1393186 Change-Id: Ibbfa819e7d0bfa734ce85ac244ac4c38f08c5aca
2018-01-08remove unused recipe_task_bugzilla tableDan Callaghan2-14/+28
Bug: 1393185 Change-Id: Iffa52ecaa00fc2ad36a4fc05a16af03e0aeae412
2018-01-08recipe_task_param.recipe_task_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393183 Change-Id: Ic49f1d408db670e1e5cd06dbb838d1e2d0df83af
2018-01-08recipeset_activity.recipeset_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393182 Change-Id: I1268d208ffbee7b81ae7d4b1fd6c9b3b13506d97
2018-01-08recipe_activity.recipe_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393181 Change-Id: I9b55a628987cb525c240542f0f9f979fd845f9dc
2018-01-08osversion.osmajor_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393174 Change-Id: I326b2f8cada08e49c7ec1034e8aa2465a108fe0f
2018-01-08distro_tree_activity.distro_tree_id should be non-NULLableDan Callaghan2-1/+27
Bug: 1393173 Change-Id: I8d4bab36824d9abc77dedb6a963a35d8b48d9e87
2018-01-08distro_activity.distro_id should be non-NULLableDan Callaghan2-1/+25
Bug: 1393170 Change-Id: Ib4acd3dfc0a529f497032ad2da785667ae68f252
2018-01-08make task columns non-NULLableDan Callaghan8-58/+155
This effectively means it is no longer possible to call Task.lazy_create(). For the real TaskLibrary.update_tasks() code, we can just switch to a lookup-else-create pattern, which is not subject to race conditions because the whole thing is enclosed by a global lock. However there was a bunch of test code which was relying on the lazy_create() behaviour which needed to be updated. Bug: 859785 Change-Id: Ia2b955a6a5c413f0a1f9b9193c14d77c995c0a37
2018-01-08remove unused task.repo columnDan Callaghan2-2/+25
This was introduced in the original commit 5fc060ec59d2ce2c073240415f2a58bb031814da but never used for anything. Change-Id: I6cd1dafd9e8675dfbf0ee997b2213f247c529ef9
2018-01-08avoid CONSTRAINT violations for NULL on Boolean columnsDan Callaghan1-2/+2
On databases which support CHECK constraints, SQLAlchemy will generate a constraint for Boolean columns to ensure their values are either 0 or 1. Like this: CONSTRAINT `CONSTRAINT_1` CHECK (`destructive` in (0,1)) Mariadb since version 10.2 will enforce these constraints. However SQLAlchemy incorrectly generates such constraints even for NULLable columns. But a NULL value will not satisfy the constraint. Leading to an error like this when inserting: ERROR 4025 (23000): CONSTRAINT `CONSTRAINT_1` failed for `beaker_test`.`task` Or if MySQL-python doesn't understand this new error code, it appears in Python land as: InterfaceError: (_mysql_exceptions.InterfaceError) (-1, 'error totally whack') Arguably these columns should be non-NULLable with a default of 0. And SQLAlchemy should not generate unsatisfiable CHECK constraints. But as a short term fix we can just disable the CHECK constraint on the affected columns. Change-Id: Ib3b13b52fbe0485e76157dad76260f93374b60be
2018-01-08a bit of extra logging in schedule_pending_systems()Dan Callaghan1-0/+1
In the same vein as commit 85b502e7, this will help us estimate the time taken to execute the MachineRecipe.running_on_system() query. Change-Id: Ib879e574871a52bac1b8be09133284d9da116a96
2018-01-08use Beaker logo as faviconDan Callaghan14-18/+116
Based on the advice from: https://github.com/audreyr/favicon-cheat-sheet Although this patch adds some Makefile rules to construct the various-sized images, the pre-built images are committed to git as well. Otherwise we would need to pull in Inkscape as a build dependency. They should pretty much never need to change in future anyway. Change-Id: I654c6196f6da39709a59332ce089bb725032e1a6
2018-01-08remove unused controller methods for system groupsDan Callaghan1-57/+0
These have been unused since commit 72b94f754426c37f800006555c2a9bbccd1bfccc. Change-Id: I35c1521cd137b1bfaa8664639b0695b52c4c6066