Hello community, here is the log from the commit of package openQA for openSUSE:Factory checked in at 2018-11-28 11:13:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openQA (Old) and /work/SRC/openSUSE:Factory/.openQA.new.19453 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "openQA" Wed Nov 28 11:13:05 2018 rev:35 rq:652062 version:4.6.1543249675.02bb8eff Changes: -------- --- /work/SRC/openSUSE:Factory/openQA/openQA-test.changes 2018-10-04 19:01:25.975207234 +0200 +++ /work/SRC/openSUSE:Factory/.openQA.new.19453/openQA-test.changes 2018-11-28 11:13:22.198901135 +0100 @@ -1,0 +2,206 @@ +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) ++++ 9 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openQA/openQA-test.changes ++++ and /work/SRC/openSUSE:Factory/.openQA.new.19453/openQA-test.changes openQA.changes: same change Old: ---- openQA-4.6.1538413557.f9e2a131.obscpio New: ---- openQA-4.6.1543249675.02bb8eff.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openQA-test.spec ++++++ --- /var/tmp/diff_new_pack.fPPrUE/_old 2018-11-28 11:13:30.666889262 +0100 +++ /var/tmp/diff_new_pack.fPPrUE/_new 2018-11-28 11:13:30.670889257 +0100 @@ -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+ ++++++ openQA.spec ++++++ --- /var/tmp/diff_new_pack.fPPrUE/_old 2018-11-28 11:13:30.686889234 +0100 +++ /var/tmp/diff_new_pack.fPPrUE/_new 2018-11-28 11:13:30.690889228 +0100 @@ -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: 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: 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 @@ 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 @@ %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 @@ # 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 @@ # 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 @@ %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 @@ %{_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 @@ %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 @@ %{_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 ++++++ Dockerfile ++++++ --- /var/tmp/diff_new_pack.fPPrUE/_old 2018-11-28 11:13:30.710889201 +0100 +++ /var/tmp/diff_new_pack.fPPrUE/_new 2018-11-28 11:13:30.710889201 +0100 @@ -73,6 +73,7 @@ '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 @@ '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 @@ 'perl(Text::Markdown)' \ 'perl(Time::ParseDate)' \ 'perl(XSLoader) >= 0.24' \ + 'perl(XML::SemanticDiff)' \ 'TimeDate' \ perl-Archive-Extract \ perl-Test-Simple \ ++++++ cache.txz ++++++ Binary files /var/tmp/diff_new_pack.fPPrUE/_old and /var/tmp/diff_new_pack.fPPrUE/_new differ ++++++ openQA-4.6.1538413557.f9e2a131.obscpio -> openQA-4.6.1543249675.02bb8eff.obscpio ++++++ /work/SRC/openSUSE:Factory/openQA/openQA-4.6.1538413557.f9e2a131.obscpio /work/SRC/openSUSE:Factory/.openQA.new.19453/openQA-4.6.1543249675.02bb8eff.obscpio differ: char 49, line 1 ++++++ openQA.obsinfo ++++++ --- /var/tmp/diff_new_pack.fPPrUE/_old 2018-11-28 11:13:31.082888679 +0100 +++ /var/tmp/diff_new_pack.fPPrUE/_new 2018-11-28 11:13:31.082888679 +0100 @@ -1,5 +1,5 @@ name: openQA -version: 4.6.1538413557.f9e2a131 -mtime: 1538413557 -commit: f9e2a1313023e785b7e7e9362c8d241ad4d4ff8a +version: 4.6.1543249675.02bb8eff +mtime: 1543249675 +commit: 02bb8eff8cce2c7b3b4bb3a19b49807ded476282 ++++++ update-cache.sh ++++++ --- /var/tmp/diff_new_pack.fPPrUE/_old 2018-11-28 11:13:31.090888667 +0100 +++ /var/tmp/diff_new_pack.fPPrUE/_new 2018-11-28 11:13:31.090888667 +0100 @@ -6,13 +6,15 @@ 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