Project

General

Profile

Actions

coordination #81060

open

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

[epic] openQA web UI in kubernetes

Added by ilausuch over 3 years ago. Updated almost 2 years ago.

Status:
Blocked
Priority:
Low
Assignee:
Category:
Feature requests
Target version:
Start date:
2022-05-02
Due date:
% Done:

60%

Estimated time:
(Total: 0.00 h)

Description

Motivation

Helm charts allows you to automate the deployment of a complex set of items in a kubernetes environment. These elements are not only limited to pods (containers) but also to configurations (configmaps and secrets), and all the resources they need in the correct order and with the proper checks.

Thanks to the work done in #80142 we saw how to divide the web UI into parts, which were could be converted into HA and which had to remain standalone. In addition to how we should configure the load balancer to integrate each of the different services that make up the complete web UI.

This ticket proposes to create a helm chart capable of generating a complete and functional deployment of the web UI based on the following prerequisites:

  • There is a pre-existing installation of kubernetes

Acceptance criteria

  • AC1: The complete web UI HA is installed with the DB with the default options
  • AC2: The web UI is accessible from outside of the cluster
  • AC3: The helm chart is configurable with: Typical and basic parameters and, number of replicas for HA, type of persistence for DB, ...
  • AC4: Documentation is completed with instructions of use
  • AC5: Deployed together with rancher

Suggestions

  • Highly recommended based on work already done in #80142, e.g. the existing docker-compose setup
  • Proof-of-concept of either openQA webUI or worker within kubernetes, e.g. using k3s or try rancher directly done for both webUI and worker in #110524
  • Use local kubernetes deployments to development purposes (this avoid the infra needs). For instance: minikube, k3s,...
  • Figure out if is necessary to publish the helm chart and where: https://helm.sh/docs/howto/chart_releaser_action/
  • Combine with rancher
  • Ensure proper testing of the charts
  • Add definitions for init containers to allow fetching tests/needles from git repository during installation
  • As an alternative to git, provide a persistent volume claim template for shared volume (ReadMany) -- think about Longhorn
  • Add definition for rsyncd container to allow usage of cache service in the worker pod to synchronize data between webui and worker pods
  • Enhance customization options of the current chart, add common options (like annotations, pod security, replicas count, ...) which are provided by the blank helm templates (reuse initial templates created by helm create)

Subtasks 5 (2 open3 closed)

action #110524: [timeboxed:20h][spike] openQA proof-of-concept within kubernetes size:MResolvedjbaier_cz2022-05-02

Actions
action #110725: Unexpected behavior for cache service under k3s when the CACHE_MIN_FREE_PERCENTAGE is set size:MWorkable2022-05-06

Actions
action #111323: Simplified web proxy setup (remove path rewrite)Resolvedjbaier_cz2022-05-19

Actions
action #111329: openQA within kubernetes with tested helm charts size:MResolvedjbaier_cz2022-05-19

Actions
action #113402: Handle error messages in existing helm chart CI test logsNew2022-07-08

Actions

Related issues 1 (0 open1 closed)

Related to openQA Project - action #76978: How to run an openQA test in 5 minutes size:MResolvedjbaier_cz2020-11-04

Actions
Actions

Also available in: Atom PDF