diff --git a/Dockerfile b/Dockerfile index 384dc3f..0be3cc8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -73,6 +73,7 @@ RUN zypper in -y -C \ 'perl(ExtUtils::MakeMaker) >= 7.12' \ 'perl(Exception::Class)' \ 'perl(File::Copy::Recursive)' \ + 'perl(File::Touch)' \ 'perl(IO::Socket::SSL)' \ 'perl(IPC::Run)' \ 'perl(IPC::System::Simple)' \ @@ -84,6 +85,8 @@ RUN zypper in -y -C \ 'perl(Mojo::IOLoop::ReadWriteProcess)' \ 'perl(Mojo::Pg)' \ 'perl(Mojo::RabbitMQ::Client)' \ + 'perl(Mojo::SQLite)' \ + 'perl(Minion::Backend::SQLite)' \ 'perl(Mojolicious)' \ 'perl(Mojolicious::Plugin::AssetPack)' \ 'perl(Mojolicious::Plugin::RenderFile)' \ @@ -112,6 +115,7 @@ RUN zypper in -y -C \ 'perl(Text::Markdown)' \ 'perl(Time::ParseDate)' \ 'perl(XSLoader) >= 0.24' \ + 'perl(XML::SemanticDiff)' \ 'TimeDate' \ perl-Archive-Extract \ perl-Test-Simple \ diff --git a/cache.txz b/cache.txz index 86e3e32..08fdb16 100644 --- a/cache.txz +++ b/cache.txz @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de5a18efb2b725214aad3bea96f7a6d59bb933b2214f84335d6a9e913d7b953b -size 1266791 +oid sha256:56f081d4be3740a125982d357f59c2e392756c75242fc879279e58eb0e7eec9e +size 1741269 diff --git a/openQA-4.6.1538413557.f9e2a131.obscpio b/openQA-4.6.1538413557.f9e2a131.obscpio deleted file mode 100644 index fc82799..0000000 --- a/openQA-4.6.1538413557.f9e2a131.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1f19cd4a3d5636ec80d3cca119e7e507e1d9af44132067fcbf8b638f663c9a6e -size 9675277 diff --git a/openQA-4.6.1543249675.02bb8eff.obscpio b/openQA-4.6.1543249675.02bb8eff.obscpio new file mode 100644 index 0000000..63f5d2e --- /dev/null +++ b/openQA-4.6.1543249675.02bb8eff.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56cb470a72c1edbb438e6e07ad17a5d32845d7a6021b535d5e50a3f94e82bf62 +size 9948173 diff --git a/openQA-test.changes b/openQA-test.changes index efbd450..2db415b 100644 --- a/openQA-test.changes +++ b/openQA-test.changes @@ -1,3 +1,209 @@ +------------------------------------------------------------------- +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 diff --git a/openQA-test.spec b/openQA-test.spec index 532c5de..66f2e48 100644 --- a/openQA-test.spec +++ b/openQA-test.spec @@ -18,7 +18,7 @@ %define short_name openQA Name: %{short_name}-test -Version: 4.6.1538413557.f9e2a131 +Version: 4.6.1543249675.02bb8eff Release: 0 Summary: Test package for openQA License: GPL-2.0+ diff --git a/openQA.changes b/openQA.changes index f6b847b..af8f61a 100644 --- a/openQA.changes +++ b/openQA.changes @@ -1,3 +1,209 @@ +------------------------------------------------------------------- +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 diff --git a/openQA.obsinfo b/openQA.obsinfo index 2835f04..d6d80b0 100644 --- a/openQA.obsinfo +++ b/openQA.obsinfo @@ -1,5 +1,5 @@ name: openQA -version: 4.6.1538413557.f9e2a131 -mtime: 1538413557 -commit: f9e2a1313023e785b7e7e9362c8d241ad4d4ff8a +version: 4.6.1543249675.02bb8eff +mtime: 1543249675 +commit: 02bb8eff8cce2c7b3b4bb3a19b49807ded476282 diff --git a/openQA.spec b/openQA.spec index 2e669ca..ed0da57 100644 --- a/openQA.spec +++ b/openQA.spec @@ -18,7 +18,7 @@ # can't use linebreaks here! %define openqa_services openqa-webui.service openqa-gru.service openqa-websockets.service openqa-scheduler.service openqa-resource-allocator.service -%define openqa_worker_services openqa-worker.target openqa-slirpvde.service openqa-vde_switch.service +%define openqa_worker_services openqa-worker.target openqa-slirpvde.service openqa-vde_switch.service openqa-worker-cacheservice.service openqa-worker-cacheservice-minion.service %if %{undefined tmpfiles_create} %define tmpfiles_create() \ %{_bindir}/systemd-tmpfiles --create %{?*} || : \ @@ -34,9 +34,9 @@ %bcond_with tests %endif # runtime requirements that also the testsuite needs -%define t_requires perl(DBD::Pg) perl(DBIx::Class) perl(Config::IniFiles) perl(SQL::Translator) perl(Date::Format) perl(File::Copy::Recursive) perl(DateTime::Format::Pg) perl(Net::OpenID::Consumer) perl(Mojolicious::Plugin::RenderFile) perl(Mojolicious::Plugin::AssetPack) perl(aliased) perl(Config::Tiny) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(IO::Socket::SSL) perl(Data::Dump) perl(DBIx::Class::OptimisticLocking) perl(Text::Markdown) perl(Net::DBus) perl(IPC::Run) perl(Archive::Extract) perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS) perl(Time::ParseDate) perl(Sort::Versions) perl(Mojo::RabbitMQ::Client) perl(BSD::Resource) perl(Cpanel::JSON::XS) perl(Pod::POM) perl(Mojo::IOLoop::ReadWriteProcess) perl(Minion) perl(Mojo::Pg) +%define t_requires perl(DBD::Pg) perl(DBIx::Class) perl(Config::IniFiles) perl(SQL::Translator) perl(Date::Format) perl(File::Copy::Recursive) perl(DateTime::Format::Pg) perl(Net::OpenID::Consumer) perl(Mojolicious::Plugin::RenderFile) perl(Mojolicious::Plugin::AssetPack) perl(aliased) perl(Config::Tiny) perl(DBIx::Class::DynamicDefault) perl(DBIx::Class::Schema::Config) perl(DBIx::Class::Storage::Statistics) perl(IO::Socket::SSL) perl(Data::Dump) perl(DBIx::Class::OptimisticLocking) perl(Text::Markdown) perl(Net::DBus) perl(IPC::Run) perl(Archive::Extract) perl(CSS::Minifier::XS) perl(JavaScript::Minifier::XS) perl(Time::ParseDate) perl(Sort::Versions) perl(Mojo::RabbitMQ::Client) perl(BSD::Resource) perl(Cpanel::JSON::XS) perl(Pod::POM) perl(Mojo::IOLoop::ReadWriteProcess) perl(Minion) perl(Mojo::Pg) perl(Mojo::SQLite) perl(Minion::Backend::SQLite) Name: openQA -Version: 4.6.1538413557.f9e2a131 +Version: 4.6.1543249675.02bb8eff Release: 0 Summary: The openQA web-frontend, scheduler and tools License: GPL-2.0-or-later @@ -81,6 +81,8 @@ Recommends: apache2 Recommends: apparmor-profiles Recommends: apparmor-utils Recommends: logrotate +# server needs to run an rsync server if worker caching is used +Recommends: rsync BuildRequires: postgresql-server BuildArch: noarch ExcludeArch: i586 @@ -93,6 +95,7 @@ BuildRequires: glibc-locale BuildRequires: dejavu-fonts BuildRequires: google-roboto-fonts BuildRequires: perl-App-cpanminus +BuildRequires: rsync BuildRequires: perl(DBD::SQLite) BuildRequires: perl(Mojo::RabbitMQ::Client) >= 0.2 BuildRequires: perl(Perl::Critic) @@ -140,14 +143,18 @@ Summary: The openQA worker Group: Development/Tools/Other Requires: openQA-client = %{version} Requires: os-autoinst < 5 -Requires: perl(DBD::SQLite) +Requires: perl(DBD::SQLite) > 1.51 +Requires: perl(Minion::Backend::SQLite) Requires: perl(Mojo::IOLoop::ReadWriteProcess) > 0.19 +Requires: perl(Mojo::SQLite) Requires: perl(SQL::SplitStatement) # FIXME: use proper Requires(pre/post/preun/...) PreReq: openQA-common = %{version} Requires(post): coreutils Requires(post): os-autoinst >= 4.4 Recommends: qemu +# Needed for caching - not required if caching not used... +Recommends: rsync %if 0%{?suse_version} >= 1330 Requires(pre): group(nogroup) %endif @@ -158,12 +165,16 @@ The openQA worker manages test engine (provided by os-autoinst package). %package client Summary: Client tools for remote openQA management Group: Development/Tools/Other +Requires: openQA-common = %{version} Requires: perl(Config::IniFiles) Requires: perl(Cpanel::JSON::XS) Requires: perl(Data::Dump) Requires: perl(Getopt::Long) Requires: perl(IO::Socket::SSL) >= 2.009 +Requires: perl(JSON) +Requires: perl(LWP::UserAgent) Requires: perl(Mojolicious) +Requires: perl(Try::Tiny) %description client Tools and support files for openQA client script. Client script is @@ -242,6 +253,8 @@ install -m 0644 %{_sourcedir}/openQA.changes %{buildroot}%{_datadir}/openqa/publ # mkdir %{buildroot}%{_localstatedir}/lib/openqa/pool/1 mkdir %{buildroot}%{_localstatedir}/lib/openqa/cache +mkdir %{buildroot}%{_localstatedir}/lib/openqa/webui +mkdir %{buildroot}%{_localstatedir}/lib/openqa/webui/cache # %fdupes %{buildroot}/%{_prefix} @@ -387,6 +400,8 @@ fi # than root as that opens a security hole! %dir %{_localstatedir}/lib/openqa/db %dir %{_localstatedir}/lib/openqa/images +%dir %{_localstatedir}/lib/openqa/webui +%dir %{_localstatedir}/lib/openqa/webui/cache %{_localstatedir}/lib/openqa/testresults %dir %{_localstatedir}/lib/openqa/share/tests %dir %{_localstatedir}/lib/openqa/share/factory @@ -402,6 +417,8 @@ fi %dir %{_datadir}/openqa %{_datadir}/openqa/lib %exclude %{_datadir}/openqa/lib/OpenQA/Client.pm +%exclude %{_datadir}/openqa/lib/OpenQA/Client +%exclude %{_datadir}/openqa/lib/OpenQA/UserAgent.pm %dir %{_localstatedir}/lib/openqa %ghost %dir %{_localstatedir}/lib/openqa/share/ %{_localstatedir}/lib/openqa/factory @@ -422,6 +439,8 @@ fi %{_libexecdir}/systemd/system-generators %{_unitdir}/openqa-worker.target %{_unitdir}/openqa-worker@.service +%{_unitdir}/openqa-worker-cacheservice-minion.service +%{_unitdir}/openqa-worker-cacheservice.service %{_unitdir}/openqa-worker-no-cleanup@.service %{_unitdir}/openqa-slirpvde.service %{_unitdir}/openqa-vde_switch.service @@ -431,6 +450,7 @@ fi %dir %{_datadir}/openqa %dir %{_datadir}/openqa/script %{_datadir}/openqa/script/worker +%{_datadir}/openqa/script/openqa-workercache %dir %{_localstatedir}/lib/openqa/pool %defattr(-,_openqa-worker,root) %dir %{_localstatedir}/lib/openqa/cache @@ -446,6 +466,8 @@ fi %{_datadir}/openqa/script/load_templates %dir %{_datadir}/openqa/lib %{_datadir}/openqa/lib/OpenQA/Client.pm +%{_datadir}/openqa/lib/OpenQA/Client +%{_datadir}/openqa/lib/OpenQA/UserAgent.pm %{_bindir}/openqa-client %{_bindir}/openqa-clone-job %{_bindir}/openqa-dump-templates diff --git a/update-cache.sh b/update-cache.sh index 41eea65..e84a20f 100644 --- a/update-cache.sh +++ b/update-cache.sh @@ -6,13 +6,15 @@ export LC_ALL='en_US.UTF-8' export LANG='en_US.UTF-8' osc up rm -f _service\:* -rm -f *.tar.xz +rm -f *.tar *.cpio osc service lr +# special call for tar buildtime service +osc service lr tar SD=$PWD tmp=$(mktemp -d) cd $tmp -tar xf $SD/openQA-*.tar.xz +tar xf $SD/openQA-*.tar cd openQA-* script/generate-packed-assets tar cvjf cache.tar.xz assets/cache assets/assetpack.db