Project

General

Profile

Actions

action #53915

closed

switch "travis_test" aka. "openqa_dev" container to a supported base since Leap 42.3 is EOL

Added by okurz almost 5 years ago. Updated over 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
Start date:
2019-09-07
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)

Description

Tasks


Subtasks 1 (0 open1 closed)

action #56810: "stale element reference: element is not attached to the page" during tests on 15.1Closed2019-09-07

Actions

Related issues 2 (0 open2 closed)

Related to openQA Project - action #57050: Turn off travisResolvedokurz2019-09-30

Actions
Blocked by openQA Infrastructure - action #54137: Upgrade osd to a supported Leap version (from 42.3)Resolvedokurz2019-07-11

Actions
Actions #1

Updated by okurz almost 5 years ago

I tried to switch the container locally and found for example that "perl-Devel-Cover-Report-Codecov" does not exist. I created https://build.opensuse.org/request/show/713698# for a SR for Factory but we are missing dependencies as well: "nothing provides perl(Furl) >= 3.07, nothing provides perl(Test::Mock::Guard) >= 0.10, nothing provides perl(Test::Requires::Git) >= 1.003" . I guess a better way would be to create a pristine new OBS project, link all missing deps there, test it against Factory, and then submit the whole project?

Actions #2

Updated by coolo over 4 years ago

  • Status changed from New to Workable
  • Target version set to Current Sprint

Let's do it gangster

Actions #3

Updated by okurz over 4 years ago

  • Blocked by action #54137: Upgrade osd to a supported Leap version (from 42.3) added
Actions #4

Updated by okurz over 4 years ago

  • Status changed from Workable to Blocked
  • Assignee set to okurz

gangster might sound cool but I would really keep it at this version as long as OSD is still on Leap 42.3

Actions #5

Updated by coolo over 4 years ago

  • Status changed from Blocked to Workable

unblocked

Actions #6

Updated by coolo over 4 years ago

  • Assignee changed from okurz to andriinikitin

we'll do that for circleci setup

Actions #7

Updated by okurz over 4 years ago

I think the main thing we managed is to confuse andriinikitin why some dependencies are not there :D I think #56564 is a symptom of this.

https://build.opensuse.org/project/show/home:okurz:codecov should show all missing dependencies for Leap 15.1 . Should I link them into devel:openQA:Leap:15.1 ?

But in any case this inspired me for https://github.com/os-autoinst/openQA/pull/2319 which allows easier testing of dependencies so https://build.opensuse.org/project/show/home:okurz:branches:devel:openQA:feature:devel_test can also be used for easier testing.

Actions #8

Updated by okurz over 4 years ago

Based on my test in https://build.opensuse.org/project/show/home:okurz:branches:devel:openQA:feature:devel_test I provided missing packages in devel:openQA:Leap:15.1 :

for i in perl-Test-Mock-Guard perl-Furl perl-Devel-Cover-Report-Codecov perl-Test-Requires-Git perl-Test-Perl-Critic perl-Test-Requires-Git perl-Git-Version-Compare perl-MCE ; do osc linkpac openSUSE:Factory $i devel:openQA:Leap:15.1; done

now we should have all dependencies so either way of continuing should work.

Actions #9

Updated by andriinikitin over 4 years ago

This may be considered implemented inside circleci except codecov and doc generation, which should be addressed in https://progress.opensuse.org/issues/57050

Actions #10

Updated by andriinikitin over 4 years ago

Actions #11

Updated by okurz over 4 years ago

  • Status changed from Workable to Feedback
  • Assignee changed from andriinikitin to okurz

I did this now for the remaining container which we need for os-autoinst: https://github.com/os-autoinst/openQA/pull/2497 , merged. Will monitor how os-autoinst.

Actions #12

Updated by okurz over 4 years ago

I failed again. I thought the tag in Dockerfile is wrong but first it was the project meta config still pointing to 42.3 repos. Adjusted now to 15.1 but then still unresolvable. It must be opensuse/leap:15.1 but coolo suggests I do not go over git to develop.

https://build.opensuse.org/package/view_file/devel:openQA/openqa_dev/_service?expand=1 is

<services>
<service name="download_url">
  <param name="protocol">https</param>
  <param name="host">raw.githubusercontent.com</param>
  <param name="path">/os-autoinst/openQA/master/docker/travis_test/Dockerfile</param>
  <param name="filename">Dockerfile</param>
</service>
</services>

I should delete that and try Dockerfile manually, currently:

#!BuildTag: openqa_dev
FROM opensuse:15.1

# 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:/$releasever/openSUSE_Leap_$releasever' devel_openqa

RUN zypper in -y -C \
       glibc-i18ndata \
       glibc-locale \
       automake \
       curl \
       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 \
       python3-base \
       python3-requests \
       python3-future \
       sqlite3 \
       postgresql-server \
       which \
       chromedriver \
       xorg-x11-fonts \
       'rubygem(sass)' \
       perl \
       ShellCheck \
       python3-setuptools \
       python3-yamllint \
       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(File::Touch)' \
       'perl(IO::Scalar)' \
       'perl(IO::Socket::SSL)' \
       'perl(IPC::Run)' \
       'perl(IPC::System::Simple)' \
       'perl(JSON::XS)' \
       'perl(JavaScript::Minifier::XS)' \
       'perl(LWP::Protocol::https)' \
       'perl(Minion) >= 9.13' \
       'perl(Module::CPANfile)' \
       'perl(Module::Pluggable)' \
       '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)' \
       'perl(JSON::Validator)' \
       'perl(YAML::XS) >= 0.67' \
       'perl(Net::OpenID::Consumer)' \
       'perl(Net::SNMP)' \
       'perl(Net::SSH2)' \
       'perl(Perl::Critic)' \
       'perl(Perl::Critic::Freenode)' \
       '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::Strict)' \
       '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::Diff)' \
       'perl(CommonMark)' \
       'perl(Time::ParseDate)' \
       'perl(XSLoader) >= 0.24' \
       'perl(XML::SemanticDiff)' \
       'TimeDate' \
       perl-Archive-Extract \
       perl-Test-Simple \
       'perl(aliased)' \
       systemd-sysvinit \
       systemd libudev1 tack

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

ENTRYPOINT ["/bin/bash"]
WORKDIR $OPENQA_DIR

and then changed "FROM opensuse:15.1" to "FROM opensuse/leap:15.1" but still unresolvable. Maybe I need to change "images" to "containers" in project meta as well?

EDIT: 2019-11-20: changed more, e.g. now in project meta:

  <repository name="containers">
    <path project="devel:openQA" repository="openSUSE_Leap_15.1"/>
    <path project="openSUSE:Containers:Leap:15.1" repository="containers"/>
    <arch>x86_64</arch>
  </repository>

retriggered a test of os-autoinst and in https://travis-ci.org/os-autoinst/os-autoinst/builds/612757831#L464 I get "The command "docker build --no-cache docker/travis_test -t os-autoinst/travis_test:latest" failed and exited with 1 during ." so it seems it did something.

A newly created PR for os-autoinst seems to work fine: https://github.com/os-autoinst/os-autoinst/pull/1271#issuecomment-556009996 . Created PR for openQA: https://github.com/os-autoinst/openQA/pull/2529
After this is done we need to replace the Dockerfile in OBS back with the one checked out from git.

https://github.com/os-autoinst/openQA/pull/2529

Actions #13

Updated by okurz over 4 years ago

  • Status changed from Feedback to Resolved

All done

Actions

Also available in: Atom PDF