Skip to content

Latest commit

 

History

History
200 lines (171 loc) · 5.01 KB

settings.md

File metadata and controls

200 lines (171 loc) · 5.01 KB

Define settings in openQA

Replace <N> with your number (1 .. 7)

Menu > Medium Types (change Distri)

This section defines ISO image. Flavor can distinguish net/live/normal types.

Distri:  caasp<N>
Version: 3.0
Flavor:  DVD
Arch:    x86_64
Settings:
BETA=0
DESKTOP=textmode

Menu > Machines

Definition of machine that should run our test. This matches real machine with openqa-worker installed that has set of capabilities (run on specific VM host, can run multimachine jobs, is x86_64)

Name:    caasp_x86_64
Backend: qemu
Settings:
HDDSIZEGB=40
QEMUCPU=host
QEMURAM=4096
WORKER_CLASS=caasp_x86_64

Menu > Test suites

Test suite is set of variables given to the job when started. Variables are then parsed and processed by tests.

MicroOS test (simple optional example)

EXTRA - run microOS feature tests like transactional-update after installation. SYSTEM_ROLE - will be selected by installer.

# MicroOS test
Name: MicroOS-plain
Settings:
EXTRA=FEATURES
SYSTEM_ROLE=plain

CaaSP test - cluster deployment (change Name as you wish - so you can recognize it later)

Name: CaaSP-controller
Settings:
+HDD_1=sle-12-SP3-Server-DVD-x86_64-gnome-CaaSP.qcow2
BOOT_HDD_IMAGE=1
CONTAINER_RUNTIME=docker
DESKTOP=gnome
NICTYPE=tap
NOAUTOLOGIN=1
STACK_ROLE=controller
SUPPORT_SERVER=1
SUPPORT_SERVER_ROLES=dhcp,dns,ntp

Name: CaaSP-admin
Settings:
EXTRABOOTPARAMS=hostname=admin
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
QEMUCPUS=2
STACK_ROLE=admin
SYSTEM_ROLE=admin

Name: CaaSP-master-api
Settings:
EXTRABOOTPARAMS=hostname=master-API
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Name: CaaSP-worker-mixed
Settings:
EXTRABOOTPARAMS=hostname=miXed
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Name: CaaSP-worker-ay1
Settings:
AUTOYAST=http://admin.openqa.test/autoyast
EXTRABOOTPARAMS=hostname=worker-ay1
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Additional tests to check worker / master node addition / removal

Optional Add & Remove worker

Name: CaaSP-worker-addrm
Settings:
DELAYED=worker
EXTRABOOTPARAMS=hostname=worker-addrm
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Optional Add & Remove master

Name: CaaSP-master-rm
Settings:
EXTRABOOTPARAMS=hostname=master-RM
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Name: CaaSP-master-add
Settings:
DELAYED=master
EXTRABOOTPARAMS=hostname=master-add
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Name: CaaSP-master-ay
Settings:
AUTOYAST=http://admin.openqa.test/autoyast
EXTRABOOTPARAMS=hostname=master-ay
NICTYPE=tap
PARALLEL_WITH=CaaSP-controller
STACK_ROLE=worker
SYSTEM_ROLE=worker

Job Groups: Pair media & machine & test suites

Now you need to associate which test should be run on which image. Associate one or more CaaSP-master-* , one CaaSP-admin-*, one CaaSP-controller-* and at least 2 CaaSP-worker-* testsuites.

Run openQA jobs

Download GM image and support server

Download image that you want to test. We already downloaded GM image & support-server. You can download from:

# cd /var/lib/openqa/share/factory/iso/
# wget http://openqa.suse.de/tests/1785307/asset/iso/SUSE-CaaS-Platform-3.0-DVD-x86_64-Build0101-Media1.iso

# cd /var/lib/openqa/share/factory/hdd/
# wget http://openqa.suse.de/tests/1785307/asset/hdd/sle-12-SP3-Server-DVD-x86_64-gnome-CaaSP.qcow2

Schedule all tests associated with image

Push local images to openQA scheduler. All settings have to be defined by you.

# Change DISTRI and optionally BUILD variable
/usr/share/openqa/script/client isos post ISO=SUSE-CaaS-Platform-3.0-DVD-x86_64-Build0101-Media1.iso \
  DISTRI=caasp<N> VERSION=3.0 FLAVOR=DVD ARCH=x86_64 BUILD=0101

# Official openqa.suse.de
sudo -u geekotest -i ./rsync.pl --host localhost --verbose --add-existing caasp_dvd

Files

├── lib
    ├── caasp.pm
    ├── caasp_controller.pm
├── data
    ├── caasp/*
├── tests
    ├── caasp/*
    ├── caasp/stack_*

Tips

# connect to running job
PORT=5990+worker_id
vncviewer uv300x.arch.suse.de:$PORT -shared

# keep cluster alive in case of failure
DEBUG_SLEEP=controller

# Description of basic commands
https://github.com/os-autoinst/os-autoinst/blob/master/testapi.pm
 - assert_script_run "pwd", 120;
 - assert_screen "velum-started", 60;

What we have

Tasks

  • fix installation workflow for CaaSP 4.0 (OCI -> SLES installer)
  • add Helm test
  • add CAP deployment
  • add drbd storage to support-server (use it later as storage class)
  • backup & restore of admin node