SHA256
1
0
forked from pool/openQA

Offline generation of 4.6.1529433451.a70c6e82

4.6.1529433451.a70c6e82

OBS-URL: https://build.opensuse.org/package/show/devel:openQA:tested/openQA?expand=0&rev=107
This commit is contained in:
Stephan Kulow 2018-06-20 05:27:39 +00:00 committed by Git OBS Bridge
parent 9ca190702a
commit a81e2519e4
10 changed files with 415 additions and 13 deletions

148
Dockerfile Normal file
View File

@ -0,0 +1,148 @@
#!BuildTag: openqa_dev
FROM opensuse:42.3
# Define environment variable
ENV NAME openQA test environment
ENV LANG en_US.UTF-8
RUN zypper ar -f -G "http://download.opensuse.org/repositories/devel:/openQA:/Leap:/42.3/openSUSE_Leap_42.3" devel_openqa
RUN zypper in -y -C \
glibc-i18ndata \
glibc-locale \
automake \
curl \
dbus-1-devel \
fftw3-devel \
gcc \
gcc-c++ \
git \
gmp-devel \
gzip \
libexpat-devel \
libsndfile-devel \
libssh2-1 \
libssh2-devel \
libtheora-devel \
libtool \
libxml2-devel \
make \
opencv-devel \
patch \
postgresql-devel \
qemu \
qemu-tools \
qemu-kvm \
tar \
optipng \
sqlite3 \
postgresql-server \
which \
chromedriver \
xorg-x11-fonts \
'rubygem(sass)' \
perl \
sudo \
'perl(App::cpanminus)' \
'perl(Archive::Extract)' \
'perl(BSD::Resource)' \
'perl(CSS::Minifier::XS)' \
'perl(Carp::Always)' \
'perl(Class::Accessor::Fast)' \
'perl(Config)' \
'perl(Config::IniFiles)' \
'perl(Config::Tiny)' \
'perl(Cpanel::JSON::XS)' \
'perl(Crypt::DES)' \
'perl(Cwd)' \
'perl(DBD::Pg)' \
'perl(DBD::SQLite)' \
'perl(DBIx::Class)' \
'perl(DBIx::Class::DeploymentHandler)' \
'perl(DBIx::Class::DynamicDefault)' \
'perl(DBIx::Class::OptimisticLocking)' \
'perl(DBIx::Class::Schema::Config)' \
'perl(Data::Dump)' \
'perl(Data::Dumper)' \
'perl(Digest::MD5) >= 2.55' \
'perl(Data::OptList)' \
'perl(DateTime::Format::Pg)' \
'perl(DateTime::Format::SQLite)' \
'perl(Devel::Cover)' \
'perl(Devel::Cover::Report::Codecov)' \
'perl(ExtUtils::MakeMaker) >= 7.12' \
'perl(Exception::Class)' \
'perl(File::Copy::Recursive)' \
'perl(IO::Socket::SSL)' \
'perl(IPC::Run)' \
'perl(IPC::System::Simple)' \
'perl(JSON::XS)' \
'perl(JavaScript::Minifier::XS)' \
'perl(LWP::Protocol::https)' \
'perl(Minion)' \
'perl(Module::CPANfile)' \
'perl(Mojo::IOLoop::ReadWriteProcess)' \
'perl(Mojo::Pg)' \
'perl(Mojo::RabbitMQ::Client)' \
'perl(Mojolicious)' \
'perl(Mojolicious::Plugin::AssetPack)' \
'perl(Mojolicious::Plugin::RenderFile)' \
'perl(Net::DBus)' \
'perl(Net::OpenID::Consumer)' \
'perl(Net::SNMP)' \
'perl(Net::SSH2)' \
'perl(Perl::Critic)' \
'perl(Perl::Tidy)' \
'perl(Pod::POM)' \
'perl(Pod::Coverage)' \
'perl(SQL::SplitStatement)' \
'perl(SQL::Translator)' \
'perl(Selenium::Remote::Driver)' \
'perl(Socket::MsgHdr)' \
'perl(Sort::Versions)' \
'perl(Test::Compile)' \
'perl(Test::Fatal)' \
'perl(Test::Pod)' \
'perl(Test::Mock::Time)' \
'perl(Test::MockModule)' \
'perl(Test::MockObject)' \
'perl(Test::Output)' \
'perl(Socket::MsgHdr)' \
'perl(Test::Warnings)' \
'perl(Text::Markdown)' \
'perl(Time::ParseDate)' \
'perl(XSLoader) >= 0.24' \
'TimeDate' \
perl-Archive-Extract \
perl-Test-Simple \
'perl(aliased)' \
dbus-1 systemd-sysvinit \
systemd libudev1 tack
RUN cp /usr/lib/systemd/system/dbus.service /etc/systemd/system/; \
sed -i 's/OOMScoreAdjust=-900//' /etc/systemd/system/dbus.service
VOLUME ["/sys/fs/cgroup", "/run"]
CMD ["/sbin/init"]
ENV OPENQA_DIR /opt/openqa
ENV NORMAL_USER squamata
RUN echo "$NORMAL_USER ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
RUN mkdir -p /home/$NORMAL_USER
RUN useradd -r -d /home/$NORMAL_USER -g users --uid=1000 $NORMAL_USER
RUN chown $NORMAL_USER:users /home/$NORMAL_USER
VOLUME [ "/opt/openqa" ]
# explicitly set user/group IDs
RUN mkdir -p /opt/testing_area
RUN chown -R $NORMAL_USER:users /opt/testing_area
COPY entrypoint.sh /usr/bin/entrypoint
RUN ["chmod","+x","/usr/bin/entrypoint"]
USER ${NORMAL_USER}
ENTRYPOINT ["entrypoint"]
WORKDIR $OPENQA_DIR

View File

@ -1,18 +1,22 @@
<?xml version="1.0"?>
<services>
<service name="tar_scm" mode="disabled">
<service name="obs_scm" mode="disabled">
<param name="extract">docker/travis_test/entrypoint.sh</param>
<param name="extract">docker/travis_test/Dockerfile</param>
<param name="extract">openQA.spec</param>
<param name="extract">openQA-test.spec</param>
<param name="url">git://github.com/os-autoinst/openQA.git</param>
<param name="versionprefix">4.5</param>
<param name="revision">master</param>
<param name="versionprefix">4.6</param>
<param name="versionformat">%ct.%h</param>
<param name="scm">git</param>
<param name="revision">master</param>
<param name="changesgenerate">enable</param>
<param name="changesauthor">coolo@suse.com</param>
</service>
<service name="recompress" mode="disabled">
<service name="set_version" mode="disabled"/>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="compression">xz</param>
<param name="file">*.tar</param>
</service>
<service name="set_version" mode="disabled">
</service>
</services>

46
entrypoint.sh Normal file
View File

@ -0,0 +1,46 @@
#!/bin/bash
set -e
cp -rd /opt/openqa /opt/testing_area
cd /opt/testing_area/openqa
function create_db {
set -e
export PGDATA=$(mktemp -d)
initdb --auth=trust -N $PGDATA
cat >> $PGDATA/postgresql.conf <<HEREDOC
listen_addresses='localhost'
unix_socket_directories='$PGDATA'
fsync=off
full_page_writes=off
HEREDOC
pg_ctl -D $PGDATA start -w
createdb -h $PGDATA openqa_test
export TEST_PG="DBI:Pg:dbname=openqa_test;host=localhost;port=5432"
}
function run_as_normal_user {
cpanm -n --mirror http://no.where/ --installdeps .
if [ $? -eq 0 ]; then
create_db
export MOJO_LOG_LEVEL=debug
export MOJO_TMPDIR=$(mktemp -d)
export OPENQA_LOGFILE=/tmp/openqa-debug.log
else
echo "Missing depdencies. Please check output above"
fi
}
export -f create_db run_as_normal_user
run_as_normal_user;
dbus-run-session -- sh -c "$*"

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5199e94bfab840e385b7fe85e522ef7026eb21056c8fdb0f3e078d10f7b9d8f2
size 1495604

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6173df62f026bf4c06536e428f5584bf85d9a33dfd664545bde2854b587b674d
size 8888333

84
openQA-test.changes Normal file
View File

@ -0,0 +1,84 @@
-------------------------------------------------------------------
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 05:41:15 UTC 2018 - coolo@suse.com
- initial package

46
openQA-test.spec Normal file
View File

@ -0,0 +1,46 @@
#
# spec file for package openQA-test
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define short_name openQA
Name: %{short_name}-test
Version: 4.6.1529433451.a70c6e82
Release: 0
Summary: Test package for openQA
License: GPL-2.0-or-later
BuildRequires: %{short_name} == %{version}
BuildRequires: openQA-local-db
ExcludeArch: i586
%description
.
%prep
# workaround to prevent post/install failing assuming this file for whatever
# reason
touch %{_sourcedir}/%{short_name}
%build
# call one of the components but not openqa itself which would need a valid
# configuration
/usr/share/openqa/script/initdb --help
%install
# disable debug packages in package test to prevent error about missing files
%define debug_package %{nil}
%changelog

View File

@ -1,7 +1,61 @@
-------------------------------------------------------------------
Tue Jun 12 18:25:13 UTC 2018 - coolo@suse.com
Tue Jun 19 18:37:47 UTC 2018 - coolo@suse.com
- Update to version 4.5.1528827903.dc40ffbd:
- 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)
@ -24,6 +78,17 @@ Tue Jun 12 18:25:13 UTC 2018 - coolo@suse.com
* 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

5
openQA.obsinfo Normal file
View File

@ -0,0 +1,5 @@
name: openQA
version: 4.6.1529433451.a70c6e82
mtime: 1529433451
commit: a70c6e822ec402bdd48da733d1a86ba7052711a1

View File

@ -36,10 +36,10 @@
# 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)
Name: openQA
Version: 4.5.1528827903.dc40ffbd
Version: 4.6.1529433451.a70c6e82
Release: 0
Summary: The openQA web-frontend, scheduler and tools
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Development/Tools/Other
Url: http://os-autoinst.github.io/openQA/
Source0: %{name}-%{version}.tar.xz
@ -47,6 +47,8 @@ Source0: %{name}-%{version}.tar.xz
# use update-cache to update it
Source1: cache.txz
Source101: update-cache.sh
Source102: Dockerfile
Source103: entrypoint.sh
BuildRequires: %{t_requires}
BuildRequires: fdupes
BuildRequires: os-autoinst
@ -349,6 +351,7 @@ fi
# init
%dir %{_unitdir}
%{_unitdir}/openqa-webui.service
%{_unitdir}/openqa-livehandler.service
%{_unitdir}/openqa-gru.service
%{_unitdir}/openqa-scheduler.service
%{_unitdir}/openqa-resource-allocator.service
@ -368,6 +371,7 @@ fi
%{_datadir}/openqa/script/openqa-scheduler
%{_datadir}/openqa/script/openqa-resource-allocator
%{_datadir}/openqa/script/openqa-websockets
%{_datadir}/openqa/script/openqa-livehandler
%{_datadir}/openqa/script/upgradedb
%{_datadir}/openqa/script/modify_needle
# TODO: define final user