------------------------------------------------------------------- Sun Aug 02 03:26:39 UTC 2020 - coolo@suse.com - Update to version 4.6.1596190499.d88f85256: * Dependency cron 200731 * Add test for API keys UI * Allow adding API keys without expiration date via the UI * Improve code for API keys page ------------------------------------------------------------------- Thu Jul 30 14:33:32 UTC 2020 - coolo@suse.com - Update to version 4.6.1596119585.a5800f1aa: * Prepare using CMake and ninja to build os-autoinst * Allow the worker to start ffmpeg to encode the video * Show job dependency on the Test overview page * Dependency cron 200729 * Make a few small optimizations to speed up the deletion of screenshots ------------------------------------------------------------------- Sun Jul 26 03:26:31 UTC 2020 - coolo@suse.com - Update to version 4.6.1595658530.ccadcf580: * Dependency cron 200725 * Add .jsbeautifyrc for editor support * Fix "last good" link introduced in 8fc2dc99a * Specify timeout for timeout to send KILL signal * Make prove aware of timeout ------------------------------------------------------------------- Thu Jul 23 19:26:31 UTC 2020 - coolo@suse.com - Update to version 4.6.1595521154.aa29e2427: * Add help popover for restart button * Allow skipping parents when restarting a job via API * Clone directly chained parents when restarting jobs * Improve error message and coding style when cloning a job * Fail Makefile targets if checks for certain tools fail * Add "tidy" make target calling Perl and JavaScript tidy * Make "last good" a link to a job instead of plain job ID * Render the dependency graph only while the tab panel element is visible * Avoid overriding explicitly specified tab/step when loading running jobs * Fix qcow image URLs being treated as text * t: Add test for content-type of qcow2 image * t: Delete obsolete disabled content from ui/07-file.t * t: Simplify 07-file.t using more Mojo::File * t: Add test for content-type of log archive and ISO media as well * t: Minor enhancements to comments * t: Move 'wait_for_worker' to only place where used * Allow to configure worker connect interval using env variable ------------------------------------------------------------------- Tue Jul 21 11:26:50 UTC 2020 - coolo@suse.com - Update to version 4.6.1595305429.43f8dce53: * Dependency cron 200721 * Use inclusive terminology "blocklist/passlist" * spec: Save time in package build tests * Add js-beautify checks and convenience make target * Tidy all javascript files with js-beautify (default config) * spec: Delete superfluous prove flag already included in PROVE_LIB_ARGS * Delete obsolete OBS_RUN variable assignment ------------------------------------------------------------------- Sun Jul 19 03:26:23 UTC 2020 - coolo@suse.com - Update to version 4.6.1595016885.fd322f928: * Add UI support for removing users * Add docs how to set the --no-cleanup parameter in the systemd units ------------------------------------------------------------------- Thu Jul 16 19:26:24 UTC 2020 - coolo@suse.com - Update to version 4.6.1594892785.5a3073ffd: * openqa-clone-custom-git-refspec: Fix curl+jq check for jq < 1.6 * Dependency cron 200716 * Fix user creation in OAuth2 plugin * Dependency cron 200715 * Improve code for collapsing investigation details * Collapse content of in investigation when content is too big * docs: Extend Networking chapter to cover non-qemu in general * docs: Fix and improve networking sections ------------------------------------------------------------------- Mon Jul 13 12:47:34 UTC 2020 - coolo@suse.com - Update to version 4.6.1594640971.bf4138e4b: * spec: Exclude flaky t/api/14-plugin_obs_rsync_async.t from tests * doc: Add hardware recommendations * mergify: Wait for OBS Package Build as well after we have it back * spec: Fix build missing "devel" package * spec: Prevent unresolvable on ppc64le with no-selenium-devel subpackage ------------------------------------------------------------------- Thu Jul 09 19:26:19 UTC 2020 - coolo@suse.com - Update to version 4.6.1594309120.bdb02d947: * deps: Fix nightly dependency bot job * Convert line endings .circleci/ci-packages.txt * worker: Allow video encoder to finalize the file * Improve appearance of custom time filter in needles table * Dependency cron 200708 * deps: Update Mojo-IOLoop-ReadWriteProcess * Remove obsolete jobs table column 'backend' * mergify: Add additional automatic merge on special label * mergify: Only merge automatically when there are no pending reviews * deps: Copy update-deps from os-autoinst * Expand the search range in used/match when querying needles * Test clone_job_get_job and error messages * Update Perl::Tidy to 20200619 ------------------------------------------------------------------- Tue Jul 07 11:26:23 UTC 2020 - coolo@suse.com - Update to version 4.6.1594050210.78188dc41: * systemd: Prevent worker erroneously pulling in any local openQA webUI service * Add perl-Mojolicious-Plugin-OAuth2 dep * Document how to configure OAuth 2.0 * Capture output of Fake/OpenID cases and use tempdir * Add OAuth2 auth method with GitHub provider * Narrow down fixtures needed by toplevel tests ------------------------------------------------------------------- Sun Jul 05 03:26:30 UTC 2020 - coolo@suse.com - Update to version 4.6.1593790150.a010576f0: * Handle the case where a concurrent cache service Minion job failed gracefully * mergify: Also block merge on selected labels * Handle the case where the first cache service Minion job failed gracefully * deps: Make cpanfile targets configurable * openqa-clone-custom-git-refspec: Enhance error message when called with wrong certificates * Fix showing help for commands loaded via plugins ------------------------------------------------------------------- Thu Jul 02 19:25:56 UTC 2020 - coolo@suse.com - Update to version 4.6.1593683888.1074bc933: * .circleci: Rename dependencies.txt to describe the actual use case * Simplify code for reading JSON files * Test OpenQA::CacheService::Client status functionality * Add a job summary into the detail page * Extract renderTestSummary as a common helper to print the job summary * Test OpenQA::CacheService::Client info functionality * Test OpenQA::CacheService::Client enqueue functionality * Be more defensive and forward all cache service errors * Handle all cache service client errors consistently * Pass along cache service enqueue errors so they can be logged by the worker * Dependency cron 200701 * Copy update-deps script from os-autoinst * Narrow down fixtures needed by api tests ------------------------------------------------------------------- Tue Jun 30 11:25:34 UTC 2020 - coolo@suse.com - Update to version 4.6.1593514767.bedf7a0de: * Avoid errors when serving job module results while they have just been finalized * Update documentation regarding dependency handling * Skip reading text files when reading job modules for label carry over * Make details JSON globally readable when finalizing job module results * Improve tests for finalizing job results * Improve gathering job module results * Simplify and improve code for finalizing results to optimize job details loading * Add minion task to remove duplicate result text files * Unify test module text output loading * Optimize job details loading with empty disk cache * Narrow down fixtures needed by ui tests * script: Slightly simplify create_admin script ------------------------------------------------------------------- Sun Jun 28 03:25:30 UTC 2020 - coolo@suse.com - Update to version 4.6.1593255831.e90b9f499: * Dependency cron 200627 * Reduce common fixtures used in api/04-jobs * mergify: Provide hint when a conflict is present * mergify: Be safe by waiting explicitly for codecov as final check * mergify: Ensure also no open request for changes * README: Fix circleci badge to master branch * Mergify: configuration update * Downgrade chromedriver to fix running Selenium tests within CI * docu: Fix href of JobGroupDefaults.pm because of a7fb32a * overview: Show version when DISTRI differs ------------------------------------------------------------------- Thu Jun 25 19:25:40 UTC 2020 - coolo@suse.com - Update to version 4.6.1593091364.60cb15b8d: * Remove versioned chromedriver install again * Fix running Selenium tests within CI * Improve wording in Docker/CI-related documentation * Improve Docker/CI-related documentation * Use relative path in test-with-database target so it works easier within Docker ------------------------------------------------------------------- Tue Jun 23 06:47:48 UTC 2020 - coolo@suse.com - Update to version 4.6.1592865598.88eb8f02c: * Increase version requirement for some dependencies ------------------------------------------------------------------- Thu Jun 18 19:25:32 UTC 2020 - coolo@suse.com - Update to version 4.6.1592454623.560f44635: * Prevent schedule from being reread unnecessarily * Fix order of arguments in script/openqa-worker-cacheservice-minion * Fix logic for changed schedule * Reset locks when restarting the cache service Minion worker * t: Attempt to fix sporadic timeout in basic.t in circleci * Attempt to fix sporadically missing test modules due to 0d1061af ------------------------------------------------------------------- Tue Jun 16 11:25:40 UTC 2020 - coolo@suse.com - Update to version 4.6.1592287553.6689377a6: * Dependency cron 200616 * Update logo.png to the new SUSE logo ------------------------------------------------------------------- Sun Jun 14 03:25:49 UTC 2020 - coolo@suse.com - Update to version 4.6.1592022958.c44fca22c: * Dependency cron 200613 * Allow flock on temporary files to fix support for monitoring with Mojolicious::Plugin::Status * Add error message when openqa-clone-custom-git-refspec is called on invalid job ------------------------------------------------------------------- Thu Jun 11 19:25:47 UTC 2020 - coolo@suse.com - Update to version 4.6.1591782003.8d14b8990: * Mark flaky t/ui/26-jobs_restart.t as unstable * Allow OpenID login via POST request ------------------------------------------------------------------- Tue Jun 09 10:52:53 UTC 2020 - coolo@suse.com - Update to version 4.6.1591699942.8543386ed: * Dependency cron 200609 * Add notes about arbitrary reasons * Remove out-dated comments; stopping will no longer be delayed as stated * Use newly introduced constants for worker commands and stop reasons * Improve dealing with worker commands and stop reasons * Add missing copyright header in constants modules * Remove stop type 'scheduler_abort' which is not used anymore * Improve coding style in set_running * Prevent Perl warning in downloader code * Improve UI for selecting the display order of builds * Select interval checkbox for interval from query parameter if applicable * Improve wording in the index page form, mainly to improve consistency * Improve coding style in JavaScript/CSS/template files * Avoid accumulating `comments_page` query parameters when using pagination * Fix typo in pagination code * Add autorefresh in the index page (#3141) * Maintain pagination when an user role changes * Fix pagination in the group overview page * Dependency cron 200605 * Turn two schema functions into methods * Hide livestream when loading test details and job is currently uploading * Update out-dated comment; the image upload is async via Mojo::IOLoop->subprocess * t: Use Test::MockModule->redefine in t/28-logging.t * Only reload test schedule when test_order.json has been changed * Make restart button work again after the job state changed * Dependency cron 200604 * t: Allow to configure amount of unstable/rejective workers in 05-scheduler-full.t * t: Simplify worker startup in 05-scheduler-full with map * t: Improve test description strings in 05-scheduler-full * t: Fix warning in 28-logging.t with strict MockModule and Test::Warnings * Extract methods for "ignore_known_images" and "ignore_known_files" in Worker::Job * Simplify Worker::Job slightly * Remove unnecessary single-line step in Worker::Job * Use the more idiomatic ->find instead of ->single * Replace duplicate method OpenQA::Schema::Result::Workers::to_string * Delete unnecessary pre-declaration of log_warning in OpenQA::Log * Generalize handling the video * Remove dead code from OpenQA::WebAPI::Plugin::ObsRsync * doc: Improve virtio/svirt serial terminal docs * Fix tests on OBS when "ps" is not installed * Use :report_warnings feature of Test::Warnings * Mark "25-cache-service.t" as unstable test as observed in circleci * Mark old issues and pull requests as stale * Extract methods for "ignore_known_images" and "ignore_known_files" in Worker::Job * Simplify Worker::Job slightly * Remove unnecessary single-line step in Worker::Job * t: Fix "Dubious, test returned 9" in 05-scheduler-full.t * t: Fix unstable test 'Allocated maximum number' in 05-scheduler-full * t: Sleep only when necessary when waiting for worker * t: Fix sporadic test failures on mis-assignment of jobs in scheduling * t: Increase robustness of 05-scheduler-full with reduced scheduler tick * t: Prevent use of occupied port in all full-stack/scalability tests * Makefile: Bump timeout limit for various tests for slow circleci * t: Provide unique process name for worker in scalability test as well * t: More cleanup in t/05-scheduler-full.t ------------------------------------------------------------------- Tue Jun 02 10:06:57 UTC 2020 - coolo@suse.com - Update to version 4.6.1591092399.b9fb68988: * t: Make output nicer on time limit * Dependency cron 200601 * Avoid stopping the live log when the worker already works on different job * worker: Keep uploading results until logs and assets have been uploaded * worker: Log every 10th uploaded chunk to autoinst-log.txt as well * Keep 'live' tab shown while uploading for improved feedback * Avoid rendering 'live' tab when job is already done * Update comments in worker function _upload_result * Fix style issue in running.js so jshint shows no errors * Do not shadow $errors in utils-job-templates test * Capture base_state.json JSON error warning * Add '--merge' option to prove * Show an explicit warning when failing to wakeup scheduler * Prefetch parent job in JobModules::job_modules() * Capture screenshot created message in screenshot test * Dependency cron 200529 * t: Make process handling more robust with IPC::Run * Log errors when claiming OpenID identity * Fix visual artifact in audio result box * Use named tempdir in cli archive unit test * Add documentation for MAX_JOB_TIME taking ab743579 into account * Validate parameters passed to job API routes * Add link to latest test in ObsRsync Project list (#3052) * templates: Simplify calculation of build bar results with 'total' value * t: Use OpenQA::Test::TimeLimit in basic.t for a start * Add "by groups name" as option to organize the builds in parent group overview * t: Add test module to check for test runtime * t: Extend 28-logging.t to cover color codes * Define custom log color selection compatible with reverse video terminals * Slightly simplify OpenQA::Log * Add colors to log output when available * Enable NOVIDEO for jobs with increased MAX_JOB_TIME by default * Move computing max job time into own function and add tests * Job templates: Return full error message for invalid YAML * t: Simplify basic.t * t: Output port for scheduler service as well * Improve debug message for job-worker assignment * t: Add trivial test for OpenQA::Log::get_channel_handle coverage * t: Simplify stdout matching in 28-logging.t * t: Fix warning "Prototype mismatch: sub Time::HiRes::gettimeofday" * t: Fix a sporadic problem in 05-scheduler-full about jobs assigned to dead workers * Delete unused import in WebAPI::Controller::API::V1::Worker * Delete obsolete TODO in worker schema implementation * DRY in name/to_string within worker schema implementation * t: Provide unique process name for all forked processes * t: Use IPC::Run for gru service in t/api/14-plugin_obs_rsync_async.t * t: Simplify sleep, retry and loops in t/api/14-plugin_obs_rsync_async.t * t: Output port for websocket server same as we do for webapi * t: Ensure unavailable websocket server is seen by throwing exception * t: Sort external imports first in 43-scheduling-and-worker-scalability.t * Simplify use of Test::Output with bare blocks rather than sub refs * t: Delete obsolete/disabled code in api/04-jobs.t * Render job module results on client side * Job templates: Escape dot in regex * Try using exclusive locks explicitly to prevent SQLite file corruption * Move remaining clone job functions into CloneJob module ------------------------------------------------------------------- Tue May 19 11:25:32 UTC 2020 - coolo@suse.com - Update to version 4.6.1589882993.dd2749ac3: * update-deps: Fix script path * Depend on Mojolicious 8.42 for session security fixes * Pass the first line of an os-autoinst multi-line error instead of discarding it * worker: Improve retrieving extended reason from os-autoinst * t: Catch all output in config.t * spec: Move configure-web-proxy to web UI package where it is needed * Dependency cron 200517 * Improve coding style in t/ui/18-test-details.t * Fix showing needle info when symlinks are used * Show candidate needle's last match/seen in the needle diff view ------------------------------------------------------------------- Sun May 17 03:25:21 UTC 2020 - coolo@suse.com - Update to version 4.6.1589554725.a1ad83f83: * Allow hidden keys in job template YAML * Return error when creating a needle only contains ocr area * Do not share controllers as base classes between micro services * Move actions and helpers used by multiple micro services into the OpenQA::Shared namespace * Remove more dead code * WebAPI needs the developer controller * Remove unnecessary referer check * Separate OpenQA::LiveHandler and OpenQA::WebAPI code a bit more * Add help for 'fetchneedles', 'openqa-bootstrap', 'openqa-bootstrap-container' * Add '--help' for script/configure-web-proxy ------------------------------------------------------------------- Thu May 14 19:25:00 UTC 2020 - coolo@suse.com - Update to version 4.6.1589385688.c7582131b: * Stabilize 25-cache-service.t using Time::HiRes * docs: Describe the possibility for cloud instances explicitly * t: Extract 'start_worker' method to reduce duplicate code * Dependency cron 200513 * t: Delete unused 'stop_worker' in 33-developer_mode.t * t: Prevent perl warning when 05-scheduler-full fails * Remove references to Test::More::Color not adding benefit * Mark unstable/flaky t/ui/27-plugin_obs_rsync_status_details.t as such * Add MicroOS bug reporting URL * Makefile: Bump timeout for 't' for accepted slow runs ------------------------------------------------------------------- Tue May 12 11:25:21 UTC 2020 - coolo@suse.com - Update to version 4.6.1589279446.c80b4132b: * Simplify test code in generating jobs settings * Fix dynamically deactivating tabs in test details * Fix returning result of finished job * Decrease polling interval of web socket console to potentially speed up tests * Ignore further JavaScript errors to reduce number of false-positive tests * systemd: Get rid of obsolete dependency of worker on apache2 * t: Add possibility to overwrite full-stack temp dir for easier debugging * Avoid additional white-spaces in job settings table * Test scheduled products search * Provide CPU flags on worker information for debugging CPU instruction support * Make scheduled product IDs in the table links * Allow showing scheduled product results when not logged in * Tweak styling of scheduled products table * docs: Add various hints for saving time in local tests * t: Improve t/32-openqa_client.t * t: Enhance test messages in t/32-openqa_client.t * docs: Delete duplicate mention of 'tidy' * Add '--help' for tools/tidy * t: Change javascript_console_has_no_warnings_or_errors to only output once * Dependency cron 200510 * setup-db: Prevent 'could not change directory' warning * Write JS code for audit and product log in a more compact way * Add link from test details to scheduled product page * Show all scheduled products in the web UI * Show scheduled product on test details page * Avoid repeated calls to $job->clone_id * Fix the issue `_URL` in jobs post is different from that in isos post ------------------------------------------------------------------- Sun May 10 03:25:29 UTC 2020 - coolo@suse.com - Update to version 4.6.1589026701.ed65375c3: * Fix missing mojo mode in scheduler daemon startup file * docs: Update local docker test usage * Initialize timeago elements correctly when refreshing info panel dynamically * Fix updating SVG favicon (without page reload) * Fix autoscroll checkbox in live log * Dependency cron 200508 * t: Harmonize more test messages in full-stack.t * Try to stabilize ObsRsync unit test during stresstest * Add proxy detect for OpenQA::Client * docker: Use useradd -m (--create-home) * Use defaults already in startup scripts rather than systemd ------------------------------------------------------------------- Thu May 07 19:25:24 UTC 2020 - coolo@suse.com - Update to version 4.6.1588874206.b9aea9c2e: * docs: Update Contributing docs regarding dependencies * t: Remove "sleep 8" in full stack test after stabilization * Remove comments to fix syntax highlighting and unnecessary blank line from fullstack test * Adapt fullstack test to AJAX-based job status updates * Load autoinst-log.txt without page reload in details tab * Fix updating the info panel class and stopping the developer mode * Update favicon on job state transition (without page reload) * Avoid refreshing the whole test details page on job state transitions * Remove debug message leading to "Use of uninitialized value [...]" warnings * Fix get_last_test() in ObsRsync Plugin * Convert DISTRI into lowercase before replacing variables * Dependency cron 200507 * t: Delete obsolete 'full-stack.d' directory * t: Remove unnecessary 't' prefix in temporary dirs * t: Ensure full stack test run has not passed "shutdown" module * t: Abbreviate 'wait_for_developer_console_contains_log_message' for nicer line wraps * t: Properly export functions from Open::Test::FullstackUtils * Use Test::Most instead of Test::More for convenience * Let Mojo::UserAgent deal with WebSocket redirects * Dependency cron 200506 * Fix missing_assets to ignore repos, not 'hidden assets' * Add specific error messages for cache directory unspecified * t: Reduce runtime of 25-cache-service.t with lower sleep periods * t: Add timeout for cache service test internal wait * t: Add more unique test messages to 25-cache-service.t * Add convenience sub-package 'openQA-single-instance' * docs: Mention installation of openQA-worker explicitly * docs: Correct reference to main package as "openQA server package" * docs: Simplify reference to minimum Leap/Fedora version * The exporter is not needed for authentication modules * Improve openqa-validate-yaml * Prevent repeated import attempts in WebAPI::Controller::Session * Use explicit 'return undef' in WebAPI::Controller::Session * Validate job done event * Refactor jobs tests into subtests * Simplify WebAPI::Auth::OpenID * Simplify WebAPI::Controller::Session with early returns * Simplify WebAPI::Controller::Session * Remove unused imports in WebAPI::Controller::Session ------------------------------------------------------------------- Tue May 05 11:25:24 UTC 2020 - coolo@suse.com - Update to version 4.6.1588677155.c96a967f7: * Dependency cron 200505 * Makefile: Fix evaluation for 'test-unstable' as followup to a8537863d * t: Correct cache test wait loop condition in full-stack.t * t: Add wait for UI instrumentation instability in full-stack.t * t: Phrase test message positively to prevent confusion * Use more Mojo::File in t/full-stack.t * t: Use existing dataset as time reference for stability * t: Add test messages to javascript_console_has_no_warnings_or_errors in full-stack.t * t: Fix missing leading double quote in plan skip message ------------------------------------------------------------------- Sun May 03 03:25:16 UTC 2020 - coolo@suse.com - Update to version 4.6.1588418631.c4bd338ae: * t: Ensure all test code is executed in every environment ------------------------------------------------------------------- Thu Apr 30 19:24:55 UTC 2020 - coolo@suse.com - Update to version 4.6.1588266331.0a51f4d32: * Dependencies: Add Getopt::Long::Descriptive to client deps * Also mention the --verbose option of openqa-cli * Use an endpoint that actually requires authentication for the authentication example * Add another JSON example and fix an error in the authentication section * Mention that MOJO_CLIENT_DEBUG is an upstream feature and the output can change * The openQA REST API uses JSON everywhere now, so content negotiation is not needed * Add openqa-cli documentation * Add back t/ui/01-list.t to "unstable" as not reliable * Makefile: Fix evaluation of 'unstables' * Add Test::MockObject and Test::Exception to test dependencies * Make connection errors more obvious * Fix `TEST` is not replaced when using `isos post` * Add --verbose option to "openqa-cli api" * Add route for latest test outcome in ObsSync Plugin * Revert "Use defaults already in startup scripts rather than systemd (alternative to #2864 with shell wrappers)" * t: Fix 'QEMU_NO_KVM' incorrectly added in QEMU_NO_KVM=1 * Increase proxy timeout * Provide a '--help' option to all our scripts * t: Save 5s test execution time in full-stack.t with smarter timestamps * t: Delete potentially offensive and unhelpful TODO comment * Move existing client script code to a better place ------------------------------------------------------------------- Tue Apr 28 11:24:55 UTC 2020 - coolo@suse.com - Update to version 4.6.1588072966.ee098707b: * t: Use proper copyright header for OpenQA::Test::Database * Delete obsolete 'check_dependencies' script * Default to HTTPS in openqa-cli * Consistently use openqa.example.com for examples * Update documentation to use openqa-cli * Update openqa-cli usage messages and add --osd/--o3 options * Use openqa-cli in full-stack tests * Remove dead test code * More unicode tests for openqa-cli * Add new openQA client to openQA-client package * Implement openqa-cli archive subcommand * Add user friendly exception handling with color highlighting and pretty printing of JSON * Allow loading the request body and form data from a file * Turn JSON objects into form parameters with --form * Rework JSON handling and set a default Accept header * Allow key/value pairs to be passed as arguments * Move apibase handling to base class too * Use the new license header * Add an archive command to openqa-cli as a first example for extensions * Add basic openqa-cli structure * Allow to overwrite 'worker connect retries' by environment variable * Fix local runs of full-stack test failing on "Content has not changed" * t: Cover test output with Test::Output * Use defaults already in startup scripts rather than systemd * Rename old "slenkins" data to be more generic * t: Try to stabilize t/ui/01-list.t ------------------------------------------------------------------- Sat Apr 25 16:30:05 UTC 2020 - coolo@suse.com - Update to version 4.6.1587822981.75468e7ef: * Fix exit code returned by client * Rename YAMLRenderer plugin to YAML * Update all overlooked old copyright notices * Add soft failure support for JUnit log parser * Dependency cron 200424 * Fix a very sporadic issue of a wrong comment header applied * openqa-clone-custom-git-refspec: Prevent warning about empty variable * Improve warning about undefined empty arg on clone with quotes * Improve the check for missing assets * tests: deduplicate $schema->resultset('Jobs') in t/15-assets.t * Remove a small race condition in asset tests * Set the machine name before expanding specified variables * Extract duplicated code from generating job settings * Dependency cron 200423 * Check if there is a recent event before returning it * Correct creating directly chained dependencies when cloning job * Extend client test for JSON/YAML output and error handling * Cover client with more tests by extracting methods into lib/ * t: Split out Client::Archive test from generic client test * Add simple test for client script * Slightly simplify script/client * Fix repo in dirty status request in ObsRsync Plugin ------------------------------------------------------------------- Thu Apr 23 08:29:42 UTC 2020 - coolo@suse.com - Update to version 4.6.1587630471.ceb108926: * Improve tests for job restarting * Allow to force restarting a job via the web UI * Update build_dependencies.sh to work on dependencies.yaml * Run make update-deps * Add t/45-make-update-deps.t * Make an exception for Perl::Tidy * Add tools/update-deps and dependencies.yaml * t: Stabilize and simplify ui/02-list-group.t (again) * Speed up dashboard tests * t: Stabilize ui/02-list-group.t * spec: Sort dependencies * t: Improve test stack reporting by avoiding Test::More tests in helper libs * t: Extract common full stack function "schedule_one_job_over_api_and_verify" * t: Add timeout for loops in full-stack.t * Consider directly chained dependencies when registering assets * Dependencies: Remove commas from requirements in spec * Scripts should return 0 when called with --help * Add test running all perl scripts with --help * Select also script directory in CI * Dependencies: Sort cpanfile * Allow running tests within Makefile despite unclean environment * Return error when error happens in caching assets * t: Speedup full stack test with KVM when available * UI tests: Add message to wait_for_ajax calls * Show test details tabs only via hash if it makes sense for the job state * Add explicit tests for the job's has_* functions * Load test result tabs async on demand ------------------------------------------------------------------- Mon Apr 20 20:57:04 UTC 2020 - coolo@suse.com - Update to version 4.6.1587416201.4df4ad16d: * Fix load_templates --clean to wipe more than one entry per table * Partially revert t/ui/13-admin.t change * Fix missing import 'log_error' in WebAPI::Controller::Running * t: Stabilize ui/15-admin-workers.t * t: Stabilize ui/27-plugin_obs_rsync_status_details.t * t: Stabilize ui/13-admin.t * t: Stabilize ui/10-tests_overview.t * Remove duplicated line in CSS file * Revert "Extract duplicated code from generating job settings" * tools: Improve output of retry * t: Cleanup nonsensical notes and steps in ui/06-operator_links.t * t: Turn comments of 06-operator_links into explicit test notes * Delete obsolete reference to phantomjs * t: Delete obsolete FIXME * t: Stabilize ui tests waiting for ajax * t: Stabilize ui/14-dashboard-parents.t waiting for build results * t: Use descriptive string in wait_for_ajax rather than comment * Add output of each try in tools/retry * t: Replace busy-loop with small-interval sleep in 25-cache-service.t * t: Make test messages in 25-cache-service.t unambiguous * t: Speedup 25-cache-service.t * Extract method do_asset_caching for easier testing * t: Fix instabilities in ui/01-list.t on accessing /tests * Validate parameter passed to comment API routes * Validate parameters passed to Worker API routes * Cover asset_caching by tests * Pick up extended reason from state file if available * Use Mojo::File correctly in OpenQA::Client::Archive * Fix --with-thumbnails option of client --archive feature ------------------------------------------------------------------- Thu Apr 16 08:29:28 UTC 2020 - coolo@suse.com - Update to version 4.6.1586954096.7160d88d9: * t: Add test description strings for all 'click_element_ok' calls * docs: Add description of folder structure * Separate all "scripts" to be packaged from development "tools" * t: Allow to set custom test output message on wait_for_ajax calls * t: Reduce sleep time in "schedule_one_job" to save testing time * t: Extract method "find_status_text" for full stack utils * Replace all uses of mock with redefine * doc: Mention script/tidy script * doc: Mention test-unit-and-integration target * doc: Fix variable name * openqa-clone-custom-git-refspec: Allow '/' in branch name * Refresh details page only when the job state changes * Use same setup function for scheduled tests as for other "pre-done" states * Show settings by default also for assigned jobs * Extract duplicated code from generating job settings * Simplify Schema::Results::Jobs (map) * Simplify Schema::Results::Jobs overview preparation * Simplify Schema::Results::Jobs with early returns * Extract Schema::Results::Jobs logging method * Simplify Schema::Results::Jobs "add/remove_result_dir_prefix" * Simplify Schema::Results::Jobs "delete" method * t: Add simple test for job name/label/scenario * script: Ensure no left over .tdy files on aborted/failed tidy * Cut reason after 300 characters * Validate result when setting a job to done * asset cleanup: Consider all jobs which are not done or cancelled as pending * Do not re-generate settings when cloning a job * Handle the settings that start with `+` when creating a job ------------------------------------------------------------------- Tue Apr 14 00:29:33 UTC 2020 - coolo@suse.com - Update to version 4.6.1586679856.9abbce836: * Dependency cron 200412 ------------------------------------------------------------------- Sat Apr 11 16:29:41 UTC 2020 - coolo@suse.com - Update to version 4.6.1586463829.b1aa1fe9b: * Add explicit API test for obsoleting job * bootstrap: Create symlink for sle tests to work ------------------------------------------------------------------- Thu Apr 09 08:29:44 UTC 2020 - coolo@suse.com - Update to version 4.6.1586355542.a1ef862a8: * Prevent warning when showing video without t parameter * Move log setup into log module * Allow restarting jobs with empty assets (instead of showing error) * Improve test for preserving pending assets * Add unit test scenarios for different needle property types * Makefile: Decrease limit for api tests after b72cccfca * Move ServerSideDataTable to only place where used * spec: Move subpackage specific files out of common package * Move JobGroupDefaults out of schema to be usable for worker * Prevent investigate request timing out * Adapt codecov target to current coverage of 93% * Remove perlcritic policy ConsistentQuoteLikeWords ------------------------------------------------------------------- Tue Apr 07 00:29:53 UTC 2020 - coolo@suse.com - Update to version 4.6.1586201785.538ad8205: * t: Provide info in 43-scheduling-and-worker-scalability.t also in non-verbose * Fix regression in b72cccfca about undefined mod results * t: Fix overly long runtime in api/02-iso.t * Fix missing method import "find_bug_number" * systemd: Fix path in openqa-enqueue-audit-event-cleanup.service after d509e69f4 * Dependency cron 200406 * Split off log functions into a new module * Store the entire result provided by os-autoinst * Improve Perl module search paths of some tests * Increase timeout of jobs in scalability test for stable CI runs ------------------------------------------------------------------- Sat Apr 04 16:29:35 UTC 2020 - coolo@suse.com - Update to version 4.6.1585918802.94bcc1cc4: * Add retry for worker-webui connection on 408+425 * Prevent more useless retries for worker-webui connect * Extend retry in worker-webui connect to cover rebooting hosts * t: Extend 24-worker-webui-connection.t to check different retry codes * t: Extract method for send in 24-worker-webui-connection.t * Cover broken needle code path in a unit test * Provide enqueue convenience scripts rather than systemd * Account freed disk space when deleting logs * Unify single/multi audit event rendering ------------------------------------------------------------------- Thu Apr 02 08:29:12 UTC 2020 - coolo@suse.com - Update to version 4.6.1585815597.24b98a95a: * docs: Mention the importance of synchronized clocks for remote worker machines * docs: Update "Run workers" to not only mention "virtual machines" as backend * The job result is a string and not a number * Turn warning about missing assets when restarting jobs into error * Harmonize License copyright format * Validate parameters passed to job group API routes * t: Fix sporadic failure in 10-tests_overview.t * worker: Test ignoring known images/files * Improve API test for updating status * Simplify API test for updating status * Prevent uploading non-screenshot results twice * Improve logging of result size accounting * Properly consider configured repo in ObsRsync check of dirty status ------------------------------------------------------------------- Tue Mar 31 00:29:20 UTC 2020 - coolo@suse.com - Update to version 4.6.1585581139.1203c5b7b: * Validate parameters passed to bug API routes * Skip detecting asset key when asset value is null * Dependency cron 200329 ------------------------------------------------------------------- Sat Mar 28 10:48:12 UTC 2020 - coolo@suse.com - Update to version 4.6.1585334025.c496db1d6: * Revert "Improve the operation of 'jobs post'" * Rewrite asset list generation for cache service * Revert "Rewrite asset list generation for cache service" * Ensure final linebreak in job template editor * Do not re-generate settings when cloning a job * Handle the settings that start with `+` when creating a job * Dependency cron 200326 ------------------------------------------------------------------- Thu Mar 26 02:48:15 UTC 2020 - coolo@suse.com - Update to version 4.6.1585161757.bb4097462: * Fix triggering ObsSync using repository * script/openqa-clone-job --help exits with 0 * Rewrite asset list generation for cache service * script/client --help exits with 0 * Add JSON::Validator, YAML::PP, YAML::XS to client_requires * Add openQA-client-test.spec * Refactor saving details/screenshots * Fix shellcheck complaint about sh/bash mismatch in t/dummy-isotovideo.sh * Fix shellcheck complaint about SC1091 in script/openqa-bootstrap * openQA.spec: Run style checks in %check to detect issues in other products * Return JSON for all API routes * Extend reason quit so its meaning is more clear * Add pointer to log details for incomplete jobs with reason "died" * t: Simplify 03-auth test * Add explicit test for auth with slight OpenID coverage increase * Remove untested and probably unused iChain authentification ------------------------------------------------------------------- Mon Mar 23 18:48:18 UTC 2020 - coolo@suse.com - Update to version 4.6.1584957320.c50fd7cfd: * Simplify 'prepare_data_function' as followup to #2793 * t: Bail out early on Selenium reported errors for concise log * t: Ensure necessary test dirs exist for ui/21-admin-needles.t * Extract common screenshot DB insertion function * Fix extracting compressed downloaded files * Validation for Asset controller ------------------------------------------------------------------- Sat Mar 21 10:47:45 UTC 2020 - coolo@suse.com - Update to version 4.6.1584727112.296692355: * Store size of job results in the database on upload * Prepare storing size of job results in the database on upload * Improve tests for job artifact upload * Validate parameters for artefact upload * Convert uses of `each` to `foreach` * Use validation_error helper in controller for saving needles * Adapt to Mojolicious 8.34; explicitly allow empty optional needle params * Dependency cron 200319 ------------------------------------------------------------------- Thu Mar 19 02:47:44 UTC 2020 - coolo@suse.com - Update to version 4.6.1584559784.011f30866: * Makefile: Prevent unexpected self-test run time increases with timeouts * docs: Move growing "testing" section out of "commit rules" * docs: Delete obsolete remark about dependencies in docker container * Makefile: Add convenience variable "TESTS" for easier selection * t: Reduce default wait_until check interval to save testing time * t: Simplify "schedule_one_job" * Prevent possible DBIx warnings when updating job modules * Add parameter repository in ObsRsync sync * Take automatically added newline into account for the reference * Add route list of configured projects in ObsRsync * Configure dirty status checks per project in ObsRsync plugin * Avoid scalability test failures in the CI * Improve coding style of streaming controller functions * Prevent race condition when assigning and sending jobs to a worker * docs: Clarify users and expected errors during an import * Handle web socket errors in live/developer mode code * Makefile: Separate scope of "checkstyle" and "test-checkstyle" for clarity ------------------------------------------------------------------- Mon Mar 16 18:48:22 UTC 2020 - coolo@suse.com - Update to version 4.6.1584377052.a1f8cccba: * Prevent flooding PostgreSQL logs with errors when inserting job modules * Remove DBIx hooks for updating job module statistics of jobs table * Improve checks in test for creating custom job module * Improve bug cleanup test to collect coverage and use helper to run job * Remove unused and uncovered helpers * Refactor job status update to avoid uncoverable branch * Mark handling for database errors which are hard to test as uncoverable * Remove support for old workers relying on redirection for ws route * Remove unused and uncovered part_of_important_build function ------------------------------------------------------------------- Sat Mar 14 08:04:55 UTC 2020 - coolo@suse.com - Update to version 4.6.1584172463.88254ac92: * Rename the JobTemplates module to YAML * Slightly simplify code WebAPI::Controller::API::V1::Job and Worker::WebUIConnection * Mark uncoverage subroutine in OpenQA::Worker::WebUIConnection * t: Slighty simplify t/24-worker-webui-connection.t * t: Add explicit to stabilize test coverage for OpenQA::Worker::WebUIConnection * t: Fix warning '"my" variable %job_info masks earlier declaration' * Fix perlcritic issue * Fix t/40-script_openqa-clone-custom-git-refspec.t failing when github auth token defined * Fix use lib in script/* * Fix ARRAY in loaded job template settings * Split YAML out of JobTemplate API tests * Job templates test: update check for error message * Add explicit test coverage for OpenQA::Scheduler::Model::Jobs::_pick_siblings_of_running * Make parameters for splitting screenshot cleanup configurable * Add worker name to reason when stale job detection incompletes job * Fix the bug that only dereference the symlink needle in one page * Validate parameters passed to job template route consistently * Add test for re-scheduling only on 2nd idle status * Improve test coverage of worker * Enable scalability test in CI * worker: Avoid rejecting jobs when already working on them * Improve test coverage of the worker command handler * Format test of the worker's web UI connection in a more compact way * Revert condition for job-specific web socket messages * Add test for handling the quit message from the worker * Prevent race condition when assigning and sending jobs to a worker * Enhance scalability test * Have openqa-clone-custom-git-refspec parse PR for test URLs * Prevent scalability test from using port which is already in use * Use service_port for web socket server redirection * Add fullstack test for scalability * Tweak result upload of worker * Optimize _optimize_image ------------------------------------------------------------------- Thu Mar 05 12:01:40 UTC 2020 - coolo@suse.com - Update to version 4.6.1583409674.75be31485: * t: Add explicit coverage for "_read_result_file" to fix flaky reports * Check whether screenshot cleanup tasks only clean their range * t: Ensure reliable statement coverage for worker settings * Simplify and cover OpenQA::Worker::Job::_optimize_image in tests * Delete obsolete note from "_optimize_image" for resolved feature * Simplify read_test_modules to make test statement coverage reliable * t: Add explicit coverage for "worker stopping while uploading" * t: Fix grutasks taking excessively wrong while gathering coverage data * t: Use explicit wait functions where needed * t: Wait for ajax in wait_until as well * Fix script/retry for STABILITY_TEST preventing false-negatives * openqa-clone-custom-git-refspec: Add option to pass clone-job arguments * Fix script/retry for STABILITY_TEST preventing false-negatives * openqa-clone-custom-git-refspec: Allow to overwrite default clone args with env variable * Bootstrap: Install required dep qemu-tools * Split minion job for limiting screenshots * Clean up the route tree a bit for faster routing * Avoid warning about missing UEFI_PFLASH_VARS asset * Move all circleci test groups as convenience targets to Makefile * Dependency cron 200303 * Read build from Media lst files in ObsRsync Plugin * Add test for "openqa-clone-job" * t: Extract functions "run_cmd"/"test_cmd" for reuse in script tests * Split 'checkstyle' tests within circle CI to reduce overall runtime * Bring back elapsed time in CI tests for easier identification of time-hogs * Makefile: Sort 'test-unit-and-integration lower to keep top-to-bottom order ------------------------------------------------------------------- Mon Mar 02 17:31:03 UTC 2020 - coolo@suse.com - Update to version 4.6.1583157906.85e9020f0: * Fix permissions of script/setup-db to be executable * Dependency cron 200302 * Fix 'openqa-setup-db' on SLE12 builds * t: Update copyright for all changed test files * Harmonize shebang style * Add empty 'unstable_tests.txt' to prevent 'No such file' * Update license notice in each file to use URL rather than postal address * t: Avoid ambiguous meaning of 'kill' when we actually 'terminate' * t: Also check for warnings in full-stack ------------------------------------------------------------------- Fri Feb 28 19:04:52 UTC 2020 - coolo@suse.com - Update to version 4.6.1582908813.c5b7e89c0: * Makefile: Add KEEP_DB flag for optional, faster re-runs * Extract a script "openqa-setup-db" for local database setup * Make "developer" test as unstable based on recent results * systemd: Prevent error on repeated startup of openqa-setup-db * Improve shell style of t/test_postgresql based on shellcheck * systemd: Make worker also only depend necessary network related targets * Remove misleading log message of test setup * Make check for error message in fullstack cache test less specific * Refactor setup of fullstack tests * Initialize host of cache client via sub to ease test setup * Format test of the worker's web UI connection in a more compact way * systemd: Fix premature startup of services when network is not fully up yet * worker: Log only a debug message if a JSON can not be opened * Remove unused modules from scheduler fullstack test * Alleviate debugging of test_postgresql * load_templates: Remove query uses from table requests * load_templates: Create groups that do not exist * Prevent search popover icons from appearing on top of menus * Improve logging, error handling and notes for worker-server connection * Delete unused and uncovered method 'Worker::WebUIConnection::disable' * Delete unused and uncovered method 'Utils::append_channel_to_defaults' * Stop the worker as usual when handling 'incompatible' command * Update systemd/openqa-enqueue-bug-cleanup.timer * Align jobtemplate inline help to left * Fix openqa-enqueue-bug-cleanup.timer description ------------------------------------------------------------------- Wed Feb 26 11:03:38 UTC 2020 - coolo@suse.com - Update to version 4.6.1582671252.ca350bd34: * Revert "Merge pull request #2750 from Martchus/fix-scheduler-ws-race-condition" * Dereference symlink when displaying needle info * Declare YAML::XS properly as a runtime dependency for JSON::Validator * Log job duplication only at one place * Use prefix 'abandoned: ' for reason in stale job detection * Use consistent data structures in worker logs * Improve test coverage of the worker command handler * Format test of the worker's web UI connection in a more compact way * Stop the worker as usual when handling 'incompatible' command * Revert condition for job-specific web socket messages * Add test for handling the quit message from the worker * Prevent race condition when assigning and sending jobs to a worker ------------------------------------------------------------------- Mon Feb 24 03:03:49 UTC 2020 - coolo@suse.com - Update to version 4.6.1582356603.73b75d1a4: * Dependency cron 200222 ------------------------------------------------------------------- Fri Feb 21 19:03:45 UTC 2020 - coolo@suse.com - Update to version 4.6.1582309642.4cf93ee9f: * Add merge key example to inline help * Add docs for merge keys * JobTemplates: Add tests with merge keys * Use YAML::PP for JobTemplates * worker: Add explicit test for last error of web UI connection * Avoid redundant code in worker job test * worker: Handle job duplication failures * Show warnings when restarting job and assets are missing * Add function to determine whether a job misses assets * Move check for hidden asset types into its own function ------------------------------------------------------------------- Fri Feb 21 10:39:15 UTC 2020 - coolo@suse.com - Update to version 4.6.1582278168.345f257f6: * Use unique git hash from vars.json for src links when possible * docs: Add hint about importance of using the same filesystem for cache+pool * Fix source code remote path for optional .git github links * Fix missing dependency 'perl(Archive::Extract)' for worker since e86f68b08 * Silence a warning in 24-worker-overall.t * docs: Replace dated styling/Mark systemctl command * Handle the case where there are no screenshots more gracefully (avoiding warnings in tests) * Redirect to remote code location for source view when using CASEDIR * Flatten the download conditions a bit * Do not capture and store all job output as a note * Log all download errors * Fail the job instead of throwing an exception * Add tests for OpenQA::Downloader * Use OpenQA::Downloader in download_asset task * Add downloader module and use it for the cache service * Use preferred explicit rendering in "src" method * Simplify "src" method showing source code of test modules * t: Fix and re-enable ui/03-source.t ------------------------------------------------------------------- Tue Feb 18 23:34:01 UTC 2020 - coolo@suse.com - Update to version 4.6.1582068800.bb5602a1e: * Simplify bugref counting with map * Add GRU task "limit_bugs" to cleanup orphaned bugs * worker: Simplify '->stop' call slightly * Remove redundant timestamp output in worker log * Fix custom variables escaping on clone_custom_git_refspec * Fix random failures in t/api/08-jobtemplates.t * Tweak Build regexp in ObsRsync ------------------------------------------------------------------- Fri Feb 14 10:38:11 UTC 2020 - coolo@suse.com - Update to version 4.6.1581660411.10959f77b: * Dependency cron 200214 ------------------------------------------------------------------- Wed Feb 12 02:38:18 UTC 2020 - coolo@suse.com - Update to version 4.6.1581352297.ca1cecd07: * Revert "Have openqa-clone-custom-git-refspec parse PR for test URLs" * Dependency cron 200210 ------------------------------------------------------------------- Sun Feb 09 18:38:37 UTC 2020 - coolo@suse.com - Update to version 4.6.1581075098.818ddb190: * Make test for worker registration error less specific * Let the current job continue after a fatal registration error * Simplify error handling of worker registration ------------------------------------------------------------------- Fri Feb 07 10:38:26 UTC 2020 - coolo@suse.com - Update to version 4.6.1581058621.9523164cd: * Dependency cron 200207 * Make help icon after search field fully clickable * Consistently store gru job output as a note * Only rebless jobs once * load_templates: better error handling * fetchneedles: Fix "no tracking information for the current branch" on self-repair * Have openqa-clone-custom-git-refspec parse PR for test URLs * Improve the format of execution time * Add final linebreak to jobtemplate yaml * Avoid re-scheduling accepted jobs before first status update * Make scheduler fullstack test more stable * Add test for aborting job during setup * Consider worker no longer immediately offline when ws connection finishes * Prevent passing the reason 'cancel' as it provides no extra information * Prevent worker from overriding reason set by web UI * Dependency cron 200205 ------------------------------------------------------------------- Wed Feb 05 02:38:00 UTC 2020 - coolo@suse.com - Update to version 4.6.1580827995.3476c9f7b: * Move webapi templates from "templates/" to "templates/webapi/" * Avoid undefined $appname/$api_description errors by using the stash * Fix product log test which might fail when table slightly overflows * Trigger result cleanup daily instead of hourly * Use separate timer for enqueuing cleanup tasks * Reset the editor to the minimum viable YAML if empty * Use aliases in JobTemplate schema * Have test_once in clone-custom-git-refspec test report errors correctly * fetchneedles: Do not fail the script when we are on the correct branch * openqa-bootstrap: Fix indendation ------------------------------------------------------------------- Sun Feb 02 18:38:20 UTC 2020 - coolo@suse.com - Update to version 4.6.1580490152.07482738b: * Fix incorrect exit code in obs_rsync_update_builds_text Gru task * Limit ObsRsync task retries * Dependency cron 200131 * Support 'testsuite: null' in jobtemplates ------------------------------------------------------------------- Fri Jan 31 10:38:53 UTC 2020 - coolo@suse.com - Update to version 4.6.1580407290.340620ce0: * Read all keys from ini section of none is defined * Avoid hardcoded schema version in deployment test * Fix old database migrations * Fix old DB migrations by combining them into 76-77 * Set reason when stale job detection marks job as incomplete * Pass the worker's reason for stopping a job to the web UI * Improve test code for job duplication * Show reason in info panel * Allow passing a reason when marking a job as done * Test all DB migrations from version 76 and not just the last 2 ------------------------------------------------------------------- Wed Jan 29 02:38:33 UTC 2020 - coolo@suse.com - Update to version 4.6.1580150954.a98528363: * Improve build info in ObsRsync UI (#2694) * Adjust parsing of project state in ObsRsync Plugin * t: Add more test strings * t: Fix typos in full-stack * Fix "Use of uninitialized value in numeric ne (!=)" in worker * Fix "Can't use an undefined value as an ARRAY reference" in worker * openqa-clone-custom-git-refspec: Provide option parsing with help text * Add retry script for testing with flag STABILITY_TEST * Slightly simplify JobModules * Replace references of "TRAVIS" with a generic term or CircleCI in cpanfile and tests * Treat all previously unstable tests as stable after proof of stability * t: Extract method for ajax/animation handling * Stabilize t/ui/14-dashboard-parents.t by relying on "collapsed" only ------------------------------------------------------------------- Sun Jan 26 18:37:58 UTC 2020 - coolo@suse.com - Update to version 4.6.1579943557.88a382a14: * Dependency cron 200125 * Simplify job#done * Add test in openqa-clone-custom-git-refspec for trailing '/' * t: Cover all current features of openqa-clone-custom-git-refspec ------------------------------------------------------------------- Fri Jan 24 10:38:06 UTC 2020 - coolo@suse.com - Update to version 4.6.1579790259.c018d5dc2: * Workaround api request in ObsRsync Plugin * Remove dead code * Use uppercase variables in OpenQA::Utils to make their scope immediately obvious * Replace compose_job_overview_search_args and param_hash methods with helpers * Move mark_job_linked function into the correct resultset * Move job_group_and_parents function into the correct resultset * Use :DEFAULT instead of importing twice * Replace global variables in OpenQA::Utils with functions * Remove unused export * Do not export variables from OpenQA::Utils anymore * Add OpenQA::App as a singleton container, replacing $OpenQA::Utils::app * Move worker specific code from OpenQA::Setup into OpenQA::Worker::App * Just use Mojolicious as a base class instead of trying to reinvent it * Parse Snapshot number in ObsRsync plugin * Add silent reload of dashboard contents for fullscreen mode * Dependency cron 200123 * Add dependency to client so asset download via SSL works * load_templates: fail early if host is unreachable * Log asset download error to autoinst log file * Fix asset status test so it works when the cache file does not exist * Dependency cron 200122 * Support batches in ObsRsync Plugin (#2653) * Use new format to store job module details * Set text mime in ObsRsync download * Use is_admin_js helper in asset table template * Show cached assets also when cleanup is ongoing * Add CLI tool to validate a job template YAML file * Fix ObsRsync mutex leak on errors ------------------------------------------------------------------- Tue Jan 21 06:50:09 UTC 2020 - coolo@suse.com - Update to version 4.6.1579529599.e032e3659: * Do not retry downloads in the cache service when there was a 4xx response * Unify retry handling for all 4xx/5xx and connection errors in the cache service * Dependency cron 200120 * Improve coding style in scheduler tests * Consider assigned jobs when duplicating jobs * Simplify auto_duplicate code * Avoid race condition in job scheduling ------------------------------------------------------------------- Sat Jan 18 22:49:52 UTC 2020 - coolo@suse.com - Update to version 4.6.1579272112.ccebff1bd: * Allow more than one keepalive connection per cache service worker * Update perltidy to 20200110 * Fix tidy in night job * Retry cache service downloads for many more errors ------------------------------------------------------------------- Thu Jan 16 14:49:57 UTC 2020 - coolo@suse.com - Update to version 4.6.1579176985.3721eca2e: * Add labels to auth, git and dependency PR steps in CircleCI * Show the execution time of job modules * Use `is_admin_js` on job templates page * Use sub-heading for job templates * Format YAML editor buttons uniformly * Improve general documentation on job templates page * Document the description syntax in the YAML guide * Show YAML guide also when not logged-in * Dependency cron 200115 * spec: Exclude flaky 17-labels_carry_over test ------------------------------------------------------------------- Tue Jan 14 06:50:10 UTC 2020 - coolo@suse.com - Update to version 4.6.1578936542.0e251d1f0: * Fix cache service log formatting * Test asset download of openqa-clone-job script * Fix support for symlinked cache dirs * Allow to skip removing documentation output * Improve referencing different setup documentations * Move "Development setup" to contributing * Improve documentation about db migration * Fix documentation for passing --from to openqa-bootstrap * Add further documentation from openQA-helper * Provide general info about making a devel setup, mention openQA-helper * Use job_template_name as the TEST when scheduling jobs ------------------------------------------------------------------- Sat Jan 11 22:50:14 UTC 2020 - coolo@suse.com - Update to version 4.6.1578688138.bc8a43167: * Don't have a default size limit on parent group level * Prevent old but newly cloned assets from being cleaned up immediately * Use a fallback to symlink assets if hardlinks fail * Use hardlinks for downloaded assets when possible * Test whether web UI actually works after db migration * Only fetch job groups when delivering HTML ------------------------------------------------------------------- Thu Jan 09 14:49:46 UTC 2020 - coolo@suse.com - Update to version 4.6.1578575737.d02ae56c3: * Add auto-cleanup for temp files created by web UI * Fix db migration for size_limit_db column of job_group_parents table * Be more defensive and accept more host formats * Hosts are passed to the cache service jobs without a scheme * Prevent jshint warning in test_result.js * Render investigation info as table * openqa-clone-custom-git-refspec: fix curl_github * Add test for Sync button in ObsRsync plugin * Rename TEST_SUITE_DESCRIPTION to JOB_DESCRIPTION * Prevent loading investigation tab contents twice * Support downloading assets with special characters like "#" and ":" in the name * Allow unsetting asset size limit in web UI * Assign job group asset limits explicitly * Extend asset cleanup tests to cover job groups within parents * Adapt tests for asset limit on parent level * Migrate default_size_limit_gb to size_limit_gb * Adapt group property editor to asset limit on parent level * Adapt asset table on admin page to parent level asset limit * Adapt asset list on admin page to parent level asset limit * Enforce asset size limit on parent group level ------------------------------------------------------------------- Tue Jan 07 06:49:24 UTC 2020 - coolo@suse.com - Update to version 4.6.1578338128.7d62398b0: * Asset download: fix return statement broken in f0d70f1 * Minor cleanups for job settings ------------------------------------------------------------------- Wed Jan 01 11:53:51 UTC 2020 - coolo@suse.com - Update to version 4.6.1577879607.68ae00aa4: * Dependency cron 191231 * Improve documentation about test flags (especially fatal) ------------------------------------------------------------------- Thu Dec 26 07:13:30 UTC 2019 - coolo@suse.com - Update to version 4.6.1577344382.5aaa6ced5: * Update Minion dependency (#2628) ------------------------------------------------------------------- Sat Dec 21 07:32:55 UTC 2019 - coolo@suse.com - Update to version 4.6.1576913552.acf2b6db3: * job investigation: Ensure consistent output with sorted hash keys * job investigation: Provide test+needles git log diff and files stat diff * job investigation: Skip "merge" commits with no helpful information in git log diff * Increase the inactivity timeout of the cache service client to be more consistent with other timeouts, such as the SQLite busy timeout * More concurrent download tests * Worker settings should be handled by the cache service application instead of a model * $a and $b are special variables in Perl, do not use them arbitrarily * Add description to job template editor * Use log level 'info' for message about groupless asset * Remove registered assets regardless of the type * Add description column to JobTemplates * Log asset downloads and rsync requests the same * Test concurrent rsync requests as well * Fix a race condition in 25-cache-service.t where a worker was kept alive too long * Connect parallel cache service downloads * Dependency cron 191218 * docs: Update use description of travis_test container * Delete obsolete travis.enc file * Fix serveral issues with OBS rsync plugin UI * job investigation: Give explanation on no test changes * Add details to ObsRsync Project List UI * Provide git log diff from tests in investigation * Ignore selected entries from vars.json files for investigation * t: Use more mojo Mojo::File instead of catfile/copy * Improve test for re-scheduling and marking jobs as incomplete * Improve scalability of job incompletion code * Fix substitution for job_templates schedule list * Refactor JobTemplates code * Improve video player * t: Save execution time in 18-tests-details by disabling wait timeout when expecting 0 needles * t: Add helper methods for selenium tests to disable/enable timeout to save time * Subside stale job detection * Trigger tasks for limiting assets and results/logs hourly ------------------------------------------------------------------- Mon Dec 16 13:05:11 UTC 2019 - coolo@suse.com - Update to version 4.6.1576340016.48aaffc06: * Fix step view for not-available video * Dependency cron 191214 ------------------------------------------------------------------- Sat Dec 14 05:05:10 UTC 2019 - coolo@suse.com - Update to version 4.6.1576249179.0149ff62a: * Add actual error info to cache service availability error * openqa-clone-custom-git-refspec: Fix PR URLs specified with trailing '/' * Add test for openqa-clone-custom-git-refspec * t: Use more concise code in t/42-screenshots.t * Use more conventional variable name '$sth' for raw db calls * Remove "Jump to video" icon from "needle view" when video is unavailable * Prevent massive database errors on screenshot insertion * Use shorter name in CI nightly job * Let nightly job call script/tidy when needed * Update tidy to 20191203 * Return error when creating a job with invalid slash value * Dependency cron 191212000550 * Missing assets should not result in a connection timeout ------------------------------------------------------------------- Wed Dec 11 21:05:14 UTC 2019 - coolo@suse.com - Update to version 4.6.1576080365.3895c9109: * Fix regex and error message for prio * Parser::Format::IPA: Shorten test names * Avoid downloads from GitHub within 14-grutasks.t * Improve asset download * Use human readable size values in cache service logs * Clarify overlap between states CANCELLED and DONE * Improve consistency when dealing with job states/results * openqa-clone-custom-git-refspec: Add support for comma-separated job list * openqa-clone-custom-git-refspec: Fix github token authentication by removing quotes ------------------------------------------------------------------- Mon Dec 09 13:05:01 UTC 2019 - coolo@suse.com - Update to version 4.6.1575799153.4244d44fd: * Dependency cron 191208000552 * Update Mojolicious to 8.27 (#2576) ------------------------------------------------------------------- Sat Dec 07 05:05:02 UTC 2019 - coolo@suse.com - Update to version 4.6.1575653753.ea7f72d9a: * Fix height of embedded logfile * Use the correct new port in cache service monitoring tests * Provide investigation hints for failed jobs on request * templates: Use unicode character for three dots * Include the cache service when generating ports dynamically with OPENQA_BASE_PORT * docs: Replace all references of "TRAVIS" with a generic term or CircleCI * Refactor loop in test overview controller * Improve performance when loading test suite names for overview * Change TEST value to JOB_TEMPLATE_NAME * docs: Move whole .circle CI README into docs/ to include in generated and published content * docs: Focus on openQA-devel for easier test setup * docs: Fix reference to "docker/travis_test" * .circleci: Use common repo aliases * spec: Specify missing "chromedriver" in -devel * Allow monitoring of Minion jobs on every worker * travis_test: Add missing dictionary for os-autoinst ------------------------------------------------------------------- Wed Dec 04 21:05:02 UTC 2019 - coolo@suse.com - Update to version 4.6.1575490596.c17db72e0: * t: Add a description string for each step in 10-jobs.t * Avoid initializing test db twice in schema hook * t: Correct order of arguments for comment counting * Avoid creating 2nd Mojo::Test in details UI test * For the log context feature we require Mojolicious 8.24 or newer * Take all incomplete results into account in overview statistics * Support test suite setting start with plus ------------------------------------------------------------------- Mon Dec 02 13:05:58 UTC 2019 - coolo@suse.com - Update to version 4.6.1575276108.e1e4230d8: * t: Use a hash with default settings for the common "schedule_iso" calls ------------------------------------------------------------------- Sat Nov 30 05:04:47 UTC 2019 - coolo@suse.com - Update to version 4.6.1575043939.ce9ba48fe: * Increase SQLite busy timeout and reduce the number of concurrent SQLite connections * Show log content in test details tab on no module results * Fix asset definition of SVG icon for running jobs * Check generate-documentation if target branch exists * Calculate coverage explicitly in Selenium tests * Improve group property HTML template * travis_test: Add requirements for spellcheck in os-autoinst ------------------------------------------------------------------- Wed Nov 27 21:04:19 UTC 2019 - coolo@suse.com - Update to version 4.6.1574886568.694f13bc7: * Use the cache tmp directory for temporary download files created by the cache service * Use info instead of warn messages (so monitoring does not get triggered) and quote all string values * Allow for very quiet cache service tests * Be a little less verbose with init log messages * Allow from_worker to set attributes as well * Remove redundant error message * Format cache service logs to start with a newline * Improve cache service log messages to help with debugging issues of missing assets * Log all cache service output on both sides (cache service and worker) and fix many small test issues * Handle cache model logging through an attribute * Make resetting locks a little safer with a --reset-locks command line option * Change CI badge in README.asciidoc * Stabilize t/api/14-plugin_obs_rsync_async.t * Reset all leftover Gru locks after restart ------------------------------------------------------------------- Mon Nov 25 13:04:59 UTC 2019 - coolo@suse.com - Update to version 4.6.1574510263.217a2c530: * Bring back 'xorg-x11-fonts' needed for chromium startup ------------------------------------------------------------------- Fri Nov 22 20:21:55 UTC 2019 - coolo@suse.com - Update to version 4.6.1574454088.33c0b7556: * Remove likely unneeded dependency xorg-x11-fonts * Document the relevancy of file modifications for asset cleanup * Make architecture diagram color blind friendly * Fix worker cache in architecture diagram * Dependency cron 191122000544 * Make virtio_console1.log etc. show up as result files * openqa-clone-custom-git-refspec: Add syntax example for git branch * Dependency cron 191121000600 * Hide internal folders in UI * Tweak config of ObsRsyn Plugin * Take directory mtime of assets into account * travis_test: Fix Dockerfile based on tests in OBS * Document typical issues with migration of job groups * t: Hide all output from diag calls in tests * Prevent boilerplate text "$VAR1 =" in dumper output * Stabilize t/api/14-plugin_obs_rsync_async.t * Disable old job group editor admin functionalities in favor of YAML * docs: Describe YAML job templates editor as default with migration script from old * Remove unused option --check in Selenium * Migrate machine separator in dependency settings form ":" to "@" * Remove dead code from isotovideo client * travis_test: Try to fix container on OBS * Tweak markup and styling for step actions within external results * Detect documentation changes more reliably * Add deprecation notice for old job template editor pointing to YAML * Include external reporting template for parsed results too * Allow extra arguments to template loaded with bug_report_actions * Mark 05-scheduler-full.t as unstable due to recent instability * Use CI repo instead of openqabot in build-docs * Change favicon of test details page based on job state/result * Add generated png variants of state/result icons * Makefile: Extend icon generation to new ones with state/result * Add new icons for every interesting state/result * assets: Shift position of logo within frame to have more space * assets: Update logo.svg using new standard dpi as suggested by inkscape * Assume 25-cache-service.t to be stable since #2463 * Assume 15-admin-workers is "stable" since a6dd3fee5 * doc: Reword sentence about alias * Extend range for success status codes in client ------------------------------------------------------------------- Mon Nov 18 13:04:58 UTC 2019 - coolo@suse.com - Update to version 4.6.1574081651.5f93fbf7e: * fetchneedles: Fix missing usage of 'git_update_needles' in 2aadd3e56 * Dependency cron 191118000556 * .circleci: Fix ignored test results of unstable tests within loop * Reduce sleep times in 25-cache-service.t to slightly save testing time * fetchneedles: Try to repair needle git repos on detached HEADs * Ensure the job result is at least lower case (still allowing other than default values) * Dependency cron 191116000537 (#2508) * Add padding to icons on buttons * Hide YAML guide by default, expose via a button * Fix typos in comments * travis_test: Switch to supported Leap base after 42.3 is EOL * Makefile: Add YAML linter checks ------------------------------------------------------------------- Sat Nov 16 05:04:35 UTC 2019 - coolo@suse.com - Update to version 4.6.1573836985.cd1ad569b: * Makefile: Add 'help' target listing available targets * Treat all non-asset "_URL" settings as debug message only, not warning * Provide style check feedback earlier with parallel execution * Correctly format the age in days string * Fix flaky test 'ui/15-admin-workers.t' with proper waiting for popovers * Support configurable patterns for asset cleanup * Update Selenium::Remote::Driver to 1.36 fixing compatibility issues * Update perl-Mojo-IOLoop-ReadWriteProcess and os-autoinst * Straighten out asset clean-up semantics ------------------------------------------------------------------- Wed Nov 13 21:04:12 UTC 2019 - coolo@suse.com - Update to version 4.6.1573674965.36aeff76e: * Allow '@' separator to specify machine dependency * Add more MIME types so test assets do not get served as text/plain * Skip shellcheck on CHECKSTYLE=0 as well (#2476) * Show machine in dependency graph (#2477) * Fix error in nightly doc CI job (#2479) * Fix a bug in the fullstack test where it would not wait for the cache service to actually finish downloading * Document client's form parameter * Fix empty needles dir in openqa-clone-custom-git-refspec * Status updates can be a GET request now * Fix test coverage stats * Let the background jobs take total control of lock handling to reduce the chances of race conditions happening further * Fix copyright year and use a more obvious helper name * An inconsistently used retry without delay is not actually that useful for the cache service client * Significantly reduce the number of HTTP requests required for cache service status and info features * Use less code to do the same * The session token is not really needed, so we replace it with something much easier to understand * Store lock state in Minion instead of memory, removing the single process HTTP server requirement * The client method enqueue should have been targeting "/enqueue" instead of "/execute_task" * Remove some dead code * Dependency cron 191110000608 * Implement an expand feature for job group YAML ------------------------------------------------------------------- Sun Nov 10 22:25:40 UTC 2019 - coolo@suse.com - Update to version 4.6.1573412318.f4760c78f: * Ignore log file created by postgres test setup (#2470) * docs: Add description for 'uncoverage' annotations * Fix flaky coverage by use of uncoverable flag * codecov: Simplify format * Rename docs CI jobs to eliminate warnings * Install python-base in docs CI job * Dependency cron 191108000544 * docs: Mention new os-autoinst feature FORCE_PUBLISH_HDD_ ------------------------------------------------------------------- Fri Nov 08 14:26:56 UTC 2019 - coolo@suse.com - Update to version 4.6.1573206130.f1d227eff: * Preserve GIT_ASKPASS between jobs in CircleCI * Unset PERL5OPT when executing isotovideo * Test/Coverage: Monkeypatch B::Deparse * docs: Clarify that the cache service needs full read permission in CACHEDIRECTORY * docs: Use consistent 'enable --now' parameter on all applicable systemd calls * openqa-bootstrap: Rely on service dependencies instead of explicit starts * Fix bug that cannot update job group using load_template * Fix URLs for needles in subdirectories (POO #58959) * full-stack.t: Add sleep before sending first command * spec: Use more common '>=' rather than '=>' * Remove fedmsg plugin * Makefile: Delete obsolete reference to deleted 'check_coverage' * Fix retry logic in make test * Prevent errors for requests to unknown resources in cache service * setup_workers should be part of the public API * Add controller and another model to cache service and remove some dead code * Turn cache service into a full Mojolicious app * Calculate cache dir size if it is a symlink * Deal with the error message when create/update job group * Updates in CircleCI testing environment * Move cache service into OpenQA::CacheService namespace * Use `croak` in OpenQA::Utils::log_fatal * Only log if test schedule has really changed * Enable regex search in 'Medium types' table * Pass PRJDIR to os-autoinst * OBS: Skip tests which are failing/flaky in OBS * Update spec: os-autoinst >= 4.6 * Update .circleci/autoinst.sha * Use a new file to exchange status with isotovideo * Fix OPENQA_CACHE_DIR environment variable * Remove dead code and make client a little easier to read * Remove circular reference and fix request encapsulation * Push documentation nightly to openqabot fork * Schema Profiler: override print method with log_debug * Do not waste resources to create unnecessary OpenQA::Worker::Cache::Request objects ------------------------------------------------------------------- Thu Oct 24 09:07:31 UTC 2019 - coolo@suse.com - Update to version 4.6.1571860277.da2de85d9: * spec: Fix package tests already failing on database setup * Fix VNC port info for ports > 99 in devel mode * Prevent logging needle problems twice * Provide default filename for needles from the name * Move needle_info() from Utils.pm to Step.pm * Fix missing 'qemu-kvm' in non-x86_64 package tests * Reduce use of project dir to be more flexible regarding custom test runs * Calculate coverage in Circleci in all branches * Move private function used across multiple classes into OpenQA::Utils * Log all installed packages instead of per-repo * Use Mojo::File to list cached files * Dependency cron 191022000544 (#2417) * fetchneedles: Make script fully POSIX sh compatible * fetchneedles: Avoid double-negation in symlink check * client: Fix the default host 'http://localhost' instead of https * There are many cache methods that do not need to be public * Disconnecting a random handle from the cache does nothing * fetchneedles: Save on execution time by skipping over needle dir symlinks ------------------------------------------------------------------- Mon Oct 21 09:50:11 UTC 2019 - coolo@suse.com - Update to version 4.6.1571651389.1516f15e7: * Extend filesystem documentation * Add local apparmor file to spec * Call script instead of bash in ObsRsync Plugin * Remove possibly localized quotes when checking PostgreSQL errors * Add default local apparmor profile ------------------------------------------------------------------- Thu Oct 17 07:52:16 UTC 2019 - coolo@suse.com - Update to version 4.6.1571253176.1a322744e: * PostgreSQL errors can be localized, so just use the name of the unique constraint * worker: Do not treat reconnect attempts as errors but with warning only * Remove wrong error handling code when sending ws messages * Prevent potential deadlocks in scheduler and ws server * Hide old job templates editor for new groups * Handle unique constraint correctly * Add missing resultset for screenshots and make a few small optimizations * Drop -v flag on test runs and avoid noisy job "name" * clone job: Support specifying a port in host URL * Add Dockerfiles from devel:openQA:ci (#2401) * Allow . for job template name/ test suite in schema * Remove openqa_dev from our spec file * Add a docs section elaborating on YAML by way of example * Fix openqa-load-templates example in documentation ------------------------------------------------------------------- Mon Oct 14 09:07:30 UTC 2019 - Stephan Kulow - Reset changes in test subpackages (useless duplication) ------------------------------------------------------------------- Mon Oct 14 09:06:50 UTC 2019 - coolo@suse.com - Update to version 4.6.1570902364.4f271c31: * Accept a list of machines in defaults and job templates * Collect coverage aretifacts in CircleCI * There should be no need to update the flags * Split data creation and update into two methods * Fix cgroup creation * Add unstable tests with retry to circleci * Make job template code for testsuites clearer * Lock test suites/machines/products used in YAML * Add RETRY parameter to test targets in Makefile * Add GLOBIGNORE to Makefile * Add coverage and build.docs to circleci * Add apparmor local overrides * Split off creation/ update of job templates * Dependency cron 191009000530 (#2380) * Recompute worker's broken state after job finished * Add test for refusing 'grab_jobs' when worker broken * Remove dead code from WebSocket server * Fix confusing test names in test for worker's QEMU check * Store test JUnit results for CircleCI * Update reference after saving YAML in editor * Make clickable links if a setting looks like a URL * Too many webui requests take more than a second to be processed, so limiting concurrency is much safer for now * Add note about plugins not to enable on typical production setups * apparmor: Update profile based on current o3 state * Elaborate on differences between table and YAML * Use fork for nightly circleci job (#2365) * Retry limit asset job on key constraint violations during scans * Improve job dependencies documentation * Consider 'not yet' as most recent when sorting running tests by 'Started' (#2369) * Dependency cron 191002000541 * Fix "Sync Now" button in OBS Plugin * Ignore errors loading dashboard if just navigating away * Update filter form label without page-reload * Correctly propagate job template name from YAML * Fix "timeago" rendering on AJAX-enabled dashboard * circleci: Remove whitespace at EOL * Fix publishing documentation via Travis * Don't silently exit doc generation if asciidoctor not available * Retry limit asset job on key constraint violations * Make t/37-limit_assets.t independent of t/14-grutasks.t * Load build results on dashboard via AJAX * Update perl-DBIx-Class-DeploymentHandler dependency to 0.002233 (#2359) * Move stale job detection from ws server to scheduler * Remove obsolete comment regarding offline workers * Rely on t_updated for the worker's online status in the web UI * Prevent failures in feature tour test * Set default check interval for wait_util to 1 second * Enforce same width for nodes in dependency graph * Move test helper embed_server_for_testing to test utilities * Add unit test for test schedule change processing * Avoid race condition if test_order.json changes too often * Reload test_order.json if it changes at test runtime * Refactor job result file path concatenation * Move incompletion logic when worker shows up again to scheduler * Add missing api tests to circleci * Explicitly specify constraint with JobTemplates->find_or_create * Update tidy to 20190915 * Update .circleci/dependencies.txt * Make the version number a simple link to the changelog * Enable nightly circleci dependency job on master (#2343) * spec: Fix missing dependency on IPC::Run in client (#2347) * Tolerate exceptions in OBS api call from ObsRsync plugin * Improve deleting a single asset in WebUI * Prevent loading arbitrary plugins in live view handler * Improve language of locking API documentation * Prevent the ws server to query itself * Clean up resource lock code a little bit * Move helper that had been accidentally placed in OpenQA::Utils to the helper plugin * Enforce consistent order for pending jobs of worker * Add colors for more job results in dependency graph * Use create instead of new/insert (overloads should still be fine) * Include more columns in unique constraint to be more future proof * Do not be lazy and use proper names for variables used more than once * Delete duplicate records before creating the unique constraint * Use a unique constraint to prevent a race condition that could result in the same module being added more than once under heavy load * Don't show nested folders in OBS plugin * Polish UI of OBS plugin * Reuse Mojo::UserAgent in OBS plugin * Don't parse XML with regex in OBS plugin ------------------------------------------------------------------- Wed Sep 18 11:58:58 UTC 2019 - coolo@suse.com - Update to version 4.6.1568795030.c377d780b: * Fix test failures on Leap 15.1 * Fix warning in 24-worker-overall.t * Test scheduler code for assigning multiple jobs to a worker * Sort directly chained children within same parent by test name * Adapt existing tests to adjustments for directly chained dependencies * Assign cluster of directly chained jobs to worker * Show assigned jobs as such under 'All tests' * Enforce consistent WORKER_CLASS when creating directly chained dependencies * Add compution of directly chained job hierarchy * Verify that inserting dependency cycles is prevented * Improve string formatting in scheduler code * Add circleci * Fix formatting of developer mode documentation * Update dep graph desc for START_DIRECTLY_AFTER_TEST * Update documentation for START_DIRECTLY_AFTER_TEST * Ignore SQL deprecate warning when querying job modules that are running ------------------------------------------------------------------- Tue Sep 17 11:09:08 UTC 2019 - coolo@suse.com - Update to version 4.6.1568387059.db88ff48d: * Add Storable dependency * Remove debugging * Create a deepcopy of the settings * Always sort keys to make behaviour reproducible * Demonstrate what's going wrong on staging yaml * Fix duplicate path name * Update YAML guide and schema to explain custom job template names * Publish API schema(s) along with other docs * Fix some issues in the doc markup reported by asciidoc * Always build docs and allow local generation * Fix warning caused by filename getting removed from reused form hashref in Mojo::UserAgent * Cleanup disabled code about 'Sereal' * Non-experimental YAML routes with explicit schema * Revert back to duplicating dependencies in dockerfile (#2315) * Extend the requires of openQA-devel and make them easier to review (#2313) * Implement optional defaults.settings key in YAML * Fix container image to use repository paths (#2310) * Improve test coverage for more background jobs * Increase coverage by allowing Devel::Cover to collect stats for background jobs * Fix printing usage when invoking openqa-clone-job --help * Remove codecov hack that was only added to increase coverage percentage, but does not actually test anything useful * Scenarios can have different settings * docker: Use devel package instead of spelling out duplicate dependencies (#2308) * Cut the test result directory shorter when its length is more than 255 * Support branch url on openqa-clone-custom-git-refspec * docs: Hint to 'openQA-devel' for pulling in dependencies * Delete unused screenshots in separate loop * docs: Render code correctly (#2306) * Allow CodeMirror to render off screen * Show context for REST-API errors to make debugging a little bit easier * Fix artefact upload errors to show the message instead of the hash address * Reduce coverage requirement a bit until we can make Devel::Cover include subprocesses in stats * Don't use 3rd set of names for passing dependencies to JS * Use capitalized names for module-scoped variables * Consider directly chained deps in several places * Support _START_DIRECTLY_AFTER_JOBS * Add dependency type for START_DIRECTLY_AFTER_TEST * Failed isotovideo status checks are fairly harmless, but a log message can be useful for debugging * Since we now expect there to be more subprocesses, there is no reason to log them as unexpected anymore * Do not try to reconnect the WebSocket connection in subprocesses * Make annoying log message debug level instead of info for now * Test API and upload errors * Test asset uploads too * Move artefact upload into a webui connection method so it can be easily mocked for testing * Add more worker upload tests * Fix fake WebSocket transaction to correctly defer callback execution * Improve test coverage of the worker job life cycle * Move all direct uses of Mojo::UserAgent from OpenQA::Worker::Job to client modules * Add new worker tests and an isotovideo client module that can be mocked easily * Perform isotovideo status checks non-blocking too * Try to defer all callbacks correctly to the next reactor tick * Handle exceptions in uploads * Make image uploads non-blocking too * Callbacks cannot be optional in an async application * Update mock worker tests to be able to deal with multiple processes handling uploads * Handle asset and logfile uploads in a subprocess * Split up upload handling into more manageable parts * Reuse t/test_postgresql in container test as well * Harmonize dependencies in cpanfile+openQA.spec * spec: Specify more dependencies needed for local development * spec: Fix test dependencies after os-autoinst removed dependencies * Move codemirror javascript file to javascript label (#2297) * spec: Fix 'devel' package (for real) with proper macro definition * spec: Fix error about python shebang * Fix 'devel' package * docs: Update openSUSE repos using $releasever, priorities, better names * spec: Add 'devel' package * worker job: Add log of second virtio console to upload list * Fix accidentally removed dependency * Add missing apparmor permission (#2285) * Remove shellcheck disable * Modernize bash tests * Fix test that did nothing * Fix argument handling of a function and turn background job into a real plugin * Remove print from test * Avoid using HAVING on ScreenshotLinks * No longer delete job modules one by one * Remove support for old migration * Use IPC::Run instead of IPC::Run::Simple * More code style fixes * Tidy developer mode test * Test assert_screen args with array of needle tags * Code style changes and unit test for current_api_function handling * Increase lock timeouts a bit because some jobs might just need a little more time and the risk or locks not getting cleared at the end is very low (#2280) * Show needle tags for assert_screen/check_screen * Validate tag input field in needleeditor * Render a diff of the job group YAML in preview/ save * Use purple for blocked jobs * Distinguish scheduled and blocked jobs on test result overview * Delete vim footer in files that still have it * Makefile: Allow again to select single test cases with PROVE_ARGS * Preserve QEMU PID file on pool dir cleanup if QEMU still running * Improve tests for triggering pool directory cleanup * Test support for non-ASCII chars in needle JSON only in description * Tweaks according to code review * Handle newline characters in form parameters correctly * Use single gru job * Always include the group property editor * Do not delete assets based on empty size * Remove useless quoting * Check finished job cout in async test * Increase timeout in async test * Remove unconditional sleeps from async test * Add Gru Test with Mock Api Server * Split Folders and Gru controllers * Add Rsync Queue UI * Use Gru for rsync * ObsRsync handle requests asynchronously * job cancel: Explicitly return a number to avoid warning * Fix warning about undefined $testresdir * Fix flaky test t/api/11-bugs.t * scheduler: Fix warnings about undefined variables * Fix rendering of the openqa.cmd * openqa-bootstrap: Fix logic of git clone * Add machine filter in 'Test result overview' * docs: Mention most simple installation instructions and "clone-job" first * docs: Add documentation for immediate bootstrap+clone * docs: Fix internal link * branding: Prevent undefined flavor in external_reporting.html.ep * apparmor: Allow virtio_console based on named PIPE * spec: Split out all dependencies properly per sub-package * apparmor: Allow loading of client.conf in usual home of geekotest * apparmor: Allow loading override templates in /etc/openqa/templates/ * branding: Prevent warnings about undefined $distri in external_reporting.html.ep * Test worker behavior if _upload_log_file fails * Improve needle editor test * Change iso scheduling behavior to not obsolete older jobs anymore * Improve calculating preferred machine * Fix error when saving needle JSON with non-ASCII characters * Modify workaround property to support adding reason * Fix 30-test_parser.t warnings * Remove exported functions from OpenQA::File and stop using private methods as part of the public API * docs: Fix explanation for masquerading which is needed on all involved zones * docs: Simplify firewalld commands by using the runtime variants * docs: Make the current "firewalld" approach more prominent than old SuSEfirewall2 * Fix PROVE_ARGS in spec file * docs: Remove obsolete section about "wicked < 0.6.23" * load_templates: fix --clean and reading perl templates * Do not handle arguments in reverse and move OpenQA::Files class into a proper package * Make worker retry-delay configurable * Test retry behavior of worker * Extend retry delay of worker to 60 seconds if web UI busy * Adapt codecov target to current coverage of 85% * Allow * placeholders in product names * docs: Fix marking for 2nd level list about "wicked pros" * Prevent over-escaping of bug titles in test result overview * Adjust web socket server test * Avoid 'return;' in web socket code * Fix sending web socket message when job not exists * Improve transaction handling in web socket server * AMQP: allow no message prefix * Fix '--no-cleanup' on worker start regression * Remove OpenQA::Schema::Result::Jobs::set_scheduling_worker * Replace Text::Markdown and HTML::Restrict with CommonMark for much better comment rendering speed and security * Adding a new parameter to support not schedule parent test suite * Timeout for wait_for_ajax * Let prove handle @INC for us * Expose saving and hiding of the legacy editor in the UI * Scrub dangerous HTML from comments * Abstract out markdown handling into a new class * worker: Consider ws disconnects as uncritical during job execution * Fix worker crash when sending job ID * YAML: don't merge scenarios with multiple machines with defaults * Add dependency on CommonMark, which will soon replace Text::Markdown for a 1000% performance increase (#2228) * Ignore cpu_modelname in worker test * Let worker pass current job ID on re-registration * Allow worker to pass its current job on registration * Improve test for checking job status and output * Improve error message when rejecting status update * Add YAML support to {dump,load}_templates * Add systemd timer to trigger daily audit event cleanup * Delete old audit events according to configured storage duration * AMQP: don't encode message body to JSON before publishing * Handle reusing existing connection in devel fullstack test * Improve documentation about running test of openQA itself * Timeout for wait_for_developer_console_contains_log_message * Override default exception handler in extra daemons * Fix default route of live handler to prevent template errors * Docs for the job group editor and YAML REST * AMQP: allow passing headers to publish_amqp * Add note about openQA's CLI interface * openqa-bootstrap: Fix lookup of configure-web-proxy * Improve rendering summary in test result overview * t/api/03-auth.t: don't actually wipe asset files from disk * Mojo::Pg 4.14 requires the "delete $dbh->{private_...}" feature from DBI 1.632 * Log errors when reading worker config * Add type/additionalProperties to products spec * spec: Fix SLE12 build with patched out python subpackage * Start a documentation section on how to build openQA plugins * templates: Update references to documentation in help texts * docs: Update references to target versions in our issue tracker * Document adding new dependencies * Improve doc section about starting webserver from Git * Move testing with production data to database section * Improve documentation about OPENQA_BASEDIR * Replay cmds in devel mode console only if connected to os-autoinst * Make sure all four levels of API access have named routes for plugins and tests * Add undef to return * Prevent cleaning pool directory in worker availability check * Add helper script 'openqa-label-all' * Set log for failing to stop cmd srv to info level * Do not fail fullstack test when connection closed * Split api request to own route * Extend unit tests for OpenQA::Worker * Do not stop current job twice when stopping during setup * Remove unused function from worker * Remove check for cpu_opmode from worker test * Stop job directly with reason 'api-failure' on API failures * Give the API authentication routes plugins will use names and test them * Log sent commands in the developer console as well * Replay commands send though developer console while offline * Add put method with disabled test * Fix test doing an equality check on an exception instead of a regular expression comparison * Fix html * Adapt codecov target to current coverage * Small tweaks * Default to HTTPS instead of HTTP with openqa-client * Add Operator menu item * Remove duplicate use * Small CR adjustment * Make routes restricted * Add ObsRsync plugin * Expand Machine and Medium Type settings when creating job with 'jobs post' When users created jobs using 'client jobs post', the jobs settings did not expand Machine and Medium Type settings. This PR is used to support to expand settings from Machine and Medium Type when creating jobs with 'jobs post'. * .travis.yml: Save travis CI some testing time * Add Test::More based error handler to SeleniumTest ------------------------------------------------------------------- Mon Jul 15 16:24:19 UTC 2019 - coolo@suse.com - Update to version 4.6.1563206570.e00d3964: * Make the websocket server tests less noisy * docker: Add back 'Test::Compile' as needed for os-autoinst * spec: Fix invalid '%perl' introduced with 3aadc34c * Test handling worker job status changes * Fix passing --no-cleanup worker CLI option * fetchneedles: Use subshells efficiently for dir changes * fetchneedles: Fix indention * fetchneedles: Prevent noisy output about auto-packing git repos * Ensure query in jobs API does not become too big * Remove group name from job templates example * Adapt order of job template example * Remove dead auth tests from a DBus refactoring 4 years ago * Give the authentication routes plugins will use names and test them * Improve and simplify compile check * Add Test::Strict to Docker container * Allow plugins to add links to the menu * Allow any suffix for TAP source files * .travis.yml: Make documentation generation an explicit job, only on master * .travis.yml: Give readable names to test jobs * .travis.yml: Put handling of cache dir together * Extend filter for new/updated admin table rows * Make log messages of worker tests less verbose * generate-documentation: Fix wrong script path introduced by 81df2fd * docs: Fix quotes and apostrophes for asciidoctor/github style * .travis.yml: Workaround flaky tests with 'travis_test' * Test kvm module, only if it is not built-in * Make containers non-x86 archs friendly and update to leap 15.1 * Remove another useless prototype and an unused function from OpenQA::Utils * Remove obsolete prototypes * Polish worker code * travis_test: Fix typo in 'python3-future' * Explicitly specify perl module 'Module::Pluggable' to fix warning * openqa-clone-job: Improve handling --from parameter * README: Clarify how releases are made * Adjust testrules.yml to changed worker tests * Post upload progress after ignoring known images * Remove dead code for handling known images * Improve formatting of comments for WebUIConnection attributes * Remove leftovers from interactive mode * Fix reporting number of images to send to liveview handler * Allow stopping worker during job setup * Rename OpenQA::Worker::Client to OpenQA::Worker::WebUIConnection * Improve use of attributes in worker code * Log specific message if ignoring job while already busy * Enable verbose option in compile check * Restructure worker * travis_test: Add dependencies for 'python-scripts' * Add YAML diff to jobtemplate_create events ------------------------------------------------------------------- Sat Jul 06 18:34:37 UTC 2019 - coolo@suse.com - Update to version 4.6.1562333920.03805636: * openqa-bootstrap-container: Fix package list passed as single string * Add Text::Diff dependency to spec and Dockerfile * Fix handling of unknown workers in the websocket server * Activate strictures in tests as soon as possible * openqa-clone-job: Add support for full test URLs * tidy: Apply to all regular perl modules and scripts * worker: Improve log messages, e.g. avoid contractions * worker: Do not use bare returns * docs: Point to wrapper client-script for shorter path * docs: Replace the confusing table of triplets with a simple scenario list * docs: Revamp the "job templates" section * docs: Combine "asset cleanup" with "asset handling" * docs: Stress older versions of Leap less * docs: Better classify the different installation methods * docs: Clarify job groups display on index page * docs: Ensure "Installation & Users guide" are prominently featured in "Getting Started" * docs: Include all feature descriptions from wiki * docs: Also explain "medium types" directly in the glossary * Delete unused helper "limit_previous_link" * t: Fix warning in full-stack.t * t: Output isotovideo log files in case of incomplete jobs within the full stack test * t: Delete superfluous setting delete * docs: Add hint how to get coverage for individual tests * Do not trigger test cleanup code from forked processes * Always use spaces in CodeMirror editor * fetchneedles: Go back to old, quiet mode * t: Fix warning in full-stack.t * t: Delete superfluous setting delete * docs: Add hint how to get coverage for individual tests * Move 'create_worker' method to single place where used * client: Prevent warnings when receiving no HTML status code at all * Add package self-test for worker as well * Add make target "test-with-database" for easier test database setup * t: Fix typo in testrules.yml * Makefile: Use explicit target name for non-travis specifics * Lock test suites in YAML-based groups for manual updates and deletion ------------------------------------------------------------------- Wed Jul 03 14:34:58 UTC 2019 - coolo@suse.com - Update to version 4.6.1562157181.8465317e: * Fix tests that were assuming Test::Mojo methods had special return values * script: Fix shellcheck issues with old shellcheck version * Fix shellcheck warnings on docker/openqa/entrypoint.sh * travis_test: Use consistent spaces instead of tabs * Make all shell scripts pass default level (style) of shellcheck * Make all shell scripts pass 'warning' level of shellcheck * fetchneedles: Use consistent spaces style * Makefile: Add test for shell scripts using "shellcheck" * openqa-clone-custom-git-refspec: Include further suggestions by shellcheck * openqa-clone-custom-git-refspec: Fix use of "-n" on GITHUB_TOKEN * Trim whitespace characters from both ends of string * Add script for simple setup of a single instance * Revert to usual wording "distri" in YAML schedules ------------------------------------------------------------------- Mon Jul 01 06:01:32 UTC 2019 - coolo@suse.com - Update to version 4.6.1561959871.3b6d67be: * Fix deletion of scripts during install * travis_test: Ensure shellcheck is installed as part of dependencies (#2136) * Strip unnecessary extension from scripts (#2138) * Integrate clone-job into bootstrap ------------------------------------------------------------------- Tue Jun 25 07:23:01 UTC 2019 - coolo@suse.com - Update to version 4.6.1561118372.b9b694d3: * Move websocket server helpers to the model * Prevent blank line in worker caching output * Fix missing dependency in package buildtime tests as well * Rename architectures to scenarios * Defer loading the schema in OpenQA::Schema::Profiler, so the worker does not trigger a migration * Fix missing runtime dependency on "DBIx::Class::DeploymentHandler" * apparmor: Allow unzip-plain to fix worker startup ------------------------------------------------------------------- Wed Jun 19 07:54:35 UTC 2019 - coolo@suse.com - Update to version 4.6.1560873517.08f60a7b: * Calculate elapsed time more correctly * Add some documentation for OpenQA::Schema::Profiler * Refactor DBIx::Class profiler to use current openQA best practices * Remove dead code and move rng functions still in use to OpenQA::Utils * docs: Fix shell code box rendering with line break * Support storing YAML job templates in the database * docs: Improve language of Networking document * docs: Consistently use QEMU, the offical way of writing ------------------------------------------------------------------- Sun Jun 16 23:54:22 UTC 2019 - coolo@suse.com - Update to version 4.6.1560549641.c09044ae: * docs: No need to start openqa-gru explicitly * Add support for OPENQA_BASE_PORT environment variable ------------------------------------------------------------------- Fri Jun 14 15:54:02 UTC 2019 - coolo@suse.com - Update to version 4.6.1560497112.f26a0400: * Don't take the full cluster as possibly blocked (#2109) * Make localhost authentication more testable * Treat IPv4 and IPv6 the same for local host authentication * Blocked by calculation: Fix cyclic behaviour (#2104) * Fix travis cache permissions for docker user * Fix a problem where an Mojo::RabbitMQ::Client::Publisher instance goes out of scope too early (#2107) ------------------------------------------------------------------- Tue Jun 11 18:22:27 UTC 2019 - coolo@suse.com - Update to version 4.6.1560026218.807c3c09: * Update MM setup documentation * Test the scheduler API * Cache: Fix missing download progress output and warning * Provide the script `openqa-clone-job` already in source * Remove dead code from OpenQA.pm * Remove imports that are no longer needed * Remove all remaining traces of D-Bus * Share authentication controller between websocket server and scheduler * Remove old script that had been broken for quite some time (and was therefore probably not used anymore) * Turn scheduler core into a model class * Replace D-Bus with HTTP * Remove imports that are no longer needed * Add a scheduler client * Update architecture diagram ------------------------------------------------------------------- Wed Jun 05 14:36:54 UTC 2019 - coolo@suse.com - Update to version 4.6.1559744346.36d65edf: * docs: Add note how to fix broken CSS * Remove tidy from spec file * Use the latest version of perltidy * Improve tests for admin tables * spec: Fix Perl::Tidy mismatch in build tests * Follow updated admin table rows * Clear admin table filter before adding new row * apparmor: Fix worker startup on openSUSE Leap 15.1 * Don't log jobtemplate_create event if in preview mode * docs: Harmonize use of no colon in titles ------------------------------------------------------------------- Fri May 31 18:17:47 UTC 2019 - coolo@suse.com - Update to version 4.6.1559047081.8050f3f0: * Fix filtering settings in admin tables * Document latest/scope{relevant,current}/limit in jobs ------------------------------------------------------------------- Wed May 22 14:34:05 UTC 2019 - coolo@suse.com - Update to version 4.6.1558532409.ab91f319: * Install qemu-uefi-aarch64 on aarch64 in bootstrap * Use less noisy perl style for $comment->label * Prevent accessing comment label without check for undef * Ensure that module names are escaped * List remaining failed modules on mouseover * Allow listing bugs by the time of reporting * Require YAML::XS >= 0.67 ------------------------------------------------------------------- Mon May 20 07:41:15 UTC 2019 - coolo@suse.com - Update to version 4.6.1558084113.18c6f052: * Revert "Improve code for settings expansion" * Update documentation about job scheduling * Add job template settings when scheduling new jobs * Show job template parameter via regular REST API * Allow YAML import/export of job template settings * Support scaling MAX_JOB_TIME * Add job template settings table * Add test for saving needles via Git * Validate properties of OpenQA::Git before using them * Fix comparision of cluster ID for dependency graph (#2068) * Set user correctly in OpenQA::Git instantiation ------------------------------------------------------------------- Mon May 13 12:07:50 UTC 2019 - coolo@suse.com - Update to version 4.6.1557739992.f9fbeb06: * Avoid leaking GITHUB_TOKEN * Skip UEFI_PFLASH_VARS asset when UEFI is disabled * Add an own result jobs which exceeded the timeout * Split off git support into its own class * Adapt 13-admin.t to the new sorting-enabled tables * Fix remaining jshint warnings in admintable.js * Adjust sorting of admin tables so empty strings come last * Improve styling of help icon beside search box * Improve regex-enabled search of admin tables * Tweak sorting and filtering in admin data tables * Remove admin table code for column type settings * Make admin tables use DataTables correctly * Improve code for settings expansion * Move job settings expansion to its own module * Use CodeMirror with YAML editor * Inherit specified settings when create job with 'Jobs post' * Show an error message in the editor if the group changed * Clean up 08-jobtemplates.t * Do not add new testsuites when importing job templates * Add YAML-based template editor UI * Add non-trivial test suites to exercise YAML validation * Import of job template specification from YAML * Support click_point in needle editor controller code * Fix issues reported by jshint in shapes.js * Test adding/removing a click point * Allow only one click point per needle * Allow adding click coordinates in the needle editor * Improve JSON parse errors in openqa-clone-custom-git-refspec * Retry after rsync exits with status 24 * Add non-fatal messages during scheduling to results * Allow authenticated calls to the github api * Remove deprecated qemu-kvm and use qemu-arm, qemu-ppc and qemu-x86 instead * apparmor: rk permission on hdd contents ------------------------------------------------------------------- Wed Apr 17 14:34:07 UTC 2019 - coolo@suse.com - Update to version 4.6.1555478309.f6dfdd9b: * Clone only the latest revision of the SLE needles (#2048) * Revert "openQA.spec: multiline macros for services and dependencies" (#2051) * Update architecture diagram in accordance with PR 2043 * Fix the remaining issues of deleting workers * Get rid of a few warnings that make test results on Travis hard to read * Be a little more strict about WebSocket server response codes * There should be no need for AssetPack in the websocket server * Trust connections from localhost to the websocket server to avoid complex config file requirements * The websocket server is no longer a dbus service * Clean up tests and remove a few connection warnings * The websocket server is no longer a dbus service * Move ws_send from dbus to HTTP * Move ws_send_job from dbus to HTTP * Remove ws_send_all dbus function, which was actually unused * Remove first dbus function from the websocket server * Add an HTTP API to the websocket server * Don't return status 402 on worker deletion failure * Fix indentation in admin_worker.js * Make OpenQA::Events::emit_event a non-static member function * Update AppArmor profile for usrMerge (boo#1132350) * Add cacheservice as part of openqa-worker.target * openQA.spec: multiline macros for services and dependencies ------------------------------------------------------------------- Sun Apr 14 17:57:10 UTC 2019 - coolo@suse.com - Update to version 4.6.1554809752.3a77164a: * Fix mock session logins to use only public Mojolicious APIs and create users with a proper resultset * Prevent multiple limit_* tasks from running in parallel * Allow deleting offline workers via API and web UI * Don't duplicate settings in iso_create/cancel events * Adapt product log test * Add test for re-scheduling product * Migrate 'iso_create' events to scheduled products * Show scheduled products from new table in UI * Test async flag for iso post route * Move constants for job dependencies to their own file * Add API route to query scheduled product * Add async flag to ISO post route and table to keep track * Cleanup scheduling functions ------------------------------------------------------------------- Sun Mar 31 17:49:35 UTC 2019 - coolo@suse.com - Update to version 4.6.1553599469.57d6b3ca: * Properly escape bug titles * YAML output for job templates and schema validation (#1999) * Make the websocket server testable as a normal Mojolicious application * Add a model class to store worker state * Move more functions into helpers * Move dbus functions into helpers * Add controllers to the websocket server application * Install test distri deps on bootstrap * Turn websocket server into a real Mojolicious app * Use Mojo::Promise in enqueue_and_keep_track * docker: Add IO::Scalar dependency * doc: Reflect renaming virtio_screen.pm to serial_screen.pm * worker: Upload serial_terminal.txt for svirt backend * Unify schema access in OpenQA::WebAPI and fix the issue where the db helper was called on the application * Use result_p to track Minion job instead of timers * Improve logging non-scalar error info of GRU/Minion tasks * Extract common code for saving and deleting needles * Fix test for dependency graph * Don't let needle-related tasks fail if the cause is uncritical * Make needle deletion a Minion job * Setting to not cancel parallel parents with still-pending children * Add hints to fix dependencies when using devel ------------------------------------------------------------------- Fri Mar 15 05:22:32 UTC 2019 - coolo@suse.com - Update to version 4.6.1552567428.80082fe5: * Test create and delete events for job templates * Unify schema access with a singleton method * Use route placeholder types whenever possible for cleaner routes * Add link to relevant documentation in the job group settings * Cache result of OpenQA::..::JobGroup::load_properties * Allow disabling bug carry over on job group level * Remove dead validation code and replace it with route placeholder types * Pass affected_rows correctly in openqa_jobtemplate_create ------------------------------------------------------------------- Tue Mar 12 21:22:25 UTC 2019 - coolo@suse.com - Update to version 4.6.1552406543.b3e49dcb: * Remove check for $OpenQA::Utils::app * Move get_bug from Result::Bugs to ResultSet::Bugs * Add bug to db already on comment create or update * Add support for links to jira tickets * Rename tmp_schema to search_path_for_tests, which is a little more descriptive * Allow monitoring of Gru/Minion with a new public /admin/influxdb/minion API endpoint * Log job group events via audit log * Make openqa-webui.service depend on openqa-gru.service ------------------------------------------------------------------- Sun Mar 10 13:22:04 UTC 2019 - coolo@suse.com - Update to version 4.6.1552078716.6b292c9a: * Test deleting job from worker's job history * Move another class into its own .pm file and do not use private functions/methods across modules/classes anymore * Remove all uses of the enterprise operator and use a more consistent coding style in the affected classes * Add loading indication when saving needle ------------------------------------------------------------------- Fri Mar 08 05:22:22 UTC 2019 - coolo@suse.com - Update to version 4.6.1551963862.0a6b30be: * Prevent deletion of worker when deleting its current job * Prevent broken rendering of unknown result types * Add unxz/xz to apparmor profile to fix poo#48743 * Don't hardcode remote and branch names for saving needles ------------------------------------------------------------------- Tue Mar 05 21:22:30 UTC 2019 - coolo@suse.com - Update to version 4.6.1551797932.a5aadf24: * Remove safe_call from OpenQA::Utils since it is no longer needed * Cover more Gru special cases with tests * Remove resource allocator from architecture diagram * Mention the possible race condition in a comment * Bypass Gru special cases for non-Gru tasks * Use a completely new task for testing so we can replicate more edge cases in the future * Be a little more defensive with removing Gru tasks * Allow pure Minion jobs (without a Gru id) to bypass special case handling * Do not delete Gru tasks if they are not finished in Minion yet ------------------------------------------------------------------- Sat Mar 02 17:37:11 UTC 2019 - coolo@suse.com - Update to version 4.6.1551454083.e27d66d8: * Extend apparmor profile for all Git commands we use * Correct limit_assets task arguments * Allow test vars for openqa-clone-custom-git-refs * Fix updating needle Git repository * Fix uniform box widths of dependency graph in current Firefox * Move JSON::Validator and YAML::XS to t_requires * Drop the `cpanfile` changes * Add YAML::XS and JSON::Validator dependencies * worker: Skip announcing stop if isotovideo already exited * worker: Fix "final status update" * worker: Refactor _stop_job_kill_and_upload * worker: Remove extra handling for dead children * worker: Make API calls when stopping job non-critical * worker: Treat upload failures as API failures * Raise an exception if deploying the SQLite database fails and handle an existing database more gracefully * Do not reset the job queue every time the cache service is restarted * Test cache service migrations * Use Mojo::SQLite migrations to handle schema upgrades in the cache service gracefully * Remove unused imports and IPC objects * Remove the resource allocator * Move barrier handling out of the resource allocator * Move mutex handling out of the resource allocator * Remove first dbus method and use OpenQA::Schema directly * Declare the DBIx::Class dependency properly * Move OpenQA::Resource::Jobs handling from the resource allocator to the webapi ------------------------------------------------------------------- Tue Feb 26 21:22:42 UTC 2019 - coolo@suse.com - Update to version 4.6.1551101052.7f891940: * Use well-defined worker config for fullstack test(s) * Adapt tests to default WORKER_CLASS * Assign default WORKER_CLASS when posting job * Assign default WORKER_CLASS when scheduling ISO ------------------------------------------------------------------- Sat Feb 23 17:39:53 UTC 2019 - coolo@suse.com - Update to version 4.6.1550673294.3fb7464e: * worker: Log error returned by JSON API * Render error in all cases in create_artefact ------------------------------------------------------------------- Tue Feb 19 14:11:16 UTC 2019 - coolo@suse.com - Update to version 4.6.1550584043.5098c32d: * Log isotovideo startup more detailed ------------------------------------------------------------------- Tue Feb 12 21:22:24 UTC 2019 - coolo@suse.com - Update to version 4.6.1549966436.c3938033: * Revert support for ASSET_\d+_URL * openqa-clone-custom-git-refspec: make use of GROUP var * Improve error handling when changing priority ------------------------------------------------------------------- Sun Feb 10 13:22:09 UTC 2019 - coolo@suse.com - Update to version 4.6.1549799415.315b994a: * Fix modules filter wrong results while using comma * Show bug reporting links also on text results * Prevent download tasks for the same asset running in parallel * Improve Minion error handling when saving needle * Allow to run Minion jobs in UI tests * Migrate intermediate database changes * Don't use might_have relationship for job scenario * Show externally skipped module count in resultstats * Use same style for needle editor warnings as for regular flash messages * Save needles via Minion * Format Git errors more nicely when committing needle * Rebase needle directory before commiting changes * Use commit_git_return_error in Step.pm to propagate error * Skip result skipped on calculate overall result ------------------------------------------------------------------- Tue Feb 05 15:29:17 UTC 2019 - coolo@suse.com - Update to version 4.6.1549379724.2b90641c: * Split configured hosts by whitespace * stopping job: Proceed on errors during announcement * Let devel mode fullstack test also pass on state cancelled * stopping job: Change order of POST requests * Prevent error about cmd srv connection when test ends * Make code for engine startup more clear * Add architecture diagram ------------------------------------------------------------------- Sun Feb 03 07:29:14 UTC 2019 - coolo@suse.com - Update to version 4.6.1549026855.08485c7c: * Remove SQL files for 2017 * Update serial terminal function (#1982) * Remove image migration jobs that were only used for very old migrations * Lift the parallel job limit for the gru worker and add more fine grained limits to individual tasks ------------------------------------------------------------------- Thu Jan 31 12:36:58 UTC 2019 - coolo@suse.com - Update to version 4.6.1548936964.47070d70: * spec: Fix missing mention of 'openqa-clone-custom-git-refspec' in script/ * Add test check for scenario within error reporting * docs: Add documentation for triggering jobs based on any git refspec * Add script 'openqa-clone-custom-git-refspec' * Consider parent group comments for important builds * Cache result of function call * Add scenario description to infopanel of test * Fix typo in reference to DeveloperSessions * Fix another regression from c9735699 when no sync is needed * apparmor: Fix access to git templates * Switch to four spaces as requested, modify error ignoring * Fix flaky test regarding needle update * Improve error handling in worker cache /status route * openqa-bootstrap-container: do more error checking, fix a hang ------------------------------------------------------------------- Sat Jan 26 02:08:43 UTC 2019 - coolo@suse.com - Update to version 4.6.1548420629.e8e80a4b: * Fix regression of test caching failing introduced by c9735699 * worker: Fix two perl warnings ------------------------------------------------------------------- Wed Jan 23 17:22:28 UTC 2019 - coolo@suse.com - Update to version 4.6.1548078204.c9f60161: * Use nicer syntax for default vars * Add (carried over) bugref to job.done AMQP event ------------------------------------------------------------------- Fri Jan 18 17:28:35 UTC 2019 - coolo@suse.com - Update to version 4.6.1547830304.62f9aaaa: * Allow overwriting container bootstrap repo * Remove Failed modules filter from UI * Add UI tests for filter by module * Add search by module in all jobs of job group * Prevent github to think we have perl6 code * Better check for existing DBs in bootstrap * bootstrap: make errors fatal and deal with re-runs * apparmor: Further fixes for custom git clones * Fix external reporting if scenario description not present * Improve code for scenario description and add test * Add test suite description for bug reporting * apparmor: Fix custom git repo clone "env" denied * clone_job: Add convenience option '--within-instance' * Also set assigned jobs to parallel_failed (#1951) * Fix a few issues reported by jshint * Prevent the live log from becoming too long * Handle undefined `$text` in `find_bugref` and `find_bugrefs` * Wrap text in live log so long lines are readable * Allow custom CASEDIR/PRODUCTDIR/ASSETDIR ------------------------------------------------------------------- Thu Jan 10 10:08:18 UTC 2019 - coolo@suse.com - Update to version 4.6.1547114886.81dabdea: * 21-needles.t: Use `discard_changes` instead of re-calling `find` * Add bootstrap hint for Leap 15.0 * Fix "Can't locate object method new via package JSON" introduced by 95cb6601 * Check for correct perltidy version on execution * Fix if condition and leap repo prios for bootstrap * Improve a few details in worker code * worker: Improve handling API failures * Handle unexpected errors on status update more nicely * worker: Fix handling errors caused by connection issues with web UI * Show currently executed function in developer mode * Allow to pause on the next command ------------------------------------------------------------------- Sat Dec 22 13:41:18 UTC 2018 - coolo@suse.com - Update to version 4.6.1545406149.53968c1e: * Activate strict and warnings for all tests and do not use indirect object syntax * Add tool to bootstrap openQA with only one command * Fix comments and reference the usage messages of the minion job/worker commands in usage messages * Test setting last needle update * Add examples for run and list commands * Add Minion tests and make the run command a subclass of the worker command * Use better variable names in t/21-needles.t * Prevent wrong 'New needle ...' notifications in needle editor * Rename Docker-related targets and scripts * Improve documentation about running tests without Docker * Remove obsolete docker/testing * Improve documentation regarding Docker * Use --oneshot to make it more obvious what is happening * Improve job restart * Allow submitting margin and match level via return key * Hide tooltips when hiding developer mode elements * Remove 'Cancel job' button from developer mode * Reuse many more parts of Minion for Gru * Add a new OpenQA::WebAPI::Command namespace so there is no need for hidden classes in plugins ------------------------------------------------------------------- Thu Dec 20 05:41:42 UTC 2018 - coolo@suse.com - Update to version 4.6.1545230885.56b79eeb: * Use OPENQA_TEST_IPC mock in 37-limit_assets.t (#1935) * Reformat with new perltidy version * Adjust comment for pauseOnScreenMismatch * Allow test in devel mode fullstack test to pass * Remove 'Error from livehandler daemon' prefix * devel mode: Test version check * devel mode: Check whether os-autoinst is compatible * devel mode: Allow to pause on check_screen timeout * Improve and fix asset caching doc * Fix typos * Makefile: Prevent docker "build" and "run" to run in parallel * Add basic documentation for OpenQA::Events ------------------------------------------------------------------- Mon Dec 17 13:44:07 UTC 2018 - coolo@suse.com - Update to version 4.6.1545054233.21210ce3: * Use a fixed version of perltidy * Prevent 'Summary of HASH(...)' if multiple distris/versions specified * .travis.yml: Delete not necessary stage overrides * docs: Make commands to call more prominent with backticks * Makefile: Delete unused target docker-test-travis * Do not set the MOJO_LOG_LEVEL environment variable by default for more granular logging * Reformat everything for the latest version of perltidy * Support filtering by test in group overview again * worker: Validate job sent by web UI "job_grab" * Use localized signal handling instead of global sigtrap for modules * Set transaction isolation level for asset cleanup accordingly * asset cleanup: Check whether $res_max_job is set before comparing * Fix copyright year * Add license to new module * Move memory limit handling into a plugin * Move all global events to OpenQA::Events * Add OpenQA::Events module to replace random events being added to Mojo classes * Improve documentation for schedule control * Extend and improve asset documentation * Don't treat UEFI_PFLASH_VARS as asset if path is absolute ------------------------------------------------------------------- Thu Dec 13 05:40:52 UTC 2018 - coolo@suse.com - Update to version 4.6.1544609268.19a4cf68: * Fix test for popovers in 15-admin-workers.t for real * Improve "Refusing 'grab_job'" debug message * Test worker broken state * Add 'broken' state to the worker * Prevent worker to accept jobs if caching not available * Update specfile line for restarting apparmor ------------------------------------------------------------------- Tue Dec 11 07:06:36 UTC 2018 - coolo@suse.com - Update to version 4.6.1544510066.913d8f26: * Update license of test spec-file to current SPDX format (#1915) * Use the boring standard return value for all Perl modules * Merge hashes properly * Test handling of assets with invalid name * Prevent registering empty assets * Skip cleanup of assets with empty name ------------------------------------------------------------------- Fri Dec 07 09:40:53 UTC 2018 - coolo@suse.com - Update to version 4.6.1544166689.47296c23: * Disable INSTALL_FROM_CPAN by default (#1863) * Don't leave a limit_assets task hanging after 14-grutasks.t (#1882) * Do not require perlcritic on sle-12 (#1910) * When detecting asset keys, don't use the _URL form for ASSET (#1907) * Add Perl::Critic::Freenode to the test container (#1906) * Fix devel fullstack mode test * Make devel fullstack test more verbose * openQA.spec: Add missing runtime requirement for client (#1905) * doc: Mention select_serial_terminal() in serial terminal doc * Test rendering external table * Don't show categories in table for external results * Add filter for external results table * Use circle to display results in external table * Add separate table for external results from parser * Move logic for test detail steps from view into controller * Fedmsg: use Python 3 logger command * Extend documentation on the developer mode panel * Add WORKER_HOSTNAME to workers.ini template * Document re-needling workflow ------------------------------------------------------------------- Mon Dec 03 10:10:38 UTC 2018 - coolo@suse.com - Update to version 4.6.1543830229.359b5dd9: * Add Perl::Critic::Freenode to openQA.spec * Use Perl::Critic::Freenode to determine good coding style * Make all modules pass Perl::Critic::Freenode with severity level 4 (stern) * Activate strict and warnings consistently for all modules * Fix network dependency for cache service * Remove DEBUG and LOGDIR environment variables and change cache services to use the test mode * Test skipping timeout in developer fullstack test * devel fullstack test: Don't fail if renamed needles already there * devel mode: Allow to skip assert/check_screen timeout * Remove srand workaround that does nothing anymore since Mojolicious 5.76 (2015) ------------------------------------------------------------------- Wed Nov 28 11:53:44 UTC 2018 - coolo@suse.com - Update to version 4.6.1543400978.50e006bc: * Fix worker-cacheservice failing on startup due to no network * docs: Extend development tricks with dynamic test override * Fix typo in installation documentation * Replace Mojolicious::Commands with Mojo::Server::Daemon in test modules, make sure all test modules use strict, and fix a few issues caused by not using strict before * Restart openqa-worker-cacheservice on failure * Allow caching of externally downloaded assets ------------------------------------------------------------------- Mon Nov 26 21:40:33 UTC 2018 - coolo@suse.com - Update to version 4.6.1543249675.02bb8eff: * Exit worker with non-zero return code in error cases * Do not import from_json, there is already an inherited method with the same name * Add comments to point at Mojo::JSON being used to set up booleans * Debug 25-cache-service.t * Make perltidy happy * Convert a few cases back to Cpanel::JSON::XS that require special configurations (mostly for tests, but there might be underlying protocol requirements too) * Document steps to debug developer mode setup * Convert most uses of Cpanel::JSON::XS to Mojo::JSON, which will take care of using an optimized encoder and avoiding boolean warnings * Use fixed header for test result overview table * Check for JavaScript errors while waiting for result panel * Prevent selenium test to accidentally click on the VNC notice * Move note about VNC into developer panel * Update existing unique flash messages * Expand devel controls by default if paused and owning the session (#1880) * Add rsync BuildRequires and Recommends to RPM spec (#1881) * Add a new is_admin_js helper to generate JavaScript booleans for use in templates * Add a test for browsing the admin pages in readonly mode * Use OPENQA_TEST_IPC in developer mode unit test (#1868) * Add test to check link for entire build * Add link to test results for multiple job grops * Call _reschedule after schedule concluded * Remove unused variable $force in _reschedule() * Fix comment in scheduler code * Fix various uses of the is_admin helper in templates to generate JavaScript that resulted in empty lists, because the helper returns a Perl boolean value instead of a JavaScript boolean * Revert "Fix deprecation warnings regarding Mojo::Transaction::error" * Fix line break in failed module box * Fix formatting * Fix deprecation warnings regarding Mojo::Transaction::error * Combine multiple distri/version/flavor/build filter with logical or * Fix filter for architecture * Upload video timestamp file when it exists (#1873) * Fix formatting * Use Mojo::File::slurp in check_tabmode * Improve error handling of Step controller * Handle `app` and `tx` attributes of Controller being weakened * Do not check group name by dragging group * Minor fixes for WritingTests doc (#1865) * Add 2 new dependencies to the travis container: (#1864) * Update all uses of Mojo::Transaction::success to their Mojolicious 8.06 equivalent * Fix a few new uses of tempdir * Fix various incorrect uses of Mojo::File::tempdir * docs: Extend definition of *softfailed* to "known issues" (#1837) * Refuse updating job group name with empty or blank (#1844) * Apparmor: Add /dev/hugepages (#1857) * Fix broken in section of inter machine dependencies (#1859) * Wrap up and polish * Do not use wantarray in GRU's enqueue() * Update POD OpenQA::Worker::Cache::Client's SYNOPSIS * Avoid to race to get available minion workers * Drop PID from log * Move Minion workers under a single service * Cleanup * Fix typo * Adapt gru tests * Generate same lock for asset/host in the request object * Fix rsync output in minion task * Refactor and update Documentation * Use the cache service to perform rsync tests caching * Create Minion task for rsync execution * Use the host folder to cache tests/needles * Do not check if child is running if it's not there * Reduce the lock expiration time * Trim spaces from left and right in assets name * Hold the db handle during transactions * Add test for Minion task registration and execution * specfile: DBD-SQLite needs to be > 1.51, required by Minion::Backend::SQLite * Add tests and cover also subprocess execution * Add function to generate session token * Read and set limit from config file, defaults to 50GB * Makefile: install Worker Cache Service systemd unit * Add POD for Cache Service and extend docs/Installing.asciidoc * Add service file and adapt openQA.spec * Avoid useless quotes on hash key * Debug - adapt compile-check-all * Address to PR comments - also add test for checking output in cache-service.t * Drop unused function * Write cache output into os-autoinst log * Make possible to retrieve cache output * Add debug messages while enqueuing download * Asset path needs to be a string for vars * Make dequeue and status post * Adapt fullstack to cache path change * Extract domain parsing to _base_url and use it also in the client to resolve asset path * Adapt tests * Get the cache path right * Incomplete job if cache service is down * tests: Wait also for worker minion in fullstack * Use defaults in isotovideo engine * Update defaults and remove protoyped function from Cache::Client * tests: Add test for available_workers() * Add available_workers() to Cache::Client * Fullstack: move sqlite cache check up * Cache: make retry() return always the response object * Fullstack: Wait cache to be ready * Adapt tests and utils * Drop unneeded default * Use OpenQA::Worker::Client inside the cache task * Start to adapt fullstack test * Adapt to PBP * Add dep on Minion::Backend::SQLite * Move common testing functions to Test::Utils as they will be reused also in fullstack test * Add Mojo::SQLite dependency * Use the Cache service within the worker * Add accessors to retrieve asset path and check if exists * Remove unneded log line and cleanup check_limits() * Finishing porting the Cache.pm code to Mojo::SQLite * Rework cleanup strategy, avoid endless loops - update etag fails now * Use Minion Admin plugin with the cache service * Drop downloading, Cache.pm now records just etag and size * Use Devel::Cover in cache-service tests to enhance coverage * Adapt cache tests - still fails on size calculation * Move Cache.pm code to Mojo::SQLite * Add dequeue() and tests for it * Fix and test enqueued tasks * Do not use list_jobs from Minion to gather statuses, causes races * Add default usage tests and use minion lock to detect if it's in use * Fix test copyright header * Add standard client usage * Add Cache service client * Do not lock anymore on assets * Add test for cache service * Add script to start cache service * Create separate class for Minion Server and worker * Do not log an error when trying to unlink an nonexisting file (#1854) * Prevent filter on test overview to reveal old jobs * Allow to create dependency for jobs on different machines * Test that filtering overview does not reveal old jobs * Add dependency for test in os-autoinst (#1851) * Handle skipped test result in IPA parser * Show bug title on mouseover * Fix job templates JavaScript * Fix typo in networking documentation * Regenerate docs * devel mode: Suppress connection errors if no module running * Make 13-admin.t more verbose in case of failure * Use $LEAP_VERSION in documentation consistently * Use 'not yet' instead of 'never started' on /admin/workers/X (#1841) * Extend unit tests for developer mode UI * Don't replace preview container when updating results * Load new test details when paused in the middle of module * Add START_AFTER_TEST/PARALLEL_WITH to dep graph tooltip (#1840) * Allow to scroll up and down using arrow keys on test details (#1842) * Fix testhelper wait_for_session_info * Lazy-initialize devel mode when switching to live view tab * Make 'can't remove ...' warnings debug messages (#1836) * Create new db schema version * Add tests for test module flags * Add special icon for the always rollback flag * Add always_rollback flag description * Add regex filter for admin tables (#1831) * Simplify Schema::Result::Jobs::running_modinfo * Test progress bars on /tests * Fix progress bars on /tests * Fix prio field in /tests and add a test for it (#1834) * Hide cloned jobs from job dependency graph (#1833) * Add route to poll stats of running and scheduled jobs (#1829) * Allow softfail and softfailed as step result * Prevent rendering undef/refs as resborder * Move errors regarding developer mode into the devel panel (#1830) * Test error handling of status/image/progress upload * Recompute asset status after cleanup for /admin/assets * Fix misleading error message on non-UEFI jobs (#1825) * Save asset status cache under /var/lib/openqa/webui/cache * Don't serve assets table while cleanup is ongoing * Update apparmor profile for current Tumbleweed for x86 workers (#1827) * worker: Stop job if considered dead by the web UI (2) * worker: Stop job if considered dead by the web UI (#1824) * Prevent multiple limit_assets tasks to run in parallel * Spawn limit_assets task in a consistent way * Polish a few details on the /admin/assets table * Allow to trigger asset cleanup task on /admin/assets * Prevent warning when rendering assigned jobs on 'All tests' page (#1823) * Fix issues noted by jshint * Make displaying assets by group faster * Set asset table width to 100% * Show last update of assets table * Improve speed of /admin/assets * Fix dependencies of openQA-client package (#1819) * Use less-ugly gravatar icons already used in OBS and progress (#1822) * Fix padding of tabs in testresults * Polish code for dependency graph * Clean CSS * Ensure filter icon and last tab button don't overlap * Add help text to dependency graph * Rename part_of_cluster to has_dependencies * Remove old dependency table * Test dependency graph * Improve appearance of dependency graph * Compute cluster for dependency graph * Fix clipping and alignment of dependency graph * Make dependency graph a bit more fancy * Display dependency graph using dagre-d3 * Handle logging errors (#1815) * Use italic font to display default prio (#1818) * Fix openQA-client package for openSUSE (#1816) * Stop worker when an unhandled exception occurs (#1809) * Limit new needles sent to os-autoinst on resume to 100 * Use Mojo::File in t/ui/07-file.t * Add 'perl(File::Touch)' to Dockerfile * Test needle download * Allow command server to download new needles on resume ------------------------------------------------------------------- Wed Oct 03 06:37:58 UTC 2018 - coolo@suse.com - Update to version 4.6.1538413557.f9e2a131: * Adapt tests to logging behavior of Mojolicious 8 (#1814) * Use transaction when computing the asset status * Make only cleanup fail on inconsistent asset status * Print max job when detecting ongoing scheduling during cleanup * Fix removal of scheduling assets * Document asset cleanup ------------------------------------------------------------------- Sat Sep 29 18:38:25 UTC 2018 - coolo@suse.com - Update to version 4.6.1538057874.2d8d0618: * Update AppArmor profile for Leap 15.0 (#1810) * Allow overwriting job priority when posting isos (#1807) * Dump the JSON templates as ascii * Fix jobs fixtures * Increase debugging information in asset removal * Round the remaining days to make tests less blinky * Fix wrongly assigned states in existing data * Prevent setting the state to SKIPPED * Test whether t_finished is assigned when setting a final job state ------------------------------------------------------------------- Wed Sep 26 06:38:31 UTC 2018 - coolo@suse.com - Update to version 4.6.1537939546.7aa7ed58: * all tests page: Fix parameter passing for timestamp rendering (#1806) * Make asset cleanup more verbose (#1803) * Fix 'last_match' param of AJAX route for needle table (#1802) * Use AJAX for all tables on /tests * Don't pre-compute IDs for finished jobs when loading HTML * Optimize all tests page * doc: remove mention of openQA-devel package (#1800) * Make sure multimachine jobs get a worker eventually * Some code restructing in the scheduler function * Delete empty settings in clone job * Display progress bar when downloading asset * Cache infos about scheduled jobs * Limit logs and results for groupless jobs (#1798) * Release job networks more often (#1795) * Fix removal of untracked assets (#1796) * Enable the scheduler on updates (and the webui is enabled) (#1785) * docs: Write Leap installation repo in more timeless way (#1791) * Run inserting screenshots in a transaction (#1792) * Update AppArmor profile to allow worker to use cgroups * Set specific slice for worker service * Better detect of systemd slice * Inform worker about devel session to reduce posting status info (#1789) * Correct typo (#1790) * Require RabbitMQ::Client 0.2 * Make AMQP sending less fragile * Make web socket and livehandler daemons listen on IPv4 and IPv6 (#1787) * Prevent worker to endlessly retry non-critical API calls (#1788) * Fix typo in t/api/02-iso.t * Make asset download feature usable by both "jobs post" and "isos post" * docs: Cover different asset types and asset options ------------------------------------------------------------------- Thu Sep 13 15:13:01 UTC 2018 - coolo@suse.com - Update to version 4.6.1536756702.f75303c1: * Improve error log of AMQP plugin (#1784) * Treat failure when posting upload progress as non-critical * Allow regular HTTP and WS being passed though reverse proxy * Fix random failures in developer mode unit tests * Add unit test for posting progress upload * Add HMAC time stamp also on livehandler daemon * Store upload progress in database * Prevent use of uninitialized value when posting upload progress * Check for upload progress in developer fullstack test * Use API authentification for post upload progress route * Test handling of upload progress in UI * Show needle editor button not unless upload complete * Pass upload progress from worker via liveviewhandler to browser * Open needle editor in developer fullstack test * Fix one more corner case for blocked_by (#1781) * Simplify reschedule code * Make the overview page responsive again (#1780) * Sort scheduled jobs via database (#1779) * Fedmsg plugin: emit 'standardized' fedmsg (#1758) * Fix blocked jobs not appearing in scheduled table * Increase max execution time per job in fullstack test * fullstack.t: Distinguish between not found and wrong permissions * Add more checks in 15-comments.t to debug random failure * OpenQA::Parser::Format::JUnit include error and skipped details (#1778) * Update serial failures detection documentation * Prevent asset-releated tests being disturbed by unrelated files * Test computing asset status * Optimize querying asset status for admin table * Allow rendering asset table as JSON ------------------------------------------------------------------- Sun Sep 09 11:03:30 UTC 2018 - coolo@suse.com - Update to version 4.6.1536432963.ac9f540e: * Fix the vlan assignment and release * Remove debug that prints to STDERR * Clean up 05-scheduler-dependencies * Take the full cluster into account, not just the first level * Avoid undefined warnings from rescheduling * Do not reschedule cluster jobs multiple times * Do not require websocket in scheduler (#1777) * Extend the test coverage for blocked_by * Fixed blocked_by calculation not to create loops * Schedule the jobs manually in fullstack test * git clone only the HEAD of os-autoinst * Do only copy back the cache on travis * Make 2 debug messages in WS server info * Wait for the scheduler to reshedule job 3 * Die early in full-stack test * Don't output 'Scheduling new jobs' if there are 0 free workers * Add some means to debug full-stack test * Only talk about cpanm if it's actually true * Run chromium with --no-sandbox not to require admin caps * Revert PR 1747 * Allow to enable monitoring using mojo-status (#1763) * Catch misconfigured test suites creating cycles (#1775) * Make tidy fast by only looking at changed files (#1773) * Ignore file docker.env created by make target docker.env * Update docker-related documentation * fullstack/Docker test: Skip os-autoinst build only conditionally * fullstck test: Improve ignoring JS errors * fullstack test: Prevent auto page reload when waiting for result panel (#1770) * Improve help popover for job group/template prio * Prevent Firefox to misalign arrows of prio input * Disable job template prio editor for non-admins * Test using default prio from job group when scheduling ISO * Add tests for setting prio via job templates API * Improve error msg and response for update of job template API * Allow job template to inherit prio from group * Allow amending job template priority * Use default prio when adding new job template to existing medium * Avoid using Mojo::ByteStream directly when rendering JSON * Adapt t/16-utils-runcmd.t for e2771ee * Fix sorting worker jobs by finished * Make 33-developer-mode.t more stable * Prevent use of uninitialized $current_running in Worker/Jobs.pm * Test opening needle editor for running tests * Improve 404 error pages of needle editor for running jobs * Test pausing on assert screen timeout * Consider only new console messages in fullstack test * Adjust upload_status for pausing on assert_screen timeout * Fix typo occured -> occurred * Test UI changes for pausing on assert_screen timeout * devel mode: Hide executed modules when test status updated * devel mode: Show reason for pause * needle editor: Show 'back to live view' if in devel mode * devel mode: Allow to open needle editor when paused * devel mode: Add UI elements for pausing at timeout * Use git -C for commits * Don't check for .git directory when making git commits ------------------------------------------------------------------- Tue Aug 21 18:55:46 UTC 2018 - coolo@suse.com - Update to version 4.6.1534873283.be929573: * Remove entrypoint from specfile sources * Makefile: Build env file for docker with needed environmental variables * Fix Mojolicious version requirement * Emit parent group ID in AMQP comment event * Use subtests in AMQP test * Makefile: Avoid also to parse env with spaces to travis * tests: Fix builds on master * Adapt fullstack tests to changes in os-autoinst * Make javascript_console method less verbose when there are no errors * test: disable broken test * Do not call unblock introduced in 184d0c5d5 * Revert "Calculate blocked by jobs on creation in job resultset" * Do not display blocked count * Do not calculate blocked jobs * Drop unused import * Revert "Merge pull request #1729 from mudler/blocked_by" * Revert "Fix usage of $blocked in test results template (#1740)" * Revert "Merge pull request #1741 from coolo/fix_blocked_by" * Makefile: cleanup * tests: INSTALL_FROM_CPAN by default * docker: Pass environment to docker * docker: try to build our image with package upgrades and custom entrypoint while running tests * docker: Upgrade container packages before running tests * Fix suggested command for adding devel repo ------------------------------------------------------------------- Fri Aug 10 15:29:12 UTC 2018 - coolo@suse.com - Update to version 4.6.1533914931.14b73490: * Use the transaction to check if it's empty (and avoid warnings) * Upload: Keep the transaction around * Calculate blocked_by status of restarted jobs * Remove systemd dependencies on scheduler * Fix usage of $blocked in test results template (#1740) * Make limit for keeping untracked assets configurable * Test inheritance and overriding of job/parent group properties * Read default job/parent group properties for cleanup from settings * Update openQA documentation regarding serial failures detection * Make UEFI_PFLASH_VARS non critical on local workers * Print autoinst-log.txt after Travis testrun * Fix full-stack.t * Adapt test of group overview JSON route for parent comments * Test tagging on parent group level * Test commenting on parent group level * Allow pinned comments on parent group overview * Support commenting on parent-group level * Test overrides for job settings passed to clone job script * Reduce indentation in clone_job_apply_settings * Require at least IO Socket SSL 2.009 * Pass worker setting WORKER_HOSTNAME to web UI * Add tests for comments carryover if module contains bugref in details * developer mode: Don't show same error twice * Unify disable_bootstrap_animations and disable_bootstrap_fade_animation * Carry comment over if test suite failed with same serial failure * developer mode: Show flash messages on errors * Test processing state changes from os-autoinst * Consider fullpath as a valid asset * Minor refactor for clone_job.pl and add unit test * Add global settings support for clone job * Treat UEFI_PFLASH_VARS as non critical asset * Change striped name from IPA results * Remove debug leftover * Highlight blocked jobs with orange colour * Do not hide scheduled jobs if blocked * Calculate blocked by jobs on creation in job resultset * Release vlan networks only if other jobs in the same cluster aren't running anymore * Disable worker shuffling in 05-scheduler-* tests * Add scheduler function to disable worker shuffling during computation * Adapt job_grab tests * Adapt scheduler fullstack test to latest changes * Follow the rename of get_websocket_api_version * blocked_by calculation: Don't block on self * Fix timer reset on quit * Calculate blocked_by state later in the process * Reset the scheduler tick if not summoned * Simply scheduler logic - but a lot * Fix blocked_by for chained parallel jobs * Disable pp in IPC - a little too noisy on allocating * Filtering for scheduler * Prepare a hash of jobs * Select all scheduled jobs and filter them for free workers * Remove BUSY_BACKOFF and CONGESTION_CONTROL * Remove CAPTURE_LOOP_AVOIDANCE option * Remove OPENQA_SCHEDULER_FIND_JOB_ATTEMPTS option * Add UEFI_PFLASH_VARS to detect_asset_keys * Mark all restarted (cluster) jobs in UI * Add IPA format to OpenQA Parser * Improve logging in LiveViewHandler * Assign os-autoinst tx not before actually connected * Ignore 'Data frame received after close' for now * Extend unit tests for live view handler * Refactor LiveViewHandler * devel mode: Prevent endless, instant reconnects on error * Mention how to actually enable openqa-ssl.conf under openSUSE * Use wss protocol for websocket connection when page loaded via https * Fix javascript errors on running.js (#1719) * Update README.md ------------------------------------------------------------------- Tue Jul 10 13:39:38 UTC 2018 - coolo@suse.com - Update to version 4.6.1531161673.f7fc21dd: * Remove docker-tests during install * Don't display blocked jobs as scheduled * Make registering assets transactional (#1711) * docs: Add note on sending new lines to a serial terminal (#1714) * clone_job: Make _GROUP and _GROUP_ID override each other (#1716) * Add blocked_by to jobs - calculated on job changes * WIP: Move commands to run docker tests to separate script * Make parser test less verbose * Make error messages in setup_share_dir more specific * Allow to use a custom os-autoinst checkout * Remove print() leftover from debugging * ws proxy: Add tx after last client-specific error handled * Don't fail full-stack.t when already assigned * Prevent use of global variables in LiveViewHandler.pm * Make developer mode accessible to operators (#1707) * needle editor: Assign new background image instantly * developer mode: Show only modules which are still ahead * Adjust overflow behavior of dashboard progress bars * Use _GROUP_ID in clone_job.pl * Refactor test code for jobs post * Test specifying group by ID on jobs post * live view: Connect to ws server when testStatus.running is set * Fix bugs in form controls for devel mode * Show developer mode form only when connected via web sockets * Fix help popover in developer panel * devel mode: Handle case when module list still unknown * Never assume it is the own devel session when not logged in * Don't update developer mode controls until confirmed * Rephrase to avoid 'developer session' * Make full-stack test more stable (#1701) * Replace 'opened by' with 'owned by' * Prevent resetting the module to pause at on page load * Show link to ws console only in development mode * Remove useless debug printing in live view handler * Don't use Test::MockModule::redefine() * Improve error handling of livehandler daemon * Test UI controls also in developer fullstack test * Cancel job when quitting the developer session * Don't quit developer session when disconnecting from os-autoinst * Add tests for developer UI controls * Fix importing determine_web_ui_web_socket_url * Start developer session via submit button * Set status code when finishing ws connections * Avoid using Mojo::IOLoop->one_tick() in developer unit tests * Adapt to removal of waiting state * Fix style issues mentioned by @foursixnine in review * Extend unit tests for status-only route * Fix broken HTML on test details page * Check that VNC instructions are shown when test is paused * Document variables for developer mode * Hide entire developer panel when test not running * Adapt existing developer test to UI changes * Update module select for devel mode like modules under details * Handle reconnects in the client * Notify clients about removed sessions as well * Keep track of status-only and devel ws tx separately * Show VNC instruction only for running jobs * Pick the right route (either developer session or status only) * Add UI controls for developer session * Move methods to build proxy url to OpenQA::Utils * Remove deprecated ui test * Allow developer-instructions to be modified by status updates * Add status route to websocket proxy * Fix typos * Connect via livehandler proxy to isotovideo to get updates * Update service file for livehandler service * Remove unnecesary options for livehandler service * Update instructions * Expose VNC port to developer * Add UI controls for developer session * Fix formatting of Contributing.asciidoc * Document running UI tests with Docker in non-headless mode ------------------------------------------------------------------- Tue Jun 26 12:54:52 UTC 2018 - coolo@suse.com - Update to version 4.6.1530017682.0f384112: * Allow 'assigned' state in fullstack.t (#1699) * Move constants from Schema::Result::Jobs to a separate package (#1696) * Remove leftovers of interacitve mode (#1697) * Adapt fullstack test for the logging changes * Adapt tests for the display of pid in the log in debug mode * Print pids of processes in logs if log level is debug * Avoid db locks on asset_lookup * Treat the case when we could not update asset in critical section * More protection for critical section in the cache * Add other cache tests and more refactoring * Try to bring coverage back * Add locking test, and remove useless query in fullstack.t * Reduce the critical section * Avoid Perl 5.18 complain * No need to import getcwd * Do not run the cache test in parallel * Reduce parallel processes for concurrency test to avoid travis to crash * Wrap also toggle_asset_lock in lock_section * Flip download = 0 from the same function used to toggle on/off * Make the cache test more stable - add also option for stress test * Add concurrent test for cache * No need to init explictly anymore * No need to export get_asset anymore * Adapt cache and cache test to more OOP style * Use transactions and wrap rollbacks in eval calls for further debug. Also enable exclusive transaction in toggle_asset_lock * Fix wrapping of parser results (#1695) ------------------------------------------------------------------- Tue Jun 19 18:37:47 UTC 2018 - coolo@suse.com - Update to version 4.6.1529433451.a70c6e82: * Remove running_or_waiting method * Remove waiting state that was leftover from 5e65496f * Ensure proxy is connected to os-autoinst in devel test * Allow status as a ws_proxy command * Make waiting for paused more robust against disconnects * Remove unused parameter in wait_for_developer_console_contains_log_message * Let the web socket console automatically reconnect * Ensure ws connection won't timeout in fullstack tests * Improve check for developer console in fullstack test * Remove link to developer console * Use docker image from OBS (#1685) * Let tmpfiles.d create the mount point "share" (#1689) * Add basic barrier documentation * Improve documentation about mutexes * Remove $isodir from Utils (only used in tests) * Remove /tests/X/iso route * Remove hdddir and otherdir from Utils * Fix waiting for development session * Don't fake D-Bus when running the devel fullstack test * Propagate os-autoinst URL from worker to web UI * Fix CSS for developer console * Fix path for liveviewhandler in Apache config * Adapt execution of developer test to latest changes * Fix perl critic error * Open the 2nd window/tab in devel mode test correctly * Handle errors happening before dev session correctly * Add unit test for developer mode * Remove unneccassary D-bus env for livehandler * Refactor live view handler to use regular methods * developer console: Handle case when port is NaN * Refactor full-stack.t and 33-developer_mode.t * Add test for developer mode to Travis test matrix * Add test for developer mode * Workaround broken syntax highlighting of full-stack.t in Kate * Allow to start Selenium driver directly via start_driver * Improve passing parameter to OpenQA::Test::Database::create() * Fix ID of developer session info * Increase inactivity timeout for openqa-livehandler * ws client: Broadcast messages to all JavaScript client * ws proxy: Try/catch only JSON decoding * Allow login as a 2nd administrator via fake auth * Make logout accessible via regular GET * Install service file for openqa-livehandler * Use transaction to delete development session * Move ws connection for developer session to its own service * Keep track of developer session, limit to one session per job * Validate commands before passing to os-autoinst * Make the websocket proxy route basically work * Allow to use websocket console for proxy route as well * Add basic structure for developer mode web socket route * Make fullstack test more verbose * Prevent warning in fullstack test * Test pausing and resuming jobs * Add web socket console for isotovideo commands * Display incomplete jobs in next&previous tab (#1682) * Update documentation with NAT configuration using firewalld (#1683) * Categorize UEFI PFLASH drives as HDD assets (#1684) * Try caching * Easier way to pass exit status from docker-tests * Change message level when cgroups cannot be created (#1681) * Fix typo in the travis.yml and fix the grep regular expression for the status checking (#1679) * Adjust popover margin on audit log (#1678) * Change from su to sudo in the docker image * Docker shell scripts cleanup * Allow where parameter for mutex unlocking (#1677) * Documentation for running tests in docker * Enable codecoverage * Add support for os-autoinst * Add DBUS support. * Force user permissions 1000 to be compatible with opensuse * Moved the DB from the host to the container * First release of the dockerfile to create container to run unit and integration tests * Remove job_set_running - as jobs are no longer waiting * Remove job_set_waiting - jobs aren't WAITING anymore * Remove current interactive mode ------------------------------------------------------------------- Sat Jun 16 04:46:52 UTC 2018 - coolo@suse.com - Add Dockerfile and entrypoint.sh for development container - Remove _multibuild to pass source validator ------------------------------------------------------------------- Wed Jun 13 14:38:13 UTC 2018 - marius.kittler@suse.com - Add files for livehandler daemon ------------------------------------------------------------------- Mon Jun 04 00:19:38 UTC 2018 - coolo@suse.com - Update to version 4.5.1528009330.e68ebe2b: * Remove uncovered as unused asset_list call (#1675) ------------------------------------------------------------------- Thu May 31 12:20:12 UTC 2018 - coolo@suse.com - Update to version 4.5.1527697506.2eedfb2e: * Add a little coverage to the admin/needle controler * Use the timestamp on admin/needles * Add migration to update the timestamp of the needle matches * Cascade set null to job_module IDs in needles * Add logggingPrefs to chromium to make sure we get browser logs (#1672) * Remove more references to first_seen * Remove job_module_needles table and first_seen_module_id * Remove scan_old_jobs job - no longer referenced * Drop Jobs::retry_avbl from DB * Scheduler: enable WAKEUP_ON_REQUEST by default and reduce default tick time (#1669) * Tidy previous commit * Reduce debug output for parser tests (#1668) * runcmd tests: handle differently-cased git error message (#1665) * Ignore cloned children during cluster calculation * Cancel the full cluster if a job fails * Rename jobs_to_duplicate to cluster_jobs * Add test case for cluster cancel (failing atm) * docs: WritingTests: Fix superfluous 'you' * docs: WritingTests: Add backend related test development tricks * docs: WritingTests: Split big section "Test development tricks" * Fix broken navigability with arrow keys in test details (#1664) * Fix test cases and make tests more reliable * Do not reuse scheduled jobs on cluster duplicate * Some sync between code and tests * Make Job::duplicate non-recursive * Always enable sql debugging if requested * Start the display with the current job * Small cleanup of variables * Extract create_clone from Jobs::duplicate * Remove support for retry_avbl * Remove limit option in next&previous tab UI ------------------------------------------------------------------- Thu May 24 14:09:38 UTC 2018 - coolo@suse.com - Update to version 4.5.1527149502.003be4d6: * Add error logging in gru (#1660) * Fix the alignment of the progress bars on group overview (#1659) * Add http-only config for nginx (#1526) * Disable needle selection if there's nothing to select * Reduce padding of lists in tool tips * Fix devider in job group navigation with Bootstrap 4 * Allow specifying group for isos post by name * Fix DataTable error under route /tests/latest (#1656) * Exclude external links in 22-dashboard.t (#1655) * Add _GROUP filter to isos post * Update documentation for multimachine tests setup ------------------------------------------------------------------- Thu May 17 12:23:45 UTC 2018 - coolo@suse.com - Update to version 4.5.1526551139.04373a1e: * Fix triples in job templates documentation * Update documentation about isos post in client help * Enable client to restart jobs 'from test result overview' * Add API route similar to test result overview * Refactor composing search args for test overview * Update documentation about isos post in client help * Show job results in results tab (#1614) * Show all badges and build numbers (#1650) * Limit special rendering for text results to parser results * Test rendering text results * Make the layout use 100% width (aka 'fluid') (#1646) * Ignore profiling data generated by nytprof * Improve rendering text results in test details ------------------------------------------------------------------- Fri May 11 10:17:40 UTC 2018 - coolo@suse.com - Update to version 4.5.1526033850.1ad9148d: * Add _source field to every detail generated by parsers implementations (#1647) * Fix links to #live not starting live view (#1648) ------------------------------------------------------------------- Sat May 05 19:21:21 UTC 2018 - coolo@suse.com - Update to version 4.5.1525548058.3f6bb61a: * Avoid appending multiple runs with --nocleanup (#1644) * Limit number of tasks for limit_assets and limit_results_and_logs GRU tasks * Add test for GRU enqueue limit option * Update apparmor profile for worker (#1645) * GRU: Add support to limit enqueuing by task * Update unit tests for TAP parser * Mark test suite as failed if test steps have failed * Add information about openQA internal results * Update TAP format documentation * Remove dots from filename * Ensure that the details description is set * Use a single result to contain all the test steps * Update changes to TAP format * Temporary version of the parser for TAP still failing * Log a warning when step data is not found * Allow LTP parser to load files that contain special characters * Replace extra dots in the filenames (#1642) * Increase the required coverage to 88.8 * Do not fail a pull request if there are unexpected changes * Use same width for each colored dep status span * Show parent and child deps on job page in nice tbl * Enhance unit tests for GRU TTL * Set 2 days of ttl for limit_assets and limit_results_and_logs when posting isos * Add unit test for GRU task TTL * GRU: Add TTL for Minion jobs * Use a smaller font for the 'ago time' to fix rendering (#1635) * Prefetch comment counts for /tests * Update bootstrap to 4.1.1 and fontawesome to 5.0.10 * Do not load full application to generate assetpack data (#1628) * Improve the duplication tests (#1627) * Hide categories when filtering test details * Ensure needles directory exists in 18-tests-details.t * Require 'Selenium::Remote::WDKeys' in CPAN file * Add test for filtering test details * Allow filtering test details ------------------------------------------------------------------- Tue Apr 24 16:10:51 UTC 2018 - coolo@suse.com - Update to version 4.5.1524586233.92db89bc: * Add unzip-plain to AppArmor profile (#1629) * Use current SUSE Logo (#1626) * Avoid skipping dependencies when cloning jobs. (#1623) * Improve some details in t/ui/18-tests-details.t * Randomize GET /tests/99946#step/yast2_lan/1 * Use usual prove flags on Travis as well * Hide failed modules on overview table for small screens * Fix positioning tooltips with Bootstrap 4 on overview page * Add Minion Link to navbar and move under admin * GRU: delete gru and deps on failure * Fix spacing of 'Build + Bars' rows on dashboard * Adjust padding and media break points for dashboard * Use exact same colors for cards/panels as before * Add unit test for job custom_module * Display GRU failure as job test module in openQA * Fix dropdown menus in fullscreen mode * Use full width in full screen mode * Make the gru service to be restarted on-failure * OpenQA::Task::* Die on fatal errors * Catch all tasks output also in case of error * Mark the jobs associated to the gru task incomplete in case of gru task failure * Adapt to new Minion::Job API introduced in Minion 9.0 * Remove unused Data::Dumper import * Use Minion::Command::minion::job to get jobs list * Enable the Minion Admin interface under /minion * GRU/Minion: Take account of failures * Use gru enqueue in controllers and keep relation with minion jobs * Adapt test and fix leak of memory * Gru: get dsn from DBI for Minion * Move GRU tasks to Minion ------------------------------------------------------------------- Fri Apr 20 07:40:02 UTC 2018 - edigiacinto@suse.com - Require Minion >= 9.02 ------------------------------------------------------------------- Thu Apr 19 12:12:39 UTC 2018 - coolo@suse.com - Update to version 4.5.1524056562.74e334c1: * Close candidate menu after selection * Fix positioning of dropdown icon under Firefox * Fix handling multi-tag tests * Adjust UI tests to handle new candidates selection * Implement full diff * Allow to show just the screenshot again * Add shortcuts to custom combo box * Make style for result preview part of openqa.scss * Use customized bootstrap dropdown instead of combo box * Workaround issue when clicking menu item in 21-admin-needles.t * Port card in overview correctly to Bootstrap 4 * Use same link color as before * Make badges look like before * Adjust colors * Fix paging of tables for running and scheduled jobs * Remove symlinks for Glyphicon fonts * Fix UI and fullstack test after Bootstrap 4 migration * Adjust media breakpoints * Fix grammar in tour * Upgrade tour to Bootstrap 4 * Restructure stylesheets * Fix live-view and other small issues under Bootstrap 4 * Make it look more like before under Bootstrap 4 * Fix permanentely moved links on dashboard * Fix overall appearance with Boostrap 4 * Fix filter panel on the main page * Patch bootstrap theme to be a little more like it was before * Remove hidden class * Port the navbar to bootstrap 4 * Start to migrate to bootstrap 4 ------------------------------------------------------------------- Fri Apr 13 09:53:25 UTC 2018 - coolo@suse.com - Update to version 4.5.1523608608.fca0aa46: * Enforce sorting the results returned by the sql query to use in is_deeply (#1621) * Remove dead code in Worker/Jobs.pm * Update current test module details when cancelling running job * Prevent failures in worker reset_state() (#1618) * Group candidate needles by tag (#1606) * Test image selection of needle editor (#1617) * Fix 'Take image from' selection in needle editor (#1616) * Refactor needle editor code * Fix showing needle editor when no tags present * isotovideo: wrap log_ calls with eval * Require latest RWP * Start isotovideo inside a container using cgroups * Checks if failure status file exists before trying to slurp it * tests: cover case when one of the cluster jobs already running * Consider running jobs in filter_jobs * Fix fullstack test in case /usr/bin/isotovideo is present * Limit showing new needles to the 5 most recent ones * Use 'new' prefix when showing new needles * Add documentation about showing new needles in editor * Improve tests for needle editor * Show errors/warnings/info in needle editor with consistent margin * Show added/updated needles in editor * Add database entry for needles when saving via editor * Simplify save_needle_ajax code * Extend needle table with tags and timestamps * Capture serial patterns documentation * Don't show configure button for untracked assets * Fix mojo not handling max_size_limit when is a transaction * Allow optional overwrite of the productlog request depth with a query parameter (#1601) * Enable JSON representation of the test overview (#1600) * Add asset size limit option * Return reference for test result file lists * Make OpenQA::Client::Archive property of OpenQA::Client * Remove chdir that caused errors when downloading test files * Add file _download_file_at method for logs and uploaded logs * Move progress monitor code to a separate fuction * Ensure that uploaded test logs can be downloaded * Add first version of OpenQA::Client::Archive * Move test_uploadlog_list and test_resultfile_list to the model ------------------------------------------------------------------- Fri Apr 13 09:52:40 UTC 2018 - edigiacinto@suse.com - Use Minion for GRU tasks, this requires Minion and Mojo::Pg as dependency ------------------------------------------------------------------- Thu Apr 12 14:00:11 UTC 2018 - marius.kittler@suse.com - Fix handling UTF-8 when executing make install ------------------------------------------------------------------- Thu Apr 12 10:32:50 UTC 2018 - marius.kittler@suse.com - Fix handling UTF-8 in update-cache.sh ------------------------------------------------------------------- Sat Mar 10 05:29:00 UTC 2018 - coolo@suse.com - Update to version 4.5.1520515419.c3df6f91: * Update the chromedriver url from 2.33 to 2.36 * Allow saving needles for OS with dots in the version * docs: Clarify some serial terminal terminology and other elaboration (#1596) * Do not reset the api version just because the worker is offline * Fix scheduler comment - now default MAX_JOB_ALLOCATION is 80 (#1595) * Always retry until chunk is uploaded and retrials exhausted (#1594) * Refactor and add error test * PARALLEL_CLUSTER is no more * Adapt scheduler_full test * Avoid to re-consider the jobs that are being allocating in a round * Do not take account of spaces in PARALLEL_WITH * Exclude allocating jobs from prefer_parallel cut * Consider allocating only when we have them * Bump MAX_JOB_ALLOCATION default to 80 * Exclude allocated when blocking dependencies * Consider the jobs allocated during the round as running in prefer_parallel * Prevent cluster tests to be allocated if their group is not allocated ------------------------------------------------------------------- Tue Mar 06 17:29:01 UTC 2018 - coolo@suse.com - Update to version 4.5.1520100590.2279151e: * Fix sort order of the review comments (#1593) * Expand the serial terminal console documentation (#1586) * Emit openqa_job_create events when an ISO is posted (#1584) * Replace die for 500 code and move global constants to OpenQA::Constants * Avoid circular dependencies when running the tests. * All the available free workers need to have the same websocket interface version * Move the interface verification to the worker ack ------------------------------------------------------------------- Sat Mar 03 05:29:00 UTC 2018 - coolo@suse.com - Update to version 4.5.1519929327.f726adcc: * Enable wrapping cells in overview table (#1591) * Perltidy * Protect during collected unsubscription * Prevent to determine job status from collected event when timout expires * Remove check backend timer * Fix check_backend detection * cpanfile: require at least Mojo::IOLoop::ReadWriteProcess 0.19 * Adapt jobs tests - we are not dying anymore * Don't fear the (sub)reaper * Add AMQP doc * Lock tidy version * Make prove verbose ------------------------------------------------------------------- Tue Feb 20 12:06:58 UTC 2018 - coolo@suse.com - Update to version 4.5.1519128406.810fb68b: * Show correct port for created job (#1578) * Use rwp also to call rsync (#1585) * Force a restart when the children or grand-children processes die * OpenQA::Parser::Format::JUnit mark testsuite failed if one of testcases fails * Replace the exec call with ReadWriteProcess module * Add use Mojo::DOM in JUnit and XUnit Parser (#1580) * Use the generated Mojo::URL as Client base_url * Add get_piece() in OpenQA::File to ease writing of downloader class * Add test for OpenQA::Files's prepare() * Make integration tests of uploader with fixed chunk size * Fire events inside subprocess before and after chunk processing. * Move uri checks inside common function in OpenQA::Client::Handler and guard from not configured scheme in host * Add test to check if retrials numbers are matching * Use subprocess for potential loop blocks * Adapt workers to error handling * Add tests for OpenQA::Client::Upload retrials on failures, and events propagation * Emit errors on OpenQA::Client::Upload * Swap multi-chunk uploader in worker with OpenQA::Client * Make OpenQA::Handlers EventEmitter(s) * Split OpenQA::Client * Wipe out content of written chunk, try only weak check and back to Storable * Do not always perform total cksum * Drop Mojo force to File asset, display stats of uploaded chunks * Write as we receive in a temp file * Avoid to relay too much on the serializer * Use C backend to read whole file when computing total cksum * Enhance error detection * Allow to chunks to dynamically grow and shrink * Make total checksum verification run faster * Let specify chunk size in config file, and default to 1000000 bytes * Also add API endpoint to inform of upload status, adapt tests * Do not make split() to load the file * Pass asset option in multichunk upload * Create empty file before writing it if doesn't exist * Try to swap current uploader with multi-chunked one for assets * Add spurt to OpenQA::Files * Add write_verify_chunks() and write_chunks to OpenQA::Files * Add methods to verify against chunks, also add test when joining/verifying in-place * Add serialize/deserialize also to single result of parser * Add OpenQA::File, wraps Mojo::File and adds seek capabilities * Add worker version check on the server. (#1552) * Add basic test for OpenQA::WebAPI::Description * Add POD documentation to Controller/API/V1 packages * Test 27-errorpages.t with a predefined API desc * Replace Pod::Tree for Pod::POM in WebAPI::Description * Add POD documentation to Controller/API/V1 packages * Move API description methods to its own package * Add POD documentation to Controller/API/V1 packages * WebAPI: Add API description from Controller's POD ------------------------------------------------------------------- Sat Feb 10 01:01:54 UTC 2018 - coolo@suse.com - Update to version 4.5.1518003872.3977d2f5: * Run perltidy again (#1577) * Fix perltidy complaints (#1576) * Give 404 rather than 500 on invalid asset route (#1575) ------------------------------------------------------------------- Tue Feb 06 12:30:26 UTC 2018 - coolo@suse.com - Update to version 4.5.1517920216.2250682a: * Take latest version of Selenium::Remote::Driver (#1570) * Big rework of the GRU limit_asset task (#1569) * Fix broken links in openQA documents * Update Installing.asciidoc * Add pager for comments on group overview (#1561) * Add help box for group filter * Fix testsuite descriptions if default config not present (#1554) * Test subgroup filter and form * Allow to expand nested groups by default * Add filter for subgroups * Check qemu pid before starting job (#1565) * Require < 1.21 of Selenium::Remote::Driver * Downgrading selenium drivers during test phase ------------------------------------------------------------------- Tue Jan 30 14:03:22 UTC 2018 - coolo@suse.com - add fonts for chromium test suite - and remove currently broken tests (https://progress.opensuse.org/issues/19652) ------------------------------------------------------------------- Tue Jan 23 14:02:46 UTC 2018 - coolo@suse.com - Update to version 4.5.1516716144.98db9c99: * Improve error handling in group overview (#1562) * Do not remove forwarded-for=https headers (#1558) ------------------------------------------------------------------- Sat Jan 13 04:08:38 UTC 2018 - coolo@suse.com - Update to version 4.5.1515767133.56cd6ee5: * Support nested OpenQA::Parser objects * If no parser format is supplied, return a OpenQA::Parser::Format::Base object * Add POD documentation for OpenQA::Parser::Result::OpenQA * Add documentation for OpenQA::Parser::Results and move search() in proper class * Move search_in_details() in a new class that inherits from OpenQA::Parser::Results as it is openQA specific * Add documentation of OpenQA::Parser::Result * Move methods and attributes from Parser to Base format * Simplify spec format definition and move common displayed fields to openqa specific result classes * Drop support for creating collections with package global variable (useless now) * Make possible to upload in all the supported format and add tests for it * Add other tests, bring back coverage and fix wrong Node val() assigment * Return a OpenQA::Parser::Result::Node object when getting unstructured data from result * Make parser now really recurive, add also support for nested data structure with unit test * Make LTP parser tests output compliant to openQA tests results * Run parser test in parallel * Add possibility to store / serialize file content too within the parsed result * Add test to check DB consistency with parser extracted results * Move format specifications to separated namespace * Add XUnit tests * Add basic XUnit parser and schema * Clean LTP and include schema inside parser file * Add support for nested Results collections (required for XUnit) * Use functional interface in exposed api * Make collections serializable for unstructured data * Add accessor for unstructured data * Ask to include result only if the specific parser can * Move include_result option to specific parser that needs it * Provide also functional interface * Serialize single Results object as seen by to_hash() and add tests * Add tests when parser errors * Support hashifications of unknown objects * Add unstructured data test * Add reset method to parser, add and cleanup tests * Make serializing possible for collections with different OpenQA::Parser::Results objects * Add possibility to export/import the Parser to JSON, add also tests * Add serialization tests for junit spec * Tidy OpenQA::Parser::Result * Hide name field in JSON encoding of OpenQA result - but keep serializing it * Add example of new format specification for LTP * Simplify LTP spec definition even more * Get hash representation automatically of attributes if they can be rendered as hash * Add backword support for v2 format and add unit tests * Rename subtest to avoid Perl 5.18 complaints * Refactor write of parser result data * Add optional extra list that can be filled by type spec parser * LTP specification: Environment is optional inside result in new format * Add support to serialize/deserialized nested data structure * Add serialization capabilities to parser, and add tests * As classes are representing merely what's the json content, include them in the LTP module file * Add test data example for LTP results format * Add support for LTP specification in OpenQA::Parser * Generalize parser results, and subclass to specific implementations * Adapt parser tests, since now default value for script is 'unk' * Generate test module result from parsable extra_tests * Parser: return unk for test script if does not exist * Add search between parsed tests, link results and tests * Draft for JUnit parser * Prevent worker status selection to sort (#1555) * Unify code for scheduled/running table and fix sorting (#1556) * Remove leftovers in t/api/02-assets.t (#1557) ------------------------------------------------------------------- Tue Jan 09 16:08:32 UTC 2018 - coolo@suse.com - Update to version 4.5.1515509269.fa07a084: * Remove assets from disk when deleting database entry (#1553) ------------------------------------------------------------------- Thu Dec 21 19:36:32 UTC 2017 - coolo@suse.com - Update to version 4.5.1513750232.be133588: * Add basic setup of multi-machine worker (#1544) * Allow deleting assets via web UI (#1551) * Deal properly with environment variables that can change logging (#1537) * Fix deletion of jobs referenced as last use of asset (#1549) * Show assets by job group * selenium test: Allow configuring mojo port * Split asset tables in used and untracked assets * Refactor data size rendering in JS and reduce precision * Set App mode in WebSocket server (#1548) * Fix repos gone too early: assign REPO_10 to jobs as well (#1547) * Retidy - Perl::Tidy 20171214 has different formatting (#1546) * Update installation steps for postgresql (#1538) * branding: openSUSE: Add Kubic (#1539) * Change the logs timestamp to ISO8601 (#1542) * Add documentation for postgresql migration (#1530) * Fully fix asset caching without test caching (POO #29208) * Fix job group update issue (#1533) * Hide worker properties if no login (#1534) * Switch to fontawesome 5 (#1531) * `limit_assets`: remove asset that breaks limit, not next one (#1536) * Remove all assets from DB that are gone (#1535) * Allow to query live data from api, adapt tests * Display additional information in the worker's table * Add panel and popover to show job detail * Make searchable field and fix DataTable loading * Add openqa-setup-db service that will create postgresql database (#1528) * Retrieve worker stats data * Do not query by default websocket server to display worker informations * Fix tests to expect new columns * Show size of assets exclusively kept by a group * Accumulate size of assets exclusively kept by a group * Document fast initialization of local tests (#1527) * Add column to groups with size of exclusively used assets * Also store if the asset is fixed in the DB * limit_assets: Use DBD::Pg directly for querying job asset * Check all columns in test for asset table * Show last use of asset in assets table * Ignore chromedriver logs * Show asset size * Write info about assets kept during cleanup to db * Improve comments in limit_assets * Fix PRJDIR error * Add support for colons on worker class * Add WORKER_CLASS to job_list filter * Fix caching of assets without caching of tests (#1521) * Accept a lower coverage - we removed code * Move worker log test to 24-worker.t * Schema.pm: Remove unused functions (increase coverage) * Remove SQL files for SQlite and for 2016 * Have our services require postgresql server to be up * Adopt generate-packaged-asset to use postgresql * Import log_error in OpenQA::IPC * Test: increment unstable_worker ticks and wait for each one to be ready * Remove more traces of Sqlite support * Provide t/test_postgresql to setup a temporary postgresql * Fix more test cases * Prepare a proper DB for the scheduler full test * Fix t/ui/22-job_group_order.t by providing sort_order in fixtures * t/ui/13-admin.t: Postgresql sorts RAID at the end * Sort table settings by key to have reliable tests * t/api/02-iso.t: Do not rely on hardcoded job number * Give WebSockets server its assets * Sort the previous jobs in worker table by ids * Skip all tests requiring a database * Test fixtures: restart the postgresql sequence * Fix t/17-build_tagging.t not to depend on Sqlite specifics * ui/04-api_keys.t: Don't rely on ids in fixtures * 14-grutasks: don't rely on DB sort order * Drop sqlite3 support * branding: Update SLE staging links (#1523) * Use log_info for worker activities (#1519) * branding: openSUSE: Add caasp (different bugzilla naming variant) (#1522) * Tidy the sources * Do not cast to int worker_status timer * Propagate error on IPC dispatch call * Use WORKERS_CHECKER_THRESHOLD to detect dead workers as well * Remove printing to debug the result of safe_call * Reduce OpenQA tests verbosity * limit_assets: don't wipe assets for PENDING jobs (#1518) * Allow same group name within different parent groups (#1507) * Apply log level correctly (#1516) * Check if job is valid before starting working on it. * Upload workers log to the webUI (#1502) * Only test basic tests on perl 5.26 (#1512) * Remove IDs from fixtures if they are in sequence (#1513) * Move the $shared_dir to setup_share_dir * Print project directory upon worker's init failure * Fix documentation generation script * Avoid warnings during test runs (#1511) ------------------------------------------------------------------- Wed Dec 6 15:48:20 UTC 2017 - coolo@suse.com - Add local-db subpackage to create local postgresql database for ease of use ------------------------------------------------------------------- Tue Nov 28 06:03:39 UTC 2017 - coolo@suse.com - Update to version 4.5.1511814842.53907890: * Make barrier option to automatically destroy the barrier if jobs belonging to it fails (#1498) * Improve web editor (#1510) * Remove outdated imports of JSON module (#1509) * Use Cpanel::JSON::XS in step/edit.html (#1508) ------------------------------------------------------------------- Mon Nov 27 07:55:45 UTC 2017 - coolo@suse.com - Update to version 4.5.1511709996.0670f622: * Use OPENQA_TEST_IPC for 12-admin-workers.t (#1506) * Poll status less often not to stress the server * Adapt coverage threshold * Mark workers dead when they disconnect from WS * Make full stack test more robust by adding more assertions * /tests/overview: Change sorting to show all machine variants together (#1489) * Use Cpanel::JSON::XS directly to avoid overwrite mess * Extend apparmor permissions for /usr/share/openqa/lib/** (#1504) * Test multiple perl versions in travis CI * Ignore specific 404 errors in the javascript console * Click away the feature tour in full stack * Make 21-admin-needles more robust * Clean VHD and VHDX images in cache * Treat VHD and VHDX images as HDD assets * Replace logrotate config with what we use in production (#1500) * Fix function names in ui tests * Rename PhantomTest to SeleniumTest * Remove support/work arounds for phantomjs * Use headless chrome instead of phantomjs * Use proper name and directory for PhantomTest * Update Cache documentation (#1495) * Make path of changelog configurable via config file * Add changelog for web UI * Avoid creating useless commits (#1497) * Add _ONLY_OBSOLETE_SAME_BUILD, _NOOBSOLETEBUILD -> _NO_OBSOLETE * Multiple loggings channels * Log Uniformization * Make sure /tests/overview shows test suite descriptions for all machines * Display job name on dependencies list * Worker: use population as scale_factor * Add websocket server test to cover errors when updating worker seen status and population update * Make threshold for worker_checker a constant, and tight the bond between the status timer and the timer for checking inactive workers * Use in_range from OpenQA::Utils in scheduler-full test * Best effort to let know worker population of different WebUIs * Move worker configuration reading to Worker::Common, making it easier to test and slim down the startup script * Remove already superseded default inactivity timeout from script/openqa-websockets * Remove keepalive message and introduce dynamic slot allocation for worker_status timer ------------------------------------------------------------------- Fri Nov 24 07:06:32 UTC 2017 - coolo@suse.com - adapt build dependencies to Cpanel::JSON::XS ------------------------------------------------------------------- Wed Nov 22 11:40:53 UTC 2017 - coolo@suse.com - replace phantomjs with chromium/chromedriver ------------------------------------------------------------------- Sat Oct 28 12:29:33 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.5.1509097496.8b8e8e20: * Prevent use of job_module_stats when showing jobs of worker * Fix sorting in table for previous jobs of worker * Remove all remaining uses of job_module_stats * Fix accessing job module stat 'unk' * Worker: Wrap asset_lookup() query in eval/if * Add API description for worker route * docs: Prevent parsing of '#' as markup * Allow admins to fetch the worker status by json * Fix name of the SUSE company * Prevent showing duplicated bugrefs twice * Fixing the package to build with newer assetpack (#1485) * Mention repos for Leap 42.3 ------------------------------------------------------------------- Thu Oct 26 04:23:45 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.5.1508961373.6d2e83a0: * Scheduler: Add option to deal with slow workers that could be detected as dead. * Scheduler: Handle stop/restart cleanly * Respect log level configuration even when no log file is set (#1413) * More prominent color for closed bug references, old ones for open bugs (#1412) * Scheduler: implement retrials before declaring a job not accepted by a worker * Scheduler: add option to wakeup when we receive new jobs * Adjust full-stack tests scheduler default values * API/Worker: Get updates from job that match the worker id * Revert "Permit a dropped test coverage for now" as we are covered now * Worker: send worker_id when updating setup status * Job: Return error messages when worker doesn't send id * docs: Move label and bugrefs doc from wiki * docs: Add description of closed issue visualization * Use OPENQA_TEST_IPC in more tests due to scheduler changes * Scheduler: add code comments, refactorize and simplify code * Include '.' in INC for 24-feature-tour.t (#1420) * Scheduler: Remove EXPBACKOFF option and default to binary * Scheduler: Remove shuffle option. Is new default now, if we don't shuffle free workers we might go into starvation since they can keep failing * Scheduler: schedule() now returns allocated jobs and failures * Websockets: distinct error while dispatching job over ws * Improve error if a worker cannot connect to a WebSocket (#1416) * Conflict no-cleanup worker with normal worker (#1417) * Scheduler: Add basic unit testing * Scheduler: remove retrials and workers cache * Scheduler: use another state for jobs that have been assigned but are not yet in running status * Worker/Websockets: Make worker send status messages, and websockets reaping jobs that are not matching states * Websockets: print details of messages received from unknown workers * Websockets: remove (now) misleading debug message * Worker: do not die in the loop when current_host is not set * Scheduler test: simulate unstable workers * Workers: collect error if we fail dispatching commands to websocket dbus service * Scheduler/WebSockets/Worker: update job state to running from worker responses * Scheduler: now job allocation checks are not needed anymore inside scheduler * WebSockets: use set_running when updating job status (#1426) * Add support for custom links in footer * Fix staging link for CaaSP * Worker: increase keepalive timer * Seperate footer links from footer legal part * Add 'report Bug' for OpenQA product * Scheduler: sleep when we have nothing to do * Adapt scheduler tests to new sleep mode * WebSockets: reset to schedule state if we detect stale assigned jobs * Websockets: set default appname - which is used in error templates * Websocket: wrap database transactions in try catch so we can debug dbus service errors * Create base for fullscreen mode on group overview site * Include just show latest comment feature * Add disable comments feature in group overview * Add fullscreen to group overview and rewind comments part * Fix uninitialized value error and typos * Add autorefresh for builds and comments in group overview * Make auto refresh rate adjustable * Fix sporadic problem of systemd service start (poo#21004) (#1430) * Add description part for api routes at not_found page * Add a quick tour to openQA * Enable feature tour by changing database entry * Adjust ui test * Replace old DEPENDENCIES.txt references to cpanfile (#1423) * Templates: improve error handling in running_table (#1427) * Utils: Flush log output when we don't use Mojo::Log * WebSockets: finish connection when we don't have the worker registered * Workers: print debug output when connection is closed * WebSockets: enable required plugin on setup * Add tests for WebSocket disconnection handling * Add missing figure for closed ticket labels * Prevent use of job_module_stats when showing jobs of worker * Fix sorting in table for previous jobs of worker * Remove all remaining uses of job_module_stats * Fix accessing job module stat 'unk' * Treat ASSIGNED state as in execution * Subscribe start_job/stop_job events before we call send on websocket connection * Worker: reset internal state if we fail contacting the WebUI * Worker: Do not cleanup if pooldir is not set * Add support for multiple distri/version/group on /tests/overview * Websocket: Do not kill connections due to inactivity (meant mostly for browsers) * Dereference hashrefs before using 'keys' * Check whether description available before printing it * Cover the websocket server to avoid uncovered changes with CI builds * Include all relevant distros when linking overview * Use Mojo::Log for logging worker's output * Refactor worker status messages * Cover main OpenQA.pm, which was left with low coverage * Changes the log level to debug if --debug or --verbose is applied. Default is info level. * Fix use of undefined $email by using default icon instead (#1444) * Sync needles when caching is enabled * Use cache_tests from isotovideo engine * Better reflect job execution through states * Replace tabs with spaces and fix indentation. * Ensure CSS classes are used for Datatables * Add setup state to be polled and tidy up * Test 404 error page * Ensure use of symlinked applications for clone_job/dump_templates/load_templates * Trim less text in overview tables by using CSS instead of custom code * Disable live log/terminal by default * Untie live stream from live log * Make details the default tab also for running jobs * Ensure streams for live view are only consumed when tab is active * Allow info/debug messages in javascript_console_is_empty * Switch to live view by default in full stack test * Move read_test_modules to OpenQA::Utils * Add support for getting test results as json * Fix missing openQA::Client import introduced in 7c91a962 * Improve documentation for contributors * Log IPC errors * make Makefile non-bash environment friendly (#1465) * Add log function log_fatal * Allow filtering by result on 'All tests' page * Add query param for filtering 'All tests' table by result * Adapt bugzilla link to new SLE15 installer (#1466) * Fix filtering by result on 'All tests' page for some results * Test enabling result filter on 'All Tests' page via query * Fix regression introduced in https://github.com/os-autoinst/openQA/pull/1460 * Ignore .pc directory for perltidy (#1472) * Fix missing log_warning import on IPC.pm (#1473) * Cherry pick perltidy fixes from @henrich (#1475) * docs: Add hint about performance impact of VM snapshots (#1474) * Create ResourceAllocator DBus service * Split fullstack tests in different build matrix * Create exists_worker in OpenQA::Utils * Use schema from ResourceAllocator instance, refactor to use exists_worker * Adjust scheduler full tests after the split * OpenQA::ServerStartup: set also appropriate handle when setting up logging, since now FakeApp has STDOUT as default handle * Add safe_call to OpenQA::Utils * Switching to safe_call in ResourceAllocator * Make job update take into account of ASSIGNED and SETUP state * Worker: Reset state also when we loose current_host (due to failure contacting webserver) * Return 0 by default on worker's try_lock_asset() * Worker: Wrap asset_lookup() query in eval/if * Make heartbeat timeout for rabbitmq configurable (#1479) * Add API description for worker route * docs: Prevent parsing of '#' as markup * Allow admins to fetch the worker status by json * Fix name of the SUSE company * Prevent showing duplicated bugrefs twice ------------------------------------------------------------------- Fri Aug 18 04:07:00 UTC 2017 - okurz@suse.com - Provide clone-job, dump-templates, load-templates as symlinks in bin-path ------------------------------------------------------------------- Wed Aug 02 17:27:08 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.5.1501694730.25c355a8: * OpenQA::WebAPI::Controller::API::V1::Job: catch errors and return no jobs when we fail to contact dbus * Schedule jobs without polling * Make workers only accept one job from one webui - also check if we dispatched the job correctly to the worker * Update worker seen status from ws keepalives if thought dead * Set to running just when we are sure the job got dispatched to the worker * Improve error handling when we fail resetting scheduling state * Do not use in the workers next_tick anymore when accepting the job * Fix the keep alive timer handling in worker * We need more timers to be host specific * Scheduler: Be more strict with job states * Apache: SetEnv proxy-nokeepalive 1 * Permit a dropped test coverage for now * Scheduler: further optimizations and refinements * Get rid of notify_workers, and from the signal that was associated to it in the dbus scheduler service * Remove job grab from the API * Fix bugzilla links for CaaSP (#1395) ------------------------------------------------------------------- Mon Jul 31 06:57:12 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1501432550.4c72a17b: * Some more permissions required for power8 worker (#1405) * schema: Add job module statistics to jobs table * Use job module stats from jobs table in 'All Tests' * Add . to INC for tests that use local modules (perl 5.26 doesn't) (#1406) * Update job module stats when module inserted/updated * Fix typo in networking documentation (#1407) * Add the job module statistics to the migration code (#1409) * SLE 'LeanOS' corresponds to 'Server' on bugzilla.suse.com (#1393) * Dynamic feature infos for users (#1388) ------------------------------------------------------------------- Sun Jul 30 16:39:37 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1499449966.bd9ee915: * Replace die with log_error * Avoid edge case of asset sizes being incorrect. * Cache: resolve to current host when host URL cannot be resolved (#1352) * job templates: Fix removing options when finalizing row * job templates: Fix check for test selection when finalizing * job templates: Improve coding style in post * Fix bullet points in dashboard (#1356) * Provide a default (0) to max_rss_limit so that the config actually works (#1358) * Cache: Make each log message uniquely identifiable * Allow plugins to load specific configurations * Remove auth_config from OpenQA::WebAPI::Auth::* * Add fullscreen base into project * Add form entry for fullscreen view * Fix navbar to not hide if dropdown selected * Change help popover description in filtersection * Correct main controller and index page * Add error message for missing webserver * Also recognize kde bugrefs in Utils.pm (#1366) * Add link to CaaSP staging (#1360) * Also recognize fdo bugrefs in Utils.pm (#1367) * Database change for bug status * Improve assets log messages (#1365) * Documentation for GRE (#1369) * Extend sorting by time to parent group overview (#1362) * Add workaround for PhantomJS in needle edit test * Fix typo workround -> workaround * Prevent bugref_to_href replacement at end of title (#1372) * Refactor rendering response for server-side DataTable * Refactor server-side code for audit log * Refactor server-side code for previous jobs of worker * Test takeover of exclude areas in needle editor * Fix wrong HTML, input must not contain text * Show exclude areas in needle diff * Show exclude areas in needle editor always * Document areas * correct typo (#1379) * Enable INTEGRATION_TESTS (#1384) * Retrigger download retry for incomplete downloads * Fix perl structure printed in the logs * Check when asset has been removed by hand * Changing from using pure perl to Mojo::Asset::File * Allow the cache to use a configurable sleep time * Unlock the asset before the next download retry * Add unit test for cache * Add 25-cache.t to testrules.yml * Set sleep_time to 5 again * Remove unnecesary code from cache tests * Refactor server handling to avoid race conditions * Improve handling of logs and directories * Improve cache tests * Improve server_start and port handling * Remove unnecesary calls to Mojo::Asset::File * Fix test directory to share/tests (#1383) * Sort the failed modules on their timestamp not by their name (#1378) * Add test for "Server unavailable" * Inform user when OpenID login fails with no message from OpenID provider (#1380) * Increase the grace timeout to have uploads finish (#1385) * Notify the workers only when there are no errors * Create jobs from settings within a transaction * Increase information in logs if a wrong secret is used (#1374) * Avoid OpenID login to clutter log files (#1386) ------------------------------------------------------------------- Tue Jun 20 06:18:43 UTC 2017 - okurz@suse.com - Exclude not supported and not building i586 in spec file rather than project config - Use internal macro for %setup - Cleanup description and doc section ------------------------------------------------------------------- Wed Jun 7 13:51:42 UTC 2017 - coolo@suse.com - disable tests on tumbleweed as they hang - need to debug this regression first ------------------------------------------------------------------- Thu Jun 01 07:38:52 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1496302635.5e9b3f9: * Replace die with log_error * Avoid edge case of asset sizes being incorrect. * Cache: resolve to current host when host URL cannot be resolved (#1352) * job templates: Fix removing options when finalizing row * job templates: Fix check for test selection when finalizing * job templates: Improve coding style in post * Fix bullet points in dashboard (#1356) * Provide a default (0) to max_rss_limit so that the config actually works (#1358) * Cache: Make each log message uniquely identifiable ------------------------------------------------------------------- Tue May 30 13:33:09 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1496150882.49e14ecd: * Avoid OpenQA::IPC::ipc being called premetaure (#1185) * Add $prjdir prefix for relative filenames in Needles * Add option to change $prjdir on the fly * Adapt timers helpers for multi-hosts * Make api_call not to recurse into IOLoop, add callbacks * Adapt worker registration to multihost * Adapt jobs helpers to non recursive api_call and multihost * New multihost workers.ini * Per-host working directory support * Multihost commands parsing * Adapt worker tests for non-blocking api_call * Use OpenQA::Utils log functions in worker * Use share/factory directory instead of factory link * Replace dirs parsing by one liners * Remove dead code * Use testcasedir helper instead of removed static * Add some unit tests * Fix generate/packed-assets not to require dbus session (#1186) * Avoid 404 errors on scheduled jobs * Take 4 travis jobs as success * needle editor: Validate needles/tags in JavaScript (#1189) * Reduce the number of travis jobs (#1188) * Duplicate the job if the worker is terminated * Simplify selenium using code * Do not do any jsonfile path processing * Prevent uninit ws variable warning * Pass query params as params key for duplicate * Allow api_call to be called without callback * Change the Mojolicious version requirements (#1195) * Fix needle path check (#1196) * Fix the 12-needle-edit test to leave the data in place * Import log_error before using it * Introduce project share directory variable * Adapt test to use share directory * Switch test distro from pitux to tinycore (#1203) * Fix last remnants of global url and ua usage * Add image upload to full stack test * AMQP: Declare exchange passive and durable (#1202) * Fix an error when job result is "setup failure" * Prepend sharedir when looking for needles with relpath (#1205) * Add full stack test for setup failures * Fix 24-worker.t * Fix build lookup for single groups (poo#15988) (#1204) * Allow override of the usual setting precedence order (#1200) * Fix undefined warning for _stop_job_finish (#1207) * Shared worker documentation * Document referrer configuration and label:linked * Fix job_timeout timer not being removed after stop_job (#1209) * Add get_timer getter for worker timers query * Add tests if start_job set proper timers and stop_job removes them * Improve code preparing data for test overview * Synchronize 'TODO' filter with review badges * Add help popover for 'TODO' filter * Show help popover details link in new tab * Enhance jobs list in worker page (#1212) * docs: Ensure pool dir exists when starting worker manually (#1213) * Fix UI test skipping when modules not available (#1211) * Avoid creating duplicit dependencies (#1214) * Update documentation for a more obvious flow (#1218) * branding: Add casp reporting links (#1219) * Add notice to clone_job.pl help text (#1222) * Do correct DISTRI-VERSION case dir lookup * Fix AMQP SSL wide character JSON encoding (#1224) * Refactor test for scheduler dependencies (#1225) * Fix apparmor profile to let worker read from /other (#1228) * Update GettingStarted for some Fedora repo changes (#1229) * Fix time display regression introduced by f127654 * Harmonize running/scheduled time string also in UTC * Show absolute time in tests list for finished as well * Fix typo and make vhost config more readable * Update Pitfalls.asciidoc * Add pitfall for fake authentication method * docs: Correct asciidoc syntax for pool instance table * clone_job.pl: Display description with examples on '-h', too * Update create_admin script * docs: Improve language of 'using snapshots' section * Fix synchronization of TODO with badges * Add link from test details to assigned worker * Fix bugzilla links as CASP was renamed to CaaSP * docs: Delete reference to inactive stable repo (#1230) * needle editor: Fix errors appearing in JS console * needle editor: Show new tags in own line * needle editor: Display all tags in the same way * Allow configuration of how builds are sorted in web UI * Add id to comments over API to allow referencing * Fix needle editor when taking matches is disabled * Fix openqa_web docker instance running * Update Dockerfile to host openQA on Leap 42.2 * Change deprecated "MAINTAINER" instruction * Add instruction "LABEL version" * Use the default openID provider * docker: Remove pool volume unused by webui * Fix error when running the worker container * Fix dockerfile for webui * Fix dockerfile for workers * Update README.md for docker section * Document running selenium UI tests (under Leap) (#1250) * Make needle edit test case less specific * Prevent double machine tag output in 02-iso.t * Add option for 'isos post' route to deprioritize old builds rather than obsolete * needle editor: Format new tags bold * needle editor: Prevent adding empty tag * docs: Add documentation for 'triggering tests' * Harden loading of auth modules with whitespaces (#1253) * Allow redirects for clone_job requests (eg to ssl) * Allow annonymous read access to operator tables * Fix failing admin test * Fix bugzilla reporting links for CaaSP * [docs]: added documentation about setting up ssl (#1257) * client script: Don't encode URL twice (#1260) * Allow api_call to be called without callback * Add Cache * Enable caching on the worker * Improve Cache package and tidy up the code * Fix cache.db problems * Ensure the asset has the proper name * Add TESTPOOLSERVER variable for caching * Refactor to allow CACHEDIRECTORY to replace share directory * Simplify api_call nesting * Fix the ISO expansion for local assets * Let's set reasonable goal for codecov * Work on testing cache * Do not exclude .git from syncing * Harmonize the keys used for assets * Add newlines to log output * Improve cache directory * Catch errors on cache downloads * Fix perlcritic errors * We need Mojolicious 7.24 for max_response_size * Implement download_asset so we can actually test caching it * Remove -E option from flock - we do not check the exit status * Make sure assets in pool are handled correctly * Add support for multiple group, no build on /tests/overview * docs: Add hint about multiple groups, no build * Call rsync of tests in a child process and notify webui * Move OpenQA::Cache to Worker namespace * Trying to make workers.ini more descriptive * docs: Add explanation for job priority (#1262) * Schedule worker reregistration in case of api-failure * Add more logging to job notifications * Use host_port when parsing URL * Prevent various timer loops * Do job cleanup even in case of api failure * Ensure uploaded assets have correct perms (#1263) * Change $testpoolserver only if passed as option (#1264) * Set read permissions for downloaded assets (#1267) * Ignore module flag 'important' (#1266) * product log: Don't show actions when not at least operator * Make assets, workers and API help publicly available * needle editor: Fix inserting tag via middle mouse button (#1269) * Fix restarting jobs from worker page (#1272) * Merge 'Status' and 'Connected' columns in workers overview (#1273) * Add anchor for build results on index page (#1265) * Lower down quantity of automatic carryover * Add environmental variable to skip online tests * Be specific which text element we want to test * Fix hardcoded cache.db file * Fix assets not being removed * Force read_db after a write * Add subtest for Cache * Improve log output for label carryover * Ensure that label carryover is done correctly * Fix the recursive $db_file appending (#1279) * Tidy the code after last hot fix * Relax the regex for build values in tag: comments again * Don't obsolete jobs for VERSION-BUILD tagged builds * needle editor: Distinguish tag/area selection in check * needle editor: Test verification when not copying areas * Improve little triangle sign below a screenshot (#1285) * Add ignores for db.lock and phantomjs log (#1287) * Correct 'softfailed' reference to passed (obsoleted) * Ensure consistent naming of 'failed'+'softfailed' in all occurrences * Fix overriden shared $dir worker registration (#1291) * Add a Contributing section * Add explicitly index and current.pdf * Stop distinguishing softfailures * Fix typo 'parallel' (#1290) * Adjust grid wrapping in build tables (#1286) * Use space indendation consistently in javascript files * Delete w/s at EOL in javascript files * Add 'build-results' anchor for group-overview page, too (#1281) * Replace old 'important' behaviour with 'ignore_failure' (#1297) * Give failed screenshots back the red border (#1300) * Adjust test module flags on Details page for ignore_failure (#1299) * Document the 'norollback' flag in WritingTests (#1298) * Better error msg for openqa client (#1303) * Improve 'Downloading failed' message (#1302) * Refactor 05-scheduler-dependencies.t (#1306) * Shorten build-numbers with dots to prevent overlapping (#1305) * Fix "only tagged" for tags with version (#1296) * Do not upload empty serial_terminal.txt (#1274) * Makefile: Allow to skip checkstyle (#1304) * Fix missing space in log debug message (#1307) * Register job assets even if one of the assets need to be skipped (#1310) * Test whether admin table displays needles which never matched * Show needles in admin table which never matched * Improve logging in case of upload failure (#1309) * Improve product fixtures to prevent dependency warnings * Handle wrong/missing job dependencies appropriately * clone_job.pl: Print URL of generated job for easy access (#1313) * Allow lscpu to read all of /proc - but only lscpu (#1315) * clone_job.pl: Skip downloading generated assets in all cases (#1314) * Fix invalid HTML * Don't use name attribute on div element for markdown * Fix indentation in overview.scss * Fix showing long needle name in hover popup * Prevent DB exception when adding tests in job templates (#1318) * Remove duplicate "current step" (#1319) * Refactor Cache.pm to use SQLite instead of json * Update cache full stack test * Fix minor race condition * Increase test coverage * Use cache.sqlite instead of cache.db * Detect and set current version of openQA, display it in the footer (#1316) * Add service file for workers with "no cleanup" (#1320) * Prevent tags from getting cut by long build numbers (#1321) * clone_job.pl: Fix generated job URL to be the receiving host (#1326) * Unlink existing asset symlinks on syncing (#1323) * Move OpenQA::Test::* modules to test directory (#1325) * Improve admin test (#1327) * Fix makefile syntax (#1328) * Avoid line break after h4 in midori and co (#1333) * Implement a config option to restart workers that grew too big (#1339) * Allow cache to handle 5XX errors and retry 5 times (#1337) * Inspect failed modules in /tests/overview (#1335) * Fix print() on closed filehandle $log (#1334) * Replace file_content() with Mojo::File (#1331) * Disable printing time when logging to STDERR * Add more tests to configuration parsing * Fix bugzilla reporting link for SLE-12-SP1 (#1332) * Make 'TEST' the only proper mandatory test setting (#1126) * Avoid unit test to write on source code directory (#1341) * Fix breakage introduced by https://github.com/os-autoinst/openQA/commit/659464d19b02e541f2529bd313c39681c71adfcf (#1343) * Add scheduler test to cover OpenQA::Scheduler::FakeApp (#1345) * Fix documentation publishing on gh-pages * Make sure a valid up-to-date license in all files * Fix doc generation - testapi (#1347) * Add unit test to fix codecov "uncovered changes" (#1348) * Add direct link to video position (poo#19300) (#1342) * Avoid github and use a CDN for chosen.jquery (#1350) * Correct Typo in Firewall config file (#1351) ------------------------------------------------------------------- Thu May 18 09:12:07 UTC 2017 - mlin@suse.com - Prerequire needed group nogroup ------------------------------------------------------------------- Thu May 18 08:45:27 UTC 2017 - slindomansilla@suse.com - Also provide systemd services for workers with '--no-cleanup' ------------------------------------------------------------------- Thu May 18 07:28:35 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1495052041.c6a5bc94: * Remove duplicate "current step" (#1319) * Fix minor race condition * Increase test coverage * Use cache.sqlite instead of cache.db * Detect and set current version of openQA, display it in the footer (#1316) * Add service file for workers with "no cleanup" (#1320) * Prevent tags from getting cut by long build numbers (#1321) * clone_job.pl: Fix generated job URL to be the receiving host (#1326) * Unlink existing asset symlinks on syncing (#1323) * Move OpenQA::Test::* modules to test directory (#1325) ------------------------------------------------------------------- Sat Mar 18 20:03:22 UTC 2017 - coolo@suse.com - bump mojo requirement ------------------------------------------------------------------- Sat Mar 18 19:31:50 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1489864450.251306a: * Make sure assets in pool are handled correctly * Call rsync of tests in a child process and notify webui * Move OpenQA::Cache to Worker namespace * Trying to make workers.ini more descriptive * docs: Add explanation for job priority (#1262) * Schedule worker reregistration in case of api-failure * Add more logging to job notifications * Use host_port when parsing URL * Prevent various timer loops * Do job cleanup even in case of api failure ------------------------------------------------------------------- Thu Jan 19 10:05:15 UTC 2017 - santiago.zarate@suse.com - Add the openQA.changes file to be distributed as public/Changes on the web-ui ------------------------------------------------------------------- Wed Jan 18 09:36:30 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1484732113.4fb90841: * Document filtering * Fix documentation generation (#1177) * Fix corner buttons (#1176) * utils: Add kernel bugzilla bugref (#1175) * Do not run tests for GH_PUBLISH=true * Mojolicious 7.19 has broken SSL support - blacklist it * Switch to CDN for fontawesome * Fix missing images in documentation (#1180) * Do not even run the coverage target if GH_PUBLISH is true (#1183) ------------------------------------------------------------------- Thu Jan 12 10:50:47 UTC 2017 - coolo@suse.com - bump requirements to Mojo and AssetPack ------------------------------------------------------------------- Thu Jan 12 09:29:00 UTC 2017 - okurz@suse.com - add Sort::Version requirement ------------------------------------------------------------------- Thu Jan 12 09:27:55 UTC 2017 - rd-ops-cm@suse.de - Update to version 4.4.1484213177.5ef2a6e4: * Add css class to click on action (#1147) * client: Support sending JSON data (#1150) * Test both phantomjs and chrome on travis * Exclude AssetPack >= 1.30 - it will break fonts * Sort build versions correctly (#1136) * Add optional profiling support using Mojolicious::Plugin::NYTProf (#1153) * Add tests for client script * Don't use config file as database lock file (#1157) * Fix build of the package: we need a db directory to lock now ------------------------------------------------------------------- Thu Dec 22 07:00:17 UTC 2016 - coolo@suse.com - remove YAML and Socket::IO::INET6 dependencies ------------------------------------------------------------------- Wed Dec 21 14:25:02 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1482329765.866bba8: * Improve buttons in interactive mode * Fix command API route * Synchronize INTERACTIVE and STOP_WAITFORNEEDLE_REQUESTED * Change the format for developing with snapshots (#1093) * Fix sorting of needle table (#1092) * Add short route to individual job results '/t:testid:' (#1089) * doc: fix typo (#1096) * Fix AMQP reconnect timeout config var (#1098) * Add AMQP connection error msg to log (#1099) ------------------------------------------------------------------- Thu Dec 15 19:12:12 UTC 2016 - coolo@suse.com - add new require on time::parsedate ------------------------------------------------------------------- Thu Dec 15 19:11:43 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1481828911.8296cb4: * Update worker apparmor file from production worker log (#1078) * Add brc (Red Hat Bugzilla) and bgo (GNOME Bugzilla) labels (#1083) * Auditlog: display event time on hoover * Auditlog: add page and rows query options * Switch audit log to server side processing * Use system user to create system events * Add new Time modules dependencies * Add page displaying single event * Improve search query parser to support multi-word queries * Don't bother with event data shortening ------------------------------------------------------------------- Fri Dec 9 13:40:58 UTC 2016 - coolo@suse.com - add bcond_with tests to run phantomjs optionally ------------------------------------------------------------------- Fri Dec 09 08:31:26 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1481216307.2d2b18a: * worker: Prevent use of uninitialized value (#1066) * Copy over policies from os-autoinst * Fix usage of qw(SINGLE_VALUE) in use statements * Rework websocket server (#1057) * client: Respect --json also in case of an error (#1068) * client: Set 'Accept'-header in any case (#1070) * Return 404 on status update for job without worker * worker: Abort job if considered dead by web UI * Improve misleading comment * Comment events: Drop unneeded fedmsg conditional, include id (#1065) * Improve log message when job considered dead (#1075) * Disable carry-over for job 'labels' to support new use cases (#1071) ------------------------------------------------------------------- Mon Nov 28 11:37:00 UTC 2016 - oholecek@suse.com - Do not package removed files script/migrate_images and backlog ------------------------------------------------------------------- Mon Nov 21 16:06:22 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1479741639.90bdf0f: * external_reporting: Fix differing header level in description (#1012) * Add test for parents on index page and parent group overview (#1015) * Show build tags on parent-level (#1018) * Add a 120 column limit to .perltidyrc (#1017) * Fix a few formatting mistakes and remove repetitive method calls (#1020) * docs: Update openSUSE repos to current supported (#1021) * Fix URLs in dashboard when version/distri differ (#1024) * Show submenus on click (#1025) * Update bootstrap to 3.3.7 * Wait a bit in tests if there is an ajax call ------------------------------------------------------------------- Tue Nov 8 10:10:39 UTC 2016 - coolo@suse.com - update cache for bootstrap-submenu ------------------------------------------------------------------- Tue Nov 08 10:08:14 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1478599354.3d748dc: * Fix job group overview without description (#957) * Don't free worker before artefacts are uploaded (POO #14378) (#958) * Improve override needle test (#962) * Use textareas in test suite editor (#961) * Fix worker error reporting when asset cannot be found (#963) * Make .json easier to use and include more data (#965) * Add API routes for job group parents (#952) * Hide empty job groups from index page (#967) * Optionaly inherit command line variables in parent (#951) * Add gzip and rsync to worker's AppArmor (#968) * Only store md5_dirname if the image is in /images (#959) * Fix malformed HTML * Fix malformed HTML (#970) * Prepare CACHEDIRECTORY example in workers.ini and provide profile (#969) * Implement Drag & Drop group editor * Add support for github 'bugrefs' * t: Delete unused (disabled) 'use Test::Output' * t: Ensure proper output catching * Improve usability of job group property editor * Replace all '...' with '...' in web UI * Add assert_script_run description * Allow '@' in asset name (#979) * Fix list of needle tags in needle info popover (#977) * Allow worker profile to access fixed assets * Fix download of fixed assets from web UI * Reindent 01-jobs fixtures * Use url helpers to map the asset path to URL * Add help text using popovers, title and placeholder (#983) * Add missing argument for hmac timestamp validation * Give tests without fails a no-TODO tag (#960) * Trying to make peace with adamw over locate_asset * Add a repository as test fixture to test subpaths * Show tags on index page * Add API auth tests * Improve help popups * isotovideo: Remove redundant '|| undef' (#989) * branding: openqa.suse.de: Update staging to current SP3 (#988) * Show parent groups in navbar (#974) ------------------------------------------------------------------- Thu Oct 27 14:47:15 UTC 2016 - coolo@suse.com - have openqa_worker own /var/lib/openqa/cache ------------------------------------------------------------------- Thu Oct 27 14:46:23 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1477579540.21d4009: * Use textareas in test suite editor (#961) * Fix worker error reporting when asset cannot be found (#963) * Make .json easier to use and include more data (#965) * Add API routes for job group parents (#952) * Hide empty job groups from index page (#967) * Optionaly inherit command line variables in parent (#951) * Add gzip and rsync to worker's AppArmor (#968) * Only store md5_dirname if the image is in /images (#959) * Fix malformed HTML (#970) * Prepare CACHEDIRECTORY example in workers.ini and provide profile (#969) ------------------------------------------------------------------- Sat Oct 22 05:40:43 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.4.1477110901.763fe71: * Step controller: split init into 2 functions * Fix coverage skipping files with 't/' in path * Test source view from running * Treat #details tab as all the others to fix back button * Add test for switching tabs in tests result view * Some fixes for the new results / running page * Fix SQL query to query important jobs * docs: Update OBS references * Upgrade to Leap 42.1, and fix apache2 starting problem * Live view: simplify drawImage * Be way more careful with history manipulation on results page * Treat # and '' the same for history management * Allow sha1sum for os-autoinst:2144a20c * Allow git for os-autoinst:d29266f * clone_job.pl: Add option '--skip-download' * Give the user better hints on what we expect for the expiry date * Do not create a link_post for reschedule isos * Use the proper API to get the data of the selected row not the first row * Replace the broken PNGed SVG with the real one * Talk to os-autoinst through HTTP instead of the file system * Replace document.ready with $(fn) * Fix interactive buttons * Fix upload of images during needinput * Make sure the worker stops at signals * Fix spelling of existent * Add web UI controls to select 20/50/100/400 previous results * limit_assets: when sizelimit is exceeded, remove more * Be more graceful when stopping the backend * Always set a t_finished to now if the job has a final state * Sort the finished jobs by their finished time * Change the order of the tests in the list test * Set a t_finished time in fixtures to have predefined order of finished jobs * Sort the scheduled jobs based on time * Sort the running jobs by Start time * Benefit from the hashsum calculation for our icons too * Remove pauseplay class and image - no longer used * Add more icons to assets and remove what's left in public/images * Remove dead file * Add custom whitespace squish * Use manual whitespace trimming after squish was removed from Mojo7 * Mojo7 removed Mojo::URL::authority, use host_port instead * Add SUSE internal branding with more links * Refresh running modules in #details view * Deal with race conditions when refreshing #details * Create missing results tbl on #details * Reload broken thumbnails on test #details * Correct description for use of OPENQA_CONFIG * Fix build tagging when @ is used * Clarify comment in the dashboard test * Use correct job result in openqa events * Add command_enqueue to worker model as send_command * Export log_error helper in OpenQA::Utils * Add job_set_done and job_cancel to Jobs module and result set * Adapt tests for moved job_set_done and job_cancel * Remove scheduler dbus exports and subs job_set_done and cancel * Remove command_enqueue from scheduler and dbus * Check for user when emitting event * Log iso_cancel for canceled jobs due to new iso and allow job_cancel_by_settings event * Fix typo in worker check during job duplication * Fix counting of cancelled jobs * Update Jobs::cancel to accept $obsoleted option * Use ws_call using well known format to send messages to WS server * Sync property parsing to workers format * Make softfailed a proper final result * Add tests for showing softfails in prev results * Give user_restarted an explicit colour * Remove MySQL from deployments, we never test migrations or deployments * Resort to raw SQL instead of avoiding the schema and still use dbic * Fix DB access error when skipping scheduled children * Test both children skipping and stopping * Accept softfail result as passed * Add test scenarios for job result calculating * apparmor: Add missing /usr/lib/git/git * Make softfailed tests show the right colour * Make non-important failures at least a general softfail * Calculate softfailed at the very end to fix one specific case * Add more tests for corner cases * Carry over also for incomplete and softfailed * Add V1 API for comments * Use API for comments in web UI * Add comments without reloading page * Only redirect to running tab when no # is in url * Clear url hash on test step result preview close * Test for url hash cleanup after preview close * Fix incorrect 21-admin-needles test * Fix calculate_result (again): $overall should cover all * Improve error handling of comment API * Prevent needle editor flickering (progress #12984) * Enforce build order for group overview in tests * Remove unneeded functions of old comment API * Add 'latest' query route * Remove history for step navigations * Replace job_set_done by $job->done in dead job handler * Move dead worker check to websocket server * Add test for dead worker detection * Make build in previous view a link to tests overview * Add test for 'todo=1' query param * t: Fix typo in t/ui/18-tests-details.t * Fix deadworker timer function reference * Fix complex_query and its usage in last route * Render links on 'latest' route directly instead of redirect * templates: Simplify single line statements * Make title for 'previous results' a proper heading * t: 12-needle-edit.t: Try to find overwrite warning more often (poo#12980) * previous: Move current limit where other options are * Add web UI controls to select more builds in group_overview * Add web UI controls to filter only tagged or all builds * Fix workaround label * Fix taking over tags from a workaround needle * worker: Remove tons of work arounds and quirks in upload * Allow cksum to be called in the worker * Upload assets as temporary files and only rename after chksum check * Fix typo * Prevent use of non-existing route in upload_status * templates: live: Fix url_for over 'latest' route * Disable auto-duplication of jobs (poo#13042) * Avoid shift * Test handling deleted needles in needle editor * Ignore deleted needles when showing needle editor * Show warning about deleted/bad needles (needle editor) * Fix admin layout for test suites with long keys Currently test suites slenkins-tests-ceph-control and s390_hsi-l2 * Make apache follow symlinks for assets directory * Fix '0' duration for previous jobs on running or scheduled job * Add link to latest job in each scenario * Allow pinning comments as group description * Fix jobs templates layout * Also filter 'machine' on latest * Vertically align progress bar with build number * Re-add boundary hack * Make 'latest' link more explicit * Do not quote identifiers, solves problem with uppercase column (#838) * use /var/lib/openqa/share/factory/iso path (#849) * Add 'bash' to be able to run 'CMD' (#850) * Add filter from in test overview (#852) * Draw needle match labels after match boxes (#851) * Add lock barriers (#845) * Show custom error pages (#831) * README: Update coveralls icon by .svg version (#853) * Add new job state (#848) * Remove old comment code (#856) * Run optipng on the worker while uploading images (#858) * Add filter for all states and results * Distinguish comment events * Show results and states dynamically * Test whether job still exists in reduce_result * Split Logging support out of WebAPI (#860) * Give the scheduler a home (#862) * Log status update without worker (#861) * dead worker check: use 15 secs not 10, better names, comments (#864) * Fix the stale job calculation for uploading jobs (#865) * Fix path in docs about migrating db schema * Show filter on top and display current filter * Avoid HMAC timestamp mismatch during large file upload (#871) * Give Websockets and Scheduler the home of the webapi (#870) * Label builds where all tests passed as reviewed * Dont grab twice (#874) * Prevent detecting occurrences like bsc#2436346bla as bugref * Replace URLs with the appropriate bugref pattern * Do not rely on WebAPI to find home - require and use an harmless class (#876) * Prevent multiple bug refs per comment to yield incorrect URLs * Add 'match' query parameter for index page * Add 'group' query parameter for index page * Add more faking to FakeApp - so restarting jobs works again (#880) * comment the home detection for scheduler/websockets better * Allow bugrefs being separated by any non-word chars * Fix used needle indication when needles are in folders * Merge match and group parameter * Use $FindBin::RealBin to resolve links for client script (#889) * Fix previous jobs showing up for different machine (#885) * Remove FIXMEs and disabled code in t/ui/15-comments.t (#888) * notify workers when job with chained children done (POO #13746) (#883) * Pass encoded URL filter parameter correctly (#890) * Reintegrate job duplicate (#875) * Mark worker alive for all kind of artefacts (#894) * Small schema change to add an index (#895) * Add IPC debug to websockets too to debug hangs (#896) * update apparmor profiles for ppc64le (#892) * Try harder to avoid long running pre-processing (#897) * Increase session expiration from 1 to 48 hours (#900) * Make ws_send_all WebSocket call not waiting for results (#902) * Avoid DBUS dead locks (#901) * Do not manually render anything on websocket creation (#903) * Prevent error message in log as 'scheduled' jobs are also 'inprogress' (#906) * Add scenario params to limit URLs for previous results (#893) * Handle links to bugs already formatted correctly (#905) * Improve documentation about PosgreSQL (#904) * Test time_limit_days query parameter (#907) * Fix comments test (#908) * Split the images directory even more (#739) * Add anchor links to comments (#909) * Move comments.css to sass reduce copy&paste (#910) * Readd the lost name of the thumb_nail route (#911) * Refactor computing build results (#898) * Show incomplete/skipped bugs, show tooltip on progress bars (#912) * Add link to openQA review (#899) * Fix vertical alignment of progress bars in tables (#917) * Show progress indication in admin needle table (#918) * Track image assets better (#919) * Fix deletion of multiple needles at once (#921) * fix downloading assets to different filename * Fix sorting in admin needle table (#924) * Add JSON representation of index and group overview (#922) * Add filter form for index page (#923) * Add /index.json route and test it together with overview.json (#925) * Fix /index.json route to pass the format (#926) * Fix softfailed results not showing in tests list (#930) * Fix group filter on index when param is empty (#933) * Fix group overview when no builds shown (#932) * t: Add 'Test::Warnings' where missing; Catch all warnings in tests again (#931) * Extend schema of JobGroups (#914) * Fix typos (#935) * reuse a constant boundary to make debugging failed uploads a little easier (#934) * Some code cleanup and more tests (#937) * Fix test result info spacing (#938) * fix loch ness monster bug in 14-grutasks.t (#941) * Load step and needles for failedmodules link async (#936) * Complete API for job groups (#942) * Auto reload result page on state sched -> running (#940) * Update Installing.asciidoc (#927) * Go to bugzilla.suse.com also for bnc# (#943) * Fix going to bugzilla.suse.com also for bnc# (#946) * Improve error handling when deleting needle (#939) * Fix needle deletion via Git (#948) * WebAPI: Delete comments stating the obvious + delete unused routes (#947) * Render bugref links in thumbnail text windows * Test render bugref links in thumbnail text windows * Show job group description (#950) * Add 'fixed' asset subdirectories for fixed assets (#928) (#945) * use locate_asset in register_assets_from_settings (#954) * Rejig compressed asset download, don't leave compressed files (#955) * Fix registration of downloaded assets (broken by 0905559b) (#953) * List needle tags + step icons (#944) ------------------------------------------------------------------- Tue Sep 20 16:08:23 UTC 2016 - oholecek@suse.com - Add missing dependency perl(JSON) for openqa-client ------------------------------------------------------------------- Mon Sep 19 12:55:18 UTC 2016 - oholecek@suse.com - Add missing dependencies perl(Data::Dump) and perl(Getopt::Long) for openqa-client ------------------------------------------------------------------- Sat Sep 17 21:12:24 UTC 2016 - oholecek@suse.com - Add symlink /usr/bin/openqa-client to /usr/share/openqa/script/client ------------------------------------------------------------------- Thu Sep 8 17:21:36 UTC 2016 - oholecek@suse.com - Ghost /var/lib/openqa/share in common subpackage * solves issues when updateing worker with mounted NFS ------------------------------------------------------------------- Mon Aug 22 08:16:58 UTC 2016 - oholecek@suse.com - Remove perl(Perl::Critic) build requirement, added by mistake ------------------------------------------------------------------- Mon Aug 22 07:42:01 UTC 2016 - oholecek@suse.com - Package /var/lib/openqa/share for common subpackage - Pakcage /var/lib/openqa/share/factory/[iso|hdd|other|..] for openQA package ------------------------------------------------------------------- Sat Jul 9 05:37:05 UTC 2016 - coolo@suse.com - Update base version to 4.4 to express new API of isotovideo ------------------------------------------------------------------- Mon Jun 20 14:51:04 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.3.1466434215.021a11c: * No longer export the worker_id as hash entry * Remove job_get from the scheduler * Simplify our theme - split the sass theme from the specifcs * Set an explicit colour on cancelled * Use default bootstrap table class for striping * Use the theme colour in tables * Have our bootstrap theme based on https://bootswatch.com/paper/ * Fix comments test - h2 is the new h1 ------------------------------------------------------------------- Wed Jun 01 14:46:45 UTC 2016 - rd-ops-cm@suse.de - Update to version 4.3.1464792258.155f49e: + t: Use helper function to wait for ajax + Extend iso post TEST parameter to support a list of tests (poo#10482) + Test for "let TEST parameter support a list of tests" + Enable brackets inside keys in client script + Add first approach for editable comments + Make comments for tests editable, too + Fix indentation of flash and wells on test page + Fix minor mistakes in editable comments + Reduce code-dublication in templates + Add first approach to test editable comments + Test comment editing in test results, too + Check for current user in commenting functions + Adjust t/17-labels_carry_over.t to reflect changes + Add css class no_hover to all /thumbs/ + Improve TEST parameter to support a list of tests + needlediff: Improve similarity text look + Use the nice audio icon (with the correct size) + Use nice icon for wait_serial + add a config setting to specify asset types not to link to + Increase left padding of status icons + Prevent error in group_overview with '-important' builds + Check database configuration with better user feedback + Fix broken string compare slipping into wait_serial icon change + Fix non-ASCII characters in comments + Allow admins to delete any comments + Fix showing editing buttons + Fix regexp for multiple parent jobs + Fix typo in 05-scheduler-restart-and-duplicate.t + Improve log message about 'setup failure' + Support tests/export to get a text format for archives + Fix re-enabling current user role + Adapt to latest AssetPack ------------------------------------------------------------------- Sun Apr 10 05:44:27 UTC 2016 - oholecek@suse.com - add perl(Archive::Extract) dependency (needed by PR#627) ------------------------------------------------------------------- Tue Mar 22 12:49:25 UTC 2016 - oholecek@suse.com - create openQA-client and openQA-doc subpackages - remove DB handling, it's done by openQA itself now ------------------------------------------------------------------- Wed Feb 17 08:48:11 UTC 2016 - coolo@suse.com - adapt to adam's changes ------------------------------------------------------------------- Mon Feb 15 15:37:51 UTC 2016 - lnussel@suse.de - remove user migration code. no such systems should exist anymore ------------------------------------------------------------------- Thu Jan 14 12:45:46 UTC 2016 - oholecek@suse.com - update base version to 4.3 ------------------------------------------------------------------- Fri Jan 8 17:41:37 UTC 2016 - oholecek@suse.com - add modify_needle script ------------------------------------------------------------------- Mon Oct 26 15:05:03 UTC 2015 - oholecek@suse.com - add create_admin script ------------------------------------------------------------------- Tue Sep 8 14:26:03 UTC 2015 - oholecek@suse.com - add perl(IPC::Run) dependency (needed by PR#414) ------------------------------------------------------------------- Mon Aug 31 11:18:29 UTC 2015 - lnussel@suse.de - we don't need JSON::RPC::Legacy::Client ------------------------------------------------------------------- Mon Jul 6 09:26:57 UTC 2015 - lnussel@suse.de - fix rpmlint warnings ------------------------------------------------------------------- Wed Jul 1 17:16:25 UTC 2015 - oholecek@suse.com - add openqa-scheduler.service and openqa-websockets.service ------------------------------------------------------------------- Wed Jun 24 11:53:33 UTC 2015 - lnussel@suse.de - fix fileliist for missing service files ------------------------------------------------------------------- Wed Jun 17 13:36:45 UTC 2015 - oholecek@suse.com - package dbus system policy config - add perl(Net::DBus) to requires ------------------------------------------------------------------- Wed Apr 8 15:33:15 UTC 2015 - coolo@suse.com - add openqa-gru.service ------------------------------------------------------------------- Wed Mar 18 10:04:36 UTC 2015 - lnussel@suse.de - keep /lib/openqa/share in webui and the symlink in -common. So a plain worker owns no files in share ------------------------------------------------------------------- Mon Mar 9 15:21:02 UTC 2015 - lnussel@suse.de - add --from=geekotest to chown call just to be on the safe side ------------------------------------------------------------------- Mon Mar 9 10:21:24 UTC 2015 - coolo@suse.com - create a 2nd user and migrate the worker from geekotest to _openqa-worker ------------------------------------------------------------------- Sat Feb 28 05:59:38 UTC 2015 - coolo@suse.com - run preparetool from the right %post ------------------------------------------------------------------- Thu Feb 26 09:24:10 UTC 2015 - oholecek@suse.com - fix missing ini files link and package new config dir (boo#919548) ------------------------------------------------------------------- Wed Feb 25 17:11:48 UTC 2015 - sfalken@opensuse.org - Changed path for fetchneedles in post-install echo ------------------------------------------------------------------- Mon Feb 23 15:15:02 UTC 2015 - oholecek@suse.com - don't move ini files in spec, Makefile does it now ------------------------------------------------------------------- Thu Feb 19 15:35:29 UTC 2015 - lnussel@suse.de - include fetchneedles in file list ------------------------------------------------------------------- Tue Feb 17 09:46:48 UTC 2015 - rd-ops-cm@suse.de - Update to version 4.1424166204.2ca1601: + Refactor worker scripts and add locking support + Pass worker port to os-autoinst and remove :jobid check + assets replaced /diskimages long ago - get rid of it + avoid "openQA: openQA" as title on main page - looks just silly + remove lib/OpenQA from include path - not needed + fix make test to be coverable and use it in .travis.yml + switch default auth_module to Fake + adding a test to test /admin/machines using phantomjs + skip the tests if phantomjs is not installed ------------------------------------------------------------------- Fri Feb 13 23:14:49 UTC 2015 - oholecek@suse.com - we don't need MojoX::JSON::RPC ------------------------------------------------------------------- Thu Jan 29 14:53:11 UTC 2015 - lnussel@suse.de - reduce mojo require to 5.60 ------------------------------------------------------------------- Wed Jan 28 14:31:28 UTC 2015 - lnussel@suse.de - require qemu in worker to get kvm group - add geekotest user to kvm group in worker's %post as qemu is not required by the web ui ------------------------------------------------------------------- Wed Jan 28 13:28:58 UTC 2015 - coolo@suse.com - fix requires ------------------------------------------------------------------- Wed Jan 28 09:52:43 UTC 2015 - coolo@suse.com - make it version 4 and require os-autoinst of version 4 too ------------------------------------------------------------------- Fri Jan 9 15:47:38 UTC 2015 - oholecek@suse.com - add BuildRequire perl(Test::Compile) ------------------------------------------------------------------- Sun Dec 21 11:02:07 UTC 2014 - lnussel@suse.de - pre-require openQA-common to make sure the user is created ------------------------------------------------------------------- Sun Nov 30 09:42:41 UTC 2014 - coolo@suse.com - we don't require png2theora any longer - and actually openQA-worker never did ------------------------------------------------------------------- Mon Nov 17 14:58:01 UTC 2014 - oholecek@suse.com - fix upgrade scenario from openQA to openQA-common ------------------------------------------------------------------- Thu Nov 13 16:13:29 UTC 2014 - oholecek@suse.com - split to openQA, openQA-common and openQA-worker packages ------------------------------------------------------------------- Thu Oct 30 11:46:54 UTC 2014 - mlin@suse.com - fix post script - remove buildroot macro ------------------------------------------------------------------- Fri Aug 29 12:08:24 UTC 2014 - lnussel@suse.de - don't enable systemd files in %post! ------------------------------------------------------------------- Tue Aug 12 13:52:11 UTC 2014 - dvlaeev@suse.com - Build as noarch package ------------------------------------------------------------------- Fri Aug 1 13:28:11 UTC 2014 - lnussel@suse.de - require git-core as it's needed by testsuite ------------------------------------------------------------------- Thu Jul 17 10:33:57 UTC 2014 - oholecek@suse.cz - add perl(aliased) requirement ------------------------------------------------------------------- Wed Jun 25 09:23:19 UTC 2014 - lnussel@suse.de - remove apache conf.d file ------------------------------------------------------------------- Thu Jun 12 11:38:18 UTC 2014 - lnussel@suse.de - create log file in package ------------------------------------------------------------------- Tue May 20 12:04:10 UTC 2014 - lnussel@suse.de - restart boot.apparmor on update ------------------------------------------------------------------- Mon May 19 08:15:05 UTC 2014 - lnussel@suse.de - disable tidy test ------------------------------------------------------------------- Wed May 14 13:51:34 UTC 2014 - lnussel@suse.de - recommend instead of require apparmor - restart apparmor on update ------------------------------------------------------------------- Wed Apr 30 10:00:38 UTC 2014 - lnussel@suse.de - load_dbdata no longer needed ------------------------------------------------------------------- Fri Apr 11 11:16:29 UTC 2014 - alarrosa@suse.com - Load the data for the opensuse usage case into the database during %post ------------------------------------------------------------------- Tue Apr 8 12:11:43 UTC 2014 - alarrosa@suse.com - Added a dependency on perl(YAML) which is required by initdb and upgradedb ------------------------------------------------------------------- Mon Apr 7 15:29:11 UTC 2014 - alarrosa@suse.com - upgrade.pl was renamed to upgradedb ------------------------------------------------------------------- Mon Apr 7 12:20:54 UTC 2014 - alarrosa@suse.com - require perl(SQL::SplitStatement) - Initializes or upgrade the database as needed in %post ------------------------------------------------------------------- Fri Mar 28 08:59:56 UTC 2014 - lnussel@suse.de - require perl(DBIx::Class::DeploymentHandler) - add /var/lib/openqa/cache to file list ------------------------------------------------------------------- Thu Mar 27 13:56:58 UTC 2014 - lnussel@suse.de - use prove instead of make test ------------------------------------------------------------------- Thu Mar 27 13:05:52 UTC 2014 - lnussel@suse.de - add GHC, Mojolicious::Plugin::CHI and Cache::Cache as dependency ------------------------------------------------------------------- Fri Mar 21 15:23:29 CET 2014 - mhrusecky@suse.cz - rc symlinks for webui and workers ------------------------------------------------------------------- Fri Mar 21 09:07:54 UTC 2014 - coolo@suse.com - fix dependencies on JSON client ------------------------------------------------------------------- Mon Mar 17 13:27:54 UTC 2014 - coolo@suse.com - change version format in _service file ------------------------------------------------------------------- Fri Mar 14 08:03:46 UTC 2014 - coolo@suse.com - move the openqa.ini to /etc and mark it noreplace ------------------------------------------------------------------- Wed Mar 12 14:09:05 UTC 2014 - coolo@suse.com - require perl(LWP::Protocol::https) for openid support ------------------------------------------------------------------- Wed Mar 12 12:55:19 UTC 2014 - coolo@suse.com - bump version to 3 so we can differ it from v2 - require systemd and old JSON::RPC - needs porting ------------------------------------------------------------------- Wed Mar 12 12:10:29 UTC 2014 - coolo@suse.com - install apache templates and enable the systemd services ------------------------------------------------------------------- Thu Mar 6 16:19:04 UTC 2014 - lnussel@suse.de - add perl(Image::Magick) requirement ------------------------------------------------------------------- Tue Mar 4 15:55:12 UTC 2014 - lnussel@suse.de - add perl(Net::OpenID::Consumer) requirement ------------------------------------------------------------------- Mon Mar 3 13:09:02 UTC 2014 - lnussel@suse.de - add perl(DateTime::Format::SQLite) requirement ------------------------------------------------------------------- Fri Feb 28 12:29:57 UTC 2014 - lnussel@suse.de - add systemd macros ------------------------------------------------------------------- Mon Feb 24 11:48:30 UTC 2014 - mlin@suse.com - update the fileslist and the post script ------------------------------------------------------------------- Mon Feb 24 07:39:53 UTC 2014 - mlin@suse.com - require Date::Format and File::Copy::Recursive - update the filelist ------------------------------------------------------------------- Mon Feb 17 12:26:50 UTC 2014 - lnussel@suse.de - require SQL::Translator ------------------------------------------------------------------- Wed Feb 12 10:10:06 UTC 2014 - mlin@suse.com - add openQA's apparmor profile usr.share.openqa.script.openqa ------------------------------------------------------------------- Wed Feb 12 08:27:33 UTC 2014 - mlin@suse.com - add perl(Config::IniFiles) as Requires - remove /etc/default/openqa ------------------------------------------------------------------- Thu Feb 6 13:05:31 UTC 2014 - lnussel@suse.de - fix filelist and run testsuite ------------------------------------------------------------------- Wed Jan 22 22:51:05 UTC 2014 - coolo@suse.com - use remote services to hook ------------------------------------------------------------------- Fri Jul 26 09:03:25 UTC 2013 - lnussel@suse.de - update to git head, add new requirement File::Copy::Recursive ------------------------------------------------------------------- Thu Jun 13 16:09:32 UTC 2013 - lnussel@suse.de - use primary group "nogroup" ------------------------------------------------------------------- Tue May 14 15:32:56 UTC 2013 - lnussel@suse.de - initial package