commit 3657c26ccc6b11c86c83f3063fa5d528a7feb896 Author: Dan Callaghan Date: Mon Nov 7 16:39:19 2016 +1000 Automatic commit of release 23.3 commit 0127976daf1dca3829419cb957b812643df4e2a7 Author: Dan Callaghan Date: Mon Nov 7 15:43:07 2016 +1000 release notes for 23.3 Change-Id: I16a7baf381aae154aeec6e7078b14bad8effd0a2 commit f3417026208a3deebe71a7406d4c183ea31bea63 Author: Dan Callaghan Date: Thu Nov 3 15:16:28 2016 +1000 fix race condition in test for returning a reservation The test was incorrectly waiting for the disappearance of a button labelled "Return the reservation" but the button had already changed to a loading state with the label "Returning..." at that point. Also fixed a typo in the wording of the button. Change-Id: I1efced8ae7f373f1c389104119ff0b829b026565 commit af954de3f686e9b7f04a54b4f5a2f45c1635176f Author: Dan Callaghan Date: Thu Nov 3 11:03:21 2016 +1000 remove usage of Flask absolute URL properties If we let Flask generate an absolute URL for us based on the WSGI environment, it won't take into account the tg.url_domain or tg.url_scheme config settings. Under most circumstances, the WSGI environment will have the right values anyway, but for example when using an SSL-terminating reverse proxy tg.url_scheme will be set to "https" but the WSGI environment may indicate that the scheme is "http". In this case Flask will produce incorrect absolute URLs. In all cases we need to either use our absolute_url() utility function (which obeys the settings) or avoid using absolute URLs. Bug: 1390412 Change-Id: Ie0c2ee984dee629d600f076b7038799144060b94 commit bc3a8af2ec6aa9a5f354629b60579606840f08cb Author: Dan Callaghan Date: Thu Nov 3 10:28:05 2016 +1000 tests: fix race condition in reserve workflow tree selection Changing the distro selection re-populates the distro_tree_id select, but this test could end up loading the options before they have been re-populated, resulting in a failure like this: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/bkr/inttest/server/selenium/test_reserve_system.py", line 77, in test_no_lab_controller_distro self.assert_(not any('i386' in option.text for option in options), options) [...] StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up Change-Id: I6eb7fa48570ab5bf8da565241887ec6a90c03860 commit e05f7fa214c385efb2c20ada8c541b6099025e6f Author: Róman Joost Date: Mon Sep 19 10:49:16 2016 +1000 Move from vagrant to virt-install This is reflecting the changes to beaker-in-a-box not using vagrant, but virt-install. (cherry picked from commit b1ca1096b336c6045fbfd217cfc9814e7f5ab7e9) Change-Id: Id0cab82e08f77ef76ac87d6268ca2da04e1368d8 commit 8e1ec7de65c506a4295ff29319253598fc5de586 Author: Róman Joost Date: Wed Jul 13 15:13:11 2016 +1000 Use a local connection instead of ssh There is no need to setup a passwordless ssh key authentication. Using local as a connection type works equally good and avoids any potential ssh pitfalls. (cherry picked from commit fada4d171ce6a7b307e22f6f0bee15d290180754) Change-Id: I397d261521216fea848cf1f2674f61c6f4ceb604 commit e236aa5c3ce8d34b20439954ae52f7d6b98c2c48 Author: Dan Callaghan Date: Thu Oct 20 17:00:11 2016 +1000 only consider previous power command when enforcing quiescent period If we need to delay for a quiescent period, we want to consider the time since the last *power* command, not since the last command of any kind. Bug: 1083648 Change-Id: I510a903251f74a54c2df47ad53ff4f10c88877e0 commit 3350a63faeb313a2922bf52107a41caf1749f244 Author: Dan Callaghan Date: Thu Oct 20 17:10:22 2016 +1000 fix validation logic for quiescent period Zero is acceptable, as the error message itself says. Bug: 1387109 Change-Id: I8605aa62baedba443d5b9b251dde7deddf9d56f5 commit b05acff06838018a08b17bdb229e9f55559e537b Author: Dan Callaghan Date: Mon Oct 10 15:47:18 2016 +1000 bkr job-modify --whiteboard Bug: 1298055 Change-Id: I004eeacadc52bf1433e341b2f661557e916b1853 commit a930ff32c43bf6f137736e798176d8f05f112436 Author: Jon Orris Date: Tue Aug 23 16:54:36 2016 -0400 Fix missing beaker_url_prefix prefix Bug was reported as "/bkr" prefix is missing from the pool URL in system page Fixed that instance and two others I found. Bug: 1364311 Change-Id: I0a5797b56be0c39bba8fab70b7b4815bac02f221 commit fbd924eaeb40f9848c65cc7c71b0f1a75eece1b9 Author: Dan Callaghan Date: Tue Oct 4 17:18:38 2016 +1000 record priority bumping in recipe set activity This will give people a greater chance of figuring out what is going on, instead of thinking they are just going crazy or Beaker is randomly discarding their priority settings. Bug: 1369599 Change-Id: I3775e33dd036289626c33b395bdafb3c91e7411e commit d3063228dbec52f14379ae7b772fe17ca6037449 Author: Dan Callaghan Date: Tue Oct 4 15:56:21 2016 +1000 don't implicitly mark a recipe as reviewed if it's still running Bug: 1376645 Change-Id: I70b8da341b5f4cfe137b80fb218d9473fa5548fe commit ab966fb811a1d3fa63f3f73b5d5a69cd84b63d98 Author: Dan Callaghan Date: Wed Sep 28 13:58:12 2016 +1000 avoid DNS lookups in absolute_url() if possible Bug: 1379565 Change-Id: I9a6e68ae4829ef9442b04502a827c731517d1f68 commit 25f174c147d816049fd918a772a9cf91c93345cb Author: Dan Callaghan Date: Fri Sep 30 15:42:27 2016 +1000 always set forward_url parameter for /login /login will ignore the Referer header, because redirecting back to that will do the wrong thing if the Referer was outside Beaker (for example when authenticating through Ipsilon). Bug: 1380600 Change-Id: Idadad6b6b914c63dc20743cdb4d2967e1eb22dfa commit 74aba3513b1126002cf885e6bf48ff463a16dd3b Author: Dan Callaghan Date: Thu Sep 29 10:31:40 2016 +1000 tests: fix timing issue with recipe page refresh The recipe page automatically re-fetches its state every 30 seconds. So the test needs to wait slightly *more* than 30 seconds, otherwise there is a chance it will start looking at the page while it's being refreshed, leading to failures like this: ====================================================================== ERROR: test_page_updates_itself_while_recipe_is_running (bkr.inttest.server.selenium.test_recipes.TestRecipeView) ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/bkr/inttest/server/selenium/test_recipes.py", line 147, in test_page_updates_itself_while_recipe_is_running b.find_element_by_xpath('//div[@class="recipe-summary"]/p[1]').text, [...] StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up 40 seconds should be a generous amount (30 seconds polling interval + 10 seconds for the request to finish which is the maximum we allow in general in WebDriver tests). Change-Id: Idf6eb179d956f6a3aa62baebe2d765cae4387ba2 commit a898f126453a9a5b46ddb77fcca840b28f9bb057 Author: Jon Orris Date: Thu Aug 25 15:34:23 2016 -0400 ignore presence of alembic_version table when checking if the db is empty If the alembic_version table is present because beaker-init --check had created it, but the database is otherwise empty, we want beaker-init to populate it from scratch. Currently it gets confused and tries to upgrade the database, which fails because the tables are all missing. Bug: 1350302 Change-Id: Id762bc3c3195f334078ebdd414a42fabcb337c5b commit ba44e410733aea7b697a0531f7cb38de4cf96722 Author: Dan Callaghan Date: Tue Sep 20 11:26:21 2016 +1000 job page: fix FQDN shown in recipe summary row Commit 1a7f2c44 changed "resource" from a plain object to a RecipeResource instance, this template should have been updated to match. Bug: 1362596 Change-Id: I7dbe96a401432450c863cc4662af76d0641d68ea commit 09c0cf2b1652192c5bc2b69d064c79f4c9153223 Author: Dan Callaghan Date: Mon Sep 19 13:49:52 2016 +1000 don't mark systems Broken when configure_netboot fails to fetch images If beaker-provision fails to fetch netboot images when it's trying to configure netboot for a system, we do need to fail the command and abort the recipe because something is wrong with the lab mirror -- but it's not a misconfiguration with the system itself, we don't mark it Broken in that acse. Bug: 874387 Change-Id: I5d73f719911921c8019cc5af8f39cb425a110a4c commit c59211860c647908a9a5356c20f3693b414219c2 Author: Róman Joost Date: Wed Jul 27 16:00:12 2016 +1000 Use better name for event listener The event listener firing when a system status is mistakenly named as a validator, but it only populates SystemStatusDuration rows when a new system status is set. Change-Id: I15863926b6b5dd64991d5178b0b9b38b0db265d4 commit 88cda311fe30807eda87b5d7d7a5d9a3f3b4d460 Author: Róman Joost Date: Thu Sep 15 13:58:30 2016 +1000 Reserve system if recipe is in waiting state If a user has scheduled short running tasks and the system is on high load, beakerd might not be able to set the recipe to running after a successful installation before tasks have completed. This results for the recipe finishing as completed without reserving the system. This patch includes the possibility that a recipe could be in a waiting state and therefore honours the reservation request. Bug: 1375035 Change-Id: I00efda65444d7fa091c4741e6cdd63faefb16f1b commit e9540e0272d53c2e350e4a8f78f70a763c3b05eb Author: Jon Orris Date: Thu Aug 18 16:44:26 2016 -0400 Change 'hide naks' in matrix report Nacks have been renamed to Waivers elsewhere, changed to 'hide waivers' for consistency. Bug: 1362598 Change-Id: Ieeed6aa902917f93d88012b15e5ca4c87ccaf237 commit 146379f00a997c5a1d17a311892ed1365566740e Author: Dan Callaghan Date: Mon Aug 29 15:11:34 2016 +1000 remote extraneous space after host recipe ID on recipe page The sentence appeared as: Guest recipe hosted by R:123 . due to the trailing newline on the recipe-toHTML JST template. Change-Id: I6c2183b675ec9dfac5302e3c44d2ae4736b6bfa7 commit 6263ae09783a43eeebeba6e18ea17326bfaf787c Author: Dan Callaghan Date: Mon Aug 29 14:36:23 2016 +1000 tests: try to fix more timing issues with system grid In dogfood R:15730 we hit a failure in the last line of show_all_columns: NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//table[@id=\"widget\"]/thead/tr/th/a[text()=\"System-Name\"]"} The corresponding access log entry shows that the browser actually fetched an empty search *without* any custom columns selected, even though we had clicked on "Select All" before submitting the search: ::1 - - [28/Aug/2016:23:16:58 -0400] "GET /bkr/?systemsearch-0.table=System%2FName&systemsearch-0.keyvalue=&systemsearch-0.operation=contains&systemsearch-0.value= HTTP/1.1" 200 37065 "http://localhost/bkr/" "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0" My theory is that WebDriver hit the submit button before the JS behind "Select All" had a chance to execute. Change-Id: I533d638e67a3e7bdd682cf788878b570f57406fd commit 70d8e8d472ab7e95fbf4a18ef61ee209d27a5f34 Author: Dan Callaghan Date: Mon Sep 5 16:45:16 2016 +1000 tests: fix timing issue with comment text Trying to avoid intermittent failures like this one: Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/bkr/inttest/server/selenium/test_jobs.py", line 579, in test_html_in_comments_is_escaped self.assertEqual(comment_paragraph.text, bad_comment) AssertionError: u'' != '' which I suspect are happening because WebDriver is grabbing the text content of the p while the comments view is still rendering itself. Change-Id: I600e5a330e929268a618f7eff80218bbe8f07f81 commit 260134ed5149f1b23a0a4b0f1b50a8fd8fd0feda Author: Róman Joost Date: Thu Jul 14 13:38:01 2016 +1000 Set systems to broken when de-associating with LC If lab controllers are removed, attached systems should not remain in 'Automated' since it will lead to confusing test errors. This patch marks them as broken so the schedule will not consider them for use. Additionally, we validate before setting the system to automated, that the a lab controller is associated. Bug: 1347239 Change-Id: I6c08e529a6ef9b5d01d13511f8c56eb83b4fb5d5