SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
Agenda
• Introduction of openQA
‒ System Architecture and Workflow
‒ Include Items : openQA, OS-autoinst, Needles ...etc.
‒ What is openQA-Worker doing for
‒ How is the Image Matching in openQA
‒ Contribute to Upstream in GitHub
• WORKSHOP
‒ Installation of openQA framework in openSUSE Leap 42.1
‒ How to run a test job and configure the settings on openQA WEBUI
‒ How to create/compose your own test case for openQA
System Architecture
Layout of openQA WebUI
Test Flow of openQA
os-autoinst backends
• QEMU/KVM (default)
• IPMI (real HW)
• X86_64,PowerPC, s390, PowerVM...etc.
• Refer to backend docs
‒ (https://github.com/os-autoinst/os-
autoinst/blob/master/doc/backend_vars.asciidoc)
"tags": [
"inst-welcome",
"languagepicked"
],
"area": [
{
"width": 339,
"height": 55,
"xpos": 0,
"type"0: "match",
"ypos": 178
},
{
"ypos": 223,
"type": "match",
"height": 49,
"width": 175,
"xpos": 351
}
Welcome.png
Welcome.json
Tags
Match Area 1 Match Area 2
Test Modules Integration
OpenQA-Worker
• Workers are processes running virtual machines to
perform the actual testing. They are distributed as a
separate package and can be installed on multiple
machines but still using only one WebUI.
Test Running via openQA-worker
Test Architecture
• Test loader
‒ main.pm
• Test cases
‒ tests/*
• Test needles
‒ screenshot + metadata
Resources
• openQA
‒ (https://github.com/os-autoinst/openQA)
• os-autoinst
‒ (https://github.com/os-autoinst/os-autoinst)
• openSUSE tests
‒ (https://github.com/os-autoinst/os-autoinst-distri-opensuse)
• openSUSE needles
‒ (https://github.com/os-autoinst/os-autoinst-needles-opensuse)
Workshop #1: Installation
• Add repo for openSUSE Leap 42.1
# zypper in openQA
• Installation of openQA
# zypper ar -f obs://devel:openQA/openSUSE_Leap_42.1 openQA
# zypper ar -f obs://devel:openQA:Leap:42.1/openSUSE_Leap_42.1 openQA-perl-modules
Refer to :https://github.com/os-autoinst/openQA/blob/master/docs/Installing.asciidoc
Workshop #2: Basic Configuration
• Apache proxy configuration
• SSL/TLS
‒ If you don’t have a TLS/SSL certificate for your host you must
turn HTTPS off. You can do that in /etc/openqa/openqa.ini
# a2enmod headers
# a2enmod proxy
# a2enmod proxy_http
# a2enmod proxy_wstunnel
Workshop #3: Start openQA WebUI
• Use systemd command to enable openQA services
• The openQA web UI should be available on
http://localhost/ now.
• To ensure openQA runs on each boot, you should also
systemctl enable the same services.
# systemctl start openqa-scheduler
# systemctl start openqa-gru
# systemctl start openqa-websockets
# systemctl start openqa-webui
# systemctl restart apache2
Workshop #4: Run openQA-Worker
• Workers are processes running virtual machines to
perform the actual testing. They are distributed as a
separate package and can be installed on multiple
machines but still using only one WebUI.
• Installation
# zypper in openQA-worker
• Start
# systemctl start openqa-worker@1.service (You can start as many workers as you
dare, you just need to supply different worker id (number after @).)
Workshop #5: Manage API Key
• To allow workers to access your instance, you need to log
into openQA as operator and create a pair of API key and
secret.
• OpenQA WEBUI → Manage API keys → CREATE
‒ Use the API and fill in your installed worker machine
• Modify /etc/openqa/client.conf
[localhost]
key = 0123456789ABCDEF (replace into your key)
secret = 0123456789ABCDEF (replace into your key)
Workshop #6: User Authentication
• OpenQA supports three different authentication
methods - OpenID (default), iChain and Fake. See auth
section in /etc/openqa/openqa.ini
[auth]
• # method name is case sensitive!
• method = OpenID|iChain|Fake
• For Testing purposes only! Fake authentication bypass
any authentication and automatically allow any login
requests as Demo user with administrator privileges and
without password.
Workshop #7: Test Configuration-1
• Medium types
• Distri → opensuse
• Version → 42.1
• Flavor → Desktop-DVD
• Arch → x86_64
• Settings → ISO_MAXSIZE=4700372992
SHUTDOWN_NEEDS_AUTH=1
Workshop #8: Test Configuration-2
• Machines
• Name → 64bit
• Backend → qemu
• Settings → HDDSIZEGB=20
QEMUCPU=qemu64
WORKER_CLASS=qemu_x86_64
Workshop #9: Test Configuration-3
• Job Group
• Name → openSUSE_42.1_installation
• Settings → DESKTOP = gnome
INSTALLONLY = 1
• Test suites
• Create a openSUSE 42.1 job group
• Add the test suite into the test group
Workshop #10: Test ISO,Cases,Needles
• Test Needles
• Get → Download openSUSE-Leap-42.1-DVD-x86_64.iso file from official website
• Locate → /var/lib/openqa/factory/iso
• Test ISO
• Get → $git clone https://github.com/os-autoinst/os-autoinst-distri-opensuse
• Action → Rename os-autoinst-distri-opensuse folder as opensuse
• Locate → /var/lib/openqa/tests/opensuse
• Test Cases
• Get → $git clone https://github.com/os-autoinst/os-autoinst-needles-opensuse
• Action → Rename os-autoinst-needles-opensuse folder as needles
• Locate → /var/lib/openqa/tests/opensuse/products/opensuse/needles
Workshop #11: Run openQA test
Test for openSUSE 42.1 GM ISO:
# /usr/share/openqa/script/client isos post ISO=openSUSE-Leap-42.1-DVD-x86_64.iso
DISTRI=opensuse VERSION=42.1 FLAVOR=Desktop-DVD ARCH=x86_64 BUILD=GM
• Launch openQA test via script
Have a Lot of Fun, and Join
Us At:
openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and Ansible
Dmytro Slupytskyi
 

Was ist angesagt? (20)

Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and code
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
 
Docker SQL Continuous Integration Flow
Docker SQL Continuous Integration FlowDocker SQL Continuous Integration Flow
Docker SQL Continuous Integration Flow
 
Docker orchestration
Docker orchestrationDocker orchestration
Docker orchestration
 
Drupal 8 configuration development flow
Drupal 8 configuration development flowDrupal 8 configuration development flow
Drupal 8 configuration development flow
 
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
Packaging et déploiement d'une application avec Docker et Ansible @DevoxxFR 2015
 
Django via Docker
Django via DockerDjango via Docker
Django via Docker
 
Boulder dev ops-meetup-11-2012-rundeck
Boulder dev ops-meetup-11-2012-rundeckBoulder dev ops-meetup-11-2012-rundeck
Boulder dev ops-meetup-11-2012-rundeck
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
 
Puppet and Vagrant in development
Puppet and Vagrant in developmentPuppet and Vagrant in development
Puppet and Vagrant in development
 
FITC - Node.js 101
FITC - Node.js 101FITC - Node.js 101
FITC - Node.js 101
 
It Works On My Machine: Vagrant for Software Development
It Works On My Machine: Vagrant for Software DevelopmentIt Works On My Machine: Vagrant for Software Development
It Works On My Machine: Vagrant for Software Development
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 
RunDeck
RunDeckRunDeck
RunDeck
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hours
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
 
Docker up and running
Docker up and runningDocker up and running
Docker up and running
 
Continuous integration with Docker and Ansible
Continuous integration with Docker and AnsibleContinuous integration with Docker and Ansible
Continuous integration with Docker and Ansible
 

Ähnlich wie openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016

Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with Puppet
Joe Ray
 

Ähnlich wie openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016 (20)

Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
 
Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with Puppet
 
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
Chef Fundamentals Training Series Module 3: Setting up Nodes and Cookbook Aut...
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
Deploy Mediawiki Using FIWARE Lab Facilities
Deploy Mediawiki Using FIWARE Lab FacilitiesDeploy Mediawiki Using FIWARE Lab Facilities
Deploy Mediawiki Using FIWARE Lab Facilities
 
Automating Complex Setups with Puppet
Automating Complex Setups with PuppetAutomating Complex Setups with Puppet
Automating Complex Setups with Puppet
 
Deploy MediaWiki usgin Fiware Lab Facilities
Deploy MediaWiki usgin Fiware Lab FacilitiesDeploy MediaWiki usgin Fiware Lab Facilities
Deploy MediaWiki usgin Fiware Lab Facilities
 
The Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote WorldThe Future of Security and Productivity in Our Newly Remote World
The Future of Security and Productivity in Our Newly Remote World
 
Scala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camouScala, docker and testing, oh my! mario camou
Scala, docker and testing, oh my! mario camou
 
Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3Node object and roles - Fundamentals Webinar Series Part 3
Node object and roles - Fundamentals Webinar Series Part 3
 
Testing with PostgreSQL
Testing with PostgreSQLTesting with PostgreSQL
Testing with PostgreSQL
 
Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015Ansible benelux meetup - Amsterdam 27-5-2015
Ansible benelux meetup - Amsterdam 27-5-2015
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?Hogy jussunk ki lezárt hálózatokból?
Hogy jussunk ki lezárt hálózatokból?
 
Beyond Puppet
Beyond PuppetBeyond Puppet
Beyond Puppet
 
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and WindowsOpenStack Summit 2013 Hong Kong - OpenStack and Windows
OpenStack Summit 2013 Hong Kong - OpenStack and Windows
 
Puppet modules: An Holistic Approach
Puppet modules: An Holistic ApproachPuppet modules: An Holistic Approach
Puppet modules: An Holistic Approach
 
Puppet Modules: An Holistic Approach - Alessandro Franceschi of Lab42 - Puppe...
Puppet Modules: An Holistic Approach - Alessandro Franceschi of Lab42 - Puppe...Puppet Modules: An Holistic Approach - Alessandro Franceschi of Lab42 - Puppe...
Puppet Modules: An Holistic Approach - Alessandro Franceschi of Lab42 - Puppe...
 
Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014Chef & OpenStack: OSCON 2014
Chef & OpenStack: OSCON 2014
 
Bsides tampa
Bsides tampaBsides tampa
Bsides tampa
 

Kürzlich hochgeladen

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

openQA hands on with openSUSE Leap 42.1 - openSUSE.Asia Summit ID 2016

  • 1.
  • 2. Agenda • Introduction of openQA ‒ System Architecture and Workflow ‒ Include Items : openQA, OS-autoinst, Needles ...etc. ‒ What is openQA-Worker doing for ‒ How is the Image Matching in openQA ‒ Contribute to Upstream in GitHub • WORKSHOP ‒ Installation of openQA framework in openSUSE Leap 42.1 ‒ How to run a test job and configure the settings on openQA WEBUI ‒ How to create/compose your own test case for openQA
  • 3.
  • 4.
  • 5.
  • 8. Test Flow of openQA
  • 9.
  • 10. os-autoinst backends • QEMU/KVM (default) • IPMI (real HW) • X86_64,PowerPC, s390, PowerVM...etc. • Refer to backend docs ‒ (https://github.com/os-autoinst/os- autoinst/blob/master/doc/backend_vars.asciidoc)
  • 11.
  • 12.
  • 13. "tags": [ "inst-welcome", "languagepicked" ], "area": [ { "width": 339, "height": 55, "xpos": 0, "type"0: "match", "ypos": 178 }, { "ypos": 223, "type": "match", "height": 49, "width": 175, "xpos": 351 } Welcome.png Welcome.json Tags Match Area 1 Match Area 2
  • 14.
  • 16.
  • 17. OpenQA-Worker • Workers are processes running virtual machines to perform the actual testing. They are distributed as a separate package and can be installed on multiple machines but still using only one WebUI.
  • 18. Test Running via openQA-worker
  • 19. Test Architecture • Test loader ‒ main.pm • Test cases ‒ tests/* • Test needles ‒ screenshot + metadata
  • 20.
  • 21. Resources • openQA ‒ (https://github.com/os-autoinst/openQA) • os-autoinst ‒ (https://github.com/os-autoinst/os-autoinst) • openSUSE tests ‒ (https://github.com/os-autoinst/os-autoinst-distri-opensuse) • openSUSE needles ‒ (https://github.com/os-autoinst/os-autoinst-needles-opensuse)
  • 22.
  • 23.
  • 24. Workshop #1: Installation • Add repo for openSUSE Leap 42.1 # zypper in openQA • Installation of openQA # zypper ar -f obs://devel:openQA/openSUSE_Leap_42.1 openQA # zypper ar -f obs://devel:openQA:Leap:42.1/openSUSE_Leap_42.1 openQA-perl-modules Refer to :https://github.com/os-autoinst/openQA/blob/master/docs/Installing.asciidoc
  • 25. Workshop #2: Basic Configuration • Apache proxy configuration • SSL/TLS ‒ If you don’t have a TLS/SSL certificate for your host you must turn HTTPS off. You can do that in /etc/openqa/openqa.ini # a2enmod headers # a2enmod proxy # a2enmod proxy_http # a2enmod proxy_wstunnel
  • 26. Workshop #3: Start openQA WebUI • Use systemd command to enable openQA services • The openQA web UI should be available on http://localhost/ now. • To ensure openQA runs on each boot, you should also systemctl enable the same services. # systemctl start openqa-scheduler # systemctl start openqa-gru # systemctl start openqa-websockets # systemctl start openqa-webui # systemctl restart apache2
  • 27. Workshop #4: Run openQA-Worker • Workers are processes running virtual machines to perform the actual testing. They are distributed as a separate package and can be installed on multiple machines but still using only one WebUI. • Installation # zypper in openQA-worker • Start # systemctl start openqa-worker@1.service (You can start as many workers as you dare, you just need to supply different worker id (number after @).)
  • 28. Workshop #5: Manage API Key • To allow workers to access your instance, you need to log into openQA as operator and create a pair of API key and secret. • OpenQA WEBUI → Manage API keys → CREATE ‒ Use the API and fill in your installed worker machine • Modify /etc/openqa/client.conf [localhost] key = 0123456789ABCDEF (replace into your key) secret = 0123456789ABCDEF (replace into your key)
  • 29. Workshop #6: User Authentication • OpenQA supports three different authentication methods - OpenID (default), iChain and Fake. See auth section in /etc/openqa/openqa.ini [auth] • # method name is case sensitive! • method = OpenID|iChain|Fake • For Testing purposes only! Fake authentication bypass any authentication and automatically allow any login requests as Demo user with administrator privileges and without password.
  • 30.
  • 31. Workshop #7: Test Configuration-1 • Medium types • Distri → opensuse • Version → 42.1 • Flavor → Desktop-DVD • Arch → x86_64 • Settings → ISO_MAXSIZE=4700372992 SHUTDOWN_NEEDS_AUTH=1
  • 32. Workshop #8: Test Configuration-2 • Machines • Name → 64bit • Backend → qemu • Settings → HDDSIZEGB=20 QEMUCPU=qemu64 WORKER_CLASS=qemu_x86_64
  • 33. Workshop #9: Test Configuration-3 • Job Group • Name → openSUSE_42.1_installation • Settings → DESKTOP = gnome INSTALLONLY = 1 • Test suites • Create a openSUSE 42.1 job group • Add the test suite into the test group
  • 34.
  • 35. Workshop #10: Test ISO,Cases,Needles • Test Needles • Get → Download openSUSE-Leap-42.1-DVD-x86_64.iso file from official website • Locate → /var/lib/openqa/factory/iso • Test ISO • Get → $git clone https://github.com/os-autoinst/os-autoinst-distri-opensuse • Action → Rename os-autoinst-distri-opensuse folder as opensuse • Locate → /var/lib/openqa/tests/opensuse • Test Cases • Get → $git clone https://github.com/os-autoinst/os-autoinst-needles-opensuse • Action → Rename os-autoinst-needles-opensuse folder as needles • Locate → /var/lib/openqa/tests/opensuse/products/opensuse/needles
  • 36.
  • 37. Workshop #11: Run openQA test Test for openSUSE 42.1 GM ISO: # /usr/share/openqa/script/client isos post ISO=openSUSE-Leap-42.1-DVD-x86_64.iso DISTRI=opensuse VERSION=42.1 FLAVOR=Desktop-DVD ARCH=x86_64 BUILD=GM • Launch openQA test via script
  • 38.
  • 39. Have a Lot of Fun, and Join Us At: