action #73447
coordination #80142: [saga][epic] Scale out openQA: Redundant/load-balancing deployments of openQA, easy containers, containers on kubernetes
POC: Create openQA Web Application container image (feature)
0%
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:
- The image contains:
- the openQA Web Application
- a webserver
- a git database
- The components of this service are preconfigured to communicate with each other.
- The openQA WA is able to start/communicate with openQA Worker containers/virtual machines
Further details¶
Related issues
History
#1
Updated by okurz 3 months ago
- Related to action #73450: POC: Create openQA worker container image (feature) added
#2
Updated by okurz 3 months ago
- Related to coordination #43706: [epic] Generate "download&use" docker image of openQA for SUSE QA added
#3
Updated by okurz 3 months ago
- Related to action #43712: Update upstream dockerfiles to provide an easy to use docker image of openQA-webui added
#4
Updated by okurz 3 months 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.
#5
Updated by ilausuch 3 months 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?
#6
Updated by okurz 3 months 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
#7
Updated by okurz 3 months 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
#10
Updated by okurz about 2 months ago
- Parent task set to #80142
#11
Updated by okurz about 2 months ago
plorinc could you please take a look into the open points?
#12
Updated by plorinc about 2 months 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?
#13
Updated by cdywan about 2 months 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
#14
Updated by okurz about 2 months 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 :)