Project

General

Profile

Actions

action #73447

closed

coordination #80142: [saga][epic] Scale out: Redundant/load-balancing deployments of openQA, easy containers, containers on kubernetes

POC: Create openQA Web Application container image (feature)

Added by plorinc about 4 years ago. Updated about 4 years ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
Feature requests
Target version:
Start date:
2020-10-16
Due date:
% Done:

0%

Estimated time:

Description

User story

TBD

Acceptance criteria

  • AC1: Container started based on this image is able to run on the Docker engine
  • AC2: Full Green Stack: All software components are available in the SUSE repositories
  • AC3: An automated way is provided to fill the database with necessary tables and schemas, and a predefined set of test data
  • AC4: Non-static data is stored on container volumes, if possible
  • AC5: Deliverable is an image stored in a registry, a Dockerfile (with instructions on how to create a container from the image) or a Compose file

Tasks

Create a POC openQA Web Application container image with the following features:

  1. The image contains:
  2. the openQA Web Application
  3. a webserver
  4. a git database
  5. The components of this service are preconfigured to communicate with each other.
  6. The openQA WA is able to start/communicate with openQA Worker containers/virtual machines

Further details


Related issues 3 (0 open3 closed)

Related to openQA Project (public) - action #73450: POC: Create openQA worker container image (feature)Resolvedilausuch2020-10-16

Actions
Related to openQA Project (public) - coordination #43706: [epic] Generate "download&use" docker image of openQA for SUSE QAResolvedokurz2018-11-13

Actions
Related to openQA Project (public) - action #43712: Update upstream dockerfiles to provide an easy to use docker image of openQA-webuiResolvedilausuch2018-11-13

Actions
Actions #1

Updated by okurz about 4 years ago

  • Related to action #73450: POC: Create openQA worker container image (feature) added
Actions #2

Updated by okurz about 4 years ago

  • Related to coordination #43706: [epic] Generate "download&use" docker image of openQA for SUSE QA added
Actions #3

Updated by okurz about 4 years ago

  • Related to action #43712: Update upstream dockerfiles to provide an easy to use docker image of openQA-webui added
Actions #4

Updated by okurz about 4 years ago

  • Description updated (diff)
  • Due date set to 2020-10-31
  • Status changed from New to Feedback
  • Assignee set to okurz
  • Target version set to Ready

Similar as in #73450 I am confident that we have that mainly covered. There is https://github.com/os-autoinst/openQA/blob/master/docker/webui/Dockerfile

Can you crosscheck if that fulfills your requirements or what is still missing?

I have also referenced some other, already existing tickets which might be interesting to look into.

Actions #5

Updated by ilausuch about 4 years ago

I think some aspects of this are already done in
https://github.com/os-autoinst/openQA/pull/3431

  • AC1: Container started based on this image is able to run on the Docker engine
  • AC4: Non-static data is stored on container volumes, if possible
  • AC5: Deliverable is an image stored in a registry, a Dockerfile (with instructions on how to create a container from the image) or a Compose file

An I think, if I am not wrong, that the tool itself solve the AC3

  • AC3: An automated way is provided to fill the database with necessary tables and schemas, and a predefined set of test data

And also I think to solve AC2 will be needed:

  • Create the images in OBS, or in the CI process after merge into master any PR
  • To push these image to the repository
  • About the docker-compose file could be remain in code or as example in the documentation. Right now, the code on this PR allows to create a any size HA web UI environment.

Do you agree?

Actions #6

Updated by okurz about 4 years ago

ilausuch wrote:

And also I think to solve AC2 will be needed:

  • Create the images in OBS, or in the CI process after merge into master any PR
  • To push these image to the repository

I don't see why this should be needed to fulfill AC2 but this is planned anyway and one thing that could be clarified

Actions #7

Updated by okurz about 4 years ago

  • Due date deleted (2020-10-31)
  • Status changed from Feedback to New
  • Assignee deleted (okurz)
  • Priority changed from Normal to Low
  • Target version changed from Ready to future

please look into the questions in #73447#note-4

Actions #8

Updated by livdywan about 4 years ago

Can we regard this as a duplicate of #43712 and #43718?

Actions #9

Updated by okurz about 4 years ago

The thing is that I do not know yet if they are real duplicates. #43712 and #43718 are quite "developer-centric" but this ticket here might address a bit bigger scope. I wanted to give plorinc a bit more time to respond.

Actions #10

Updated by okurz about 4 years ago

  • Parent task set to #80142
Actions #11

Updated by okurz about 4 years ago

@plorinc could you please take a look into the open points?

Actions #12

Updated by plorinc about 4 years ago

okurz wrote:

The thing is that I do not know yet if they are real duplicates. #43712 and #43718 are quite "developer-centric" but this ticket here might address a bit bigger scope. I wanted to give plorinc a bit more time to respond.

The Dockerfile looks good for the PoC purpose.
Do you have documentation on how to start the containers for testing?

Actions #13

Updated by livdywan about 4 years ago

plorinc wrote:

okurz wrote:

The thing is that I do not know yet if they are real duplicates. #43712 and #43718 are quite "developer-centric" but this ticket here might address a bit bigger scope. I wanted to give plorinc a bit more time to respond.

The Dockerfile looks good for the PoC purpose.
Do you have documentation on how to start the containers for testing?

@ilausuch updated the docs we have here, so this should be good to get you started:

https://github.com/os-autoinst/openQA/blob/master/docker/README.md

Actions #14

Updated by okurz about 4 years ago

  • Status changed from New to Resolved
  • Assignee set to ilausuch
  • Target version changed from future to Ready

Ok, cdywan already provided a link to documentation. That should certainly be good enough for a "proof-of-concept". But we also plan to improve the documentation, provide an announcement about the updated approach as well as a "demo", find more details in #80534

Now let me try to see if we covered the ACs

Acceptance criteria

  • AC1: Container started based on this image is able to run on the Docker engine

DONE: We tested with both "docker" and "podman". We also have "systemd-nspawn" containers but this is a different approach. https://registry.opensuse.org/cgi-bin/cooverview?srch_term=project%3Ddevel%3AopenQA lists the containers along with example commands based on podman as well as docker.

  • AC2: Full Green Stack: All software components are available in the SUSE repositories

DONE: Available in openSUSE Tumbleweed as well as build.opensuse.org/project/show/devel:openQA

  • AC3: An automated way is provided to fill the database with necessary tables and schemas, and a predefined set of test data

DONE: openQA automatically creates tables and schemas and http://open.qa/docs/#_cloning_existing_jobs_openqa_clone_job describes how openQA tests can be triggered without any further necessary test data setup in the instance

  • AC4: Non-static data is stored on container volumes, if possible

DONE: Multiple approaches possible, either within the container as throw-away data, within data volume containers or local directories mounted into container, see https://github.com/os-autoinst/openQA/blob/master/docker/README.md#running-openqa for details

  • AC5: Deliverable is an image stored in a registry, a Dockerfile (with instructions on how to create a container from the image) or a Compose file

DONE: All of that with https://registry.opensuse.org/cgi-bin/cooverview?srch_term=project%3Ddevel%3AopenQA and https://github.com/os-autoinst/openQA/tree/master/docker

Setting @ilausuch as he was the main driver in the latest work, I am just collecting facts as result :)

Actions

Also available in: Atom PDF