suse template jan 2014 v2 ks - linuxdays

39
openQA features – capabilities – bugs Ondrej Holecek /aaannz/ [email protected]

Upload: others

Post on 14-Apr-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SUSE template Jan 2014 v2 ks - LinuxDays

openQAfeatures – capabilities – bugs

Ondrej Holecek /aaannz/ [email protected]

Page 2: SUSE template Jan 2014 v2 ks - LinuxDays

What makes openQA

Page 3: SUSE template Jan 2014 v2 ks - LinuxDays

3

User focused

• Watching the screen

Page 4: SUSE template Jan 2014 v2 ks - LinuxDays

4

User focused

• Watching the screen• Keyboard and mouse input

Page 5: SUSE template Jan 2014 v2 ks - LinuxDays

5

User focused

• Watching the screen• Keyboard and mouse input

→ Virtually limitless test scenarios

Page 6: SUSE template Jan 2014 v2 ks - LinuxDays

6

Wide range of SUTs

• Virtual machines FTW!‒ QEMU (x86_64, ARM), libvirt, PowerVM, s390

Page 7: SUSE template Jan 2014 v2 ks - LinuxDays

7

Wide range of SUTs

• Virtual machines FTW!‒ QEMU (x86_64, ARM), libvirt, PowerVM, s390

• Reality still real though‒ IPMI, ADDERLink

Page 8: SUSE template Jan 2014 v2 ks - LinuxDays

8

AI breeding ground (aka multi-machine)

• Serial dependency

Page 9: SUSE template Jan 2014 v2 ks - LinuxDays

9

AI breeding ground (aka multi-machine)

• Serial dependency‒ validation test jobs

‒ test job preparing environment for others

Page 10: SUSE template Jan 2014 v2 ks - LinuxDays

10

AI breeding ground (aka multi-machine)

• Serial dependency‒ validation test jobs

‒ test job preparing environment for others

• Parallel dependency

Page 11: SUSE template Jan 2014 v2 ks - LinuxDays

11

AI breeding ground (aka multi-machine)

• Serial dependency‒ validation test jobs

‒ test job preparing environment for others

• Parallel dependency‒ client-server scenarios

‒ High-Availability testing

Page 12: SUSE template Jan 2014 v2 ks - LinuxDays

12

AI breeding ground (aka multi-machine)

• Serial dependency‒ validation test jobs

‒ test job preparing environment for others

• Parallel dependency‒ client-server scenarios

‒ High-Availability testing

→ openQA scheduler does the job management

Page 13: SUSE template Jan 2014 v2 ks - LinuxDays

13

“Is There Anybody Out There?”

• QEMU user networking‒ no SUT-SUT communication

‒ no inbound access

‒ outbound access allowed

Page 14: SUSE template Jan 2014 v2 ks - LinuxDays

14

“Is There Anybody Out There?”

• QEMU user networking• TAP devices

‒ manual configuration required

‒ all-you-can-do

Page 15: SUSE template Jan 2014 v2 ks - LinuxDays

15

“Is There Anybody Out There?”

• QEMU user networking• TAP devices• Open vSwitch

‒ initial configuration required

‒ dynamically creates network for MM tests

‒ SUT-SUT communication

‒ allows network between worker nodes

Page 16: SUSE template Jan 2014 v2 ks - LinuxDays

16

Shiny user interface

Page 17: SUSE template Jan 2014 v2 ks - LinuxDays

17

Shiny user interface

Page 18: SUSE template Jan 2014 v2 ks - LinuxDays

18

Shiny user interface

Page 19: SUSE template Jan 2014 v2 ks - LinuxDays

19

Shiny user interface

Page 20: SUSE template Jan 2014 v2 ks - LinuxDays

20

Shiny user interface

Page 21: SUSE template Jan 2014 v2 ks - LinuxDays

21

Shiny user interface

Page 22: SUSE template Jan 2014 v2 ks - LinuxDays

22

Shiny user interface

Page 23: SUSE template Jan 2014 v2 ks - LinuxDays

23

Shiny user interface

Page 24: SUSE template Jan 2014 v2 ks - LinuxDays

24

Shiny user interface

Page 25: SUSE template Jan 2014 v2 ks - LinuxDays

openQA testsThere’s more than one way to do it

Page 26: SUSE template Jan 2014 v2 ks - LinuxDays

openQA testsThere’s more than one way to do it, but sometimes consistency is not a bad thing either

Page 27: SUSE template Jan 2014 v2 ks - LinuxDays

27

“You can't ever go wrong with pearls.”

• Yes, it’s perl

Page 28: SUSE template Jan 2014 v2 ks - LinuxDays

28

“You can't ever go wrong with pearls.”

• Yes, it’s perl• openQA test = test code + test loader + needles

Page 29: SUSE template Jan 2014 v2 ks - LinuxDays

29

openQA test loader

• ‘main.pm’• loads individual modules• maintains test order

Page 30: SUSE template Jan 2014 v2 ks - LinuxDays

30

test code

• openQA/os-autoinst APIs‒ testapi

‒ mmapi

‒ lockapi

Page 31: SUSE template Jan 2014 v2 ks - LinuxDays

31

test code

• openQA/os-autoinst APIs‒ testapi

‒ mmapi

‒ lockapi

• whatever you want‒ just don’t forget to die when

appropriate

Page 32: SUSE template Jan 2014 v2 ks - LinuxDays

32

needles

• picture‒ screenshot from SUT

‒ generated image

‒ ...

Page 33: SUSE template Jan 2014 v2 ks - LinuxDays

33

needles

• picture‒ screenshot from SUT

‒ generated image

‒ ...

• JSON metadata‒ match areas

‒ needle tags

‒ ...

Page 34: SUSE template Jan 2014 v2 ks - LinuxDays

34

support for text based tests

• monitoring SUT serial port• matching against regexp(s)• included in testapi

Page 35: SUSE template Jan 2014 v2 ks - LinuxDays

Live demo

Page 36: SUSE template Jan 2014 v2 ks - LinuxDays

Questions?

Page 37: SUSE template Jan 2014 v2 ks - LinuxDays

37

Contacts

• irc://chat.freenode.net/opensuse-factory• mailto: [email protected][email protected]:os-autoinst/openQA• [email protected]:os-autoinst/os-autoinst• [email protected]:os-autoinst/os-autoinst-distri-openSUSE• https://progress.opensuse.org/projects/openqav3

Page 38: SUSE template Jan 2014 v2 ks - LinuxDays

Thank you.

Join the conversation,contribute & have a lot of fun!www.opensuse.org

Page 39: SUSE template Jan 2014 v2 ks - LinuxDays

General DisclaimerThis document is not to be construed as a promise by any participating organisation to develop, deliver, or market a product. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. openSUSE makes no representations or warranties with respect to the contents of this document, and specifically disclaims any express or implied warranties of merchantability or fitness for any particular purpose. The development, release, and timing of features or functionality described for openSUSE products remains at the sole discretion of openSUSE. Further, openSUSE reserves the right to revise this document and to make changes to its content, at any time, without obligation to notify any person or entity of such revisions or changes. All openSUSE marks referenced in this presentation are trademarks or registered trademarks of SUSE LLC, in the United States and other countries. All third-party trademarks are the property of their respective owners.

LicenseThis slide deck is licensed under the Creative Commons Attribution-ShareAlike 4.0 International license. It can be shared and adapted for any purpose (even commercially) as long as Attribution is given and any derivative work is distributed under the same license.

Details can be found at https://creativecommons.org/licenses/by-sa/4.0/

Credits

TemplateRichard Brown [email protected]

Design & InspirationopenSUSE Design Teamhttp://opensuse.github.io/branding-guidelines/