automatic testing tool for oscar using system level
play

Automatic Testing Tool for OSCAR Using System-level Virtualization - PowerPoint PPT Presentation

2007 OSCAR Symposium (OSCAR07) Saskatoon, SK, Canada May 14, 2007 Automatic Testing Tool for OSCAR Using System-level Virtualization Geoffroy Valle 1 , Thomas Naughton 1 , Wesley Bland 1 2 , and Stephen L. Scott 1 1 Oak Ridge


  1. 2007 OSCAR Symposium (OSCAR’07) – Saskatoon, SK, Canada – May 14, 2007 Automatic Testing Tool for OSCAR Using System-level Virtualization Geoffroy Vallée 1 , Thomas Naughton 1 , Wesley Bland 1 2 , and Stephen L. Scott 1 1 Oak Ridge National Laboratory Computer Science and Mathematics Division Oak Ridge, TN 37831 USA 2 Tennessee Technological University Cookeville, TN 38505, USA Oak Ridge National Laboratory ― U.S. Department of Energy 1

  2. Overview Synopsis : Enhance OSCAR by providing an automated testing tool for project developers/testers. • Motivation – Why we need testing? – Why is it challenging? • Background/Tools – Testing & Release procedures – OSCAR “CLI” & OSCAR-V • Approach – Current status & Examples Oak Ridge National Laboratory ― U.S. Department of Energy 2

  3. OSCAR Open Source Cluster Application Resources Snapshot of best known methods for building, programming and using clusters. Consortium of academic, research & industry members. Oak Ridge National Laboratory ― U.S. Department of Energy 3

  4. What does OSCAR do? • Wizard based cluster software installation – Operating system – Cluster environment • Automatically configures cluster components • Increases consistency among cluster builds • Reduces time to build / install a cluster • Reduces need for expertise Oak Ridge National Laboratory ― U.S. Department of Energy 4

  5. Motivation • Software testing – Ensure quality software – Identify new bugs or regression from changes • Test automation – Reduce developer time/overhead – Reduce human error • Supported distributions & architectures grow – Time consuming – Often just want sanity tests for devel tree Oak Ridge National Laboratory ― U.S. Department of Energy 5

  6. OSCAR Testing Challenges • Distributed system – Remote machines & full control • Installation & configuration – Full system access (destructive process) • Several distributions / architectures – Large testing matrix • Requisite functionality for automation – Non-interactive mode • OSCAR GUI Wizard – Access to distributed platforms • Clusters for many distributions/architectures Oak Ridge National Laboratory ― U.S. Department of Energy 6

  7. Automated OSCAR Testing • Non-interactive mode – Recent Command-line Interface (CLI) enhancement – Provides basic scripting for all steps* * Note: Currently, the optional Configurator step isn’t supported by CLI due to technical issues, which may be resolved in latest OSCAR versions. • Access to distributed platforms – Mature system-level virtualization solutions – Recent work in virtualization tools can be leveraged • libv3m/v2m for “oscar-v” Oak Ridge National Laboratory ― U.S. Department of Energy 7

  8. Background / Tools Oak Ridge National Laboratory ― U.S. Department of Energy 8

  9. System-level Virtualization • First research in the domain, Goldberg73 Host OS VM VM – type-I & type-II virtualization VMM • Xen created a new interest Hardware – performance (para-virtualization) – open source / Linux based Type I Virtualization • Basic Terminology VM VM – Host OS : the OS running on physical machine – Guest OS : the OS running in a virtual machine VMM • Different approaches Host OS – full-virtualization : run an un-modified OS Hardware – para-virtualization : OS modifications for performance – emulation : host OS/guest OS architectures can differ Type II Virtualization – hardware support : Intel-VT, AMD-V Oak Ridge National Laboratory ― U.S. Department of Energy 9

  10. System-level Virtualization Solutions • What to use in what case? –Type-I virtualization: performance –Type-II virtualization: development • Examples used for OSCAR Testing –Xen –QEMU –VMware* * Note: not currently used in current automated work discussed in paper, but used in early manual testing. Oak Ridge National Laboratory ― U.S. Department of Energy 10

  11. Brief Comparison • Xen: para-virtualization (type-I) – Pro : good performances for computation – Con : overhead for I/O, modifications to Linux kernel, growing complexity (driven by ASP market/different needs), not a full virtualization of the system • VMware (Workstation): full-virtualization (type-II) – Pro : mature, reasonable desktop performance – Con : still difficult to adapt (not open source), not really suitable for HPC • QEMU: full-virtualization (type-II) – Pro : open source, performance similar to VMWare, supports a lot of architectures – Con : performance not suitable for HPC Oak Ridge National Laboratory ― U.S. Department of Energy 11

  12. Brief Comments for OSCAR Testing • Why Xen or QEMU? – Modified host/guest OS? • Xen (para-virt) needs modified host/guest OS – Not as well suited for “laptop testing” or standard OSCAR tests • QEMU runs stock host/guest OS – Good for “laptop testing!” and unmodified OSCAR tests –Boot sequence • QEMU – full BIOS emulation & CDrom support • Xen (para-virt) – no direct BIOS or CDrom support • Xen (full-virt) – full BIOS emulation –Performance • Type-I (Xen) typically better performance than Type-II (QEMU) Oak Ridge National Laboratory ― U.S. Department of Energy 12

  13. VM Profile Management • High-level abstraction • Concept of profiles –for VMs, a profile is : memory, disk, OS, NICs, network configuration –for virtual distributed system, a profile is: a set of profiles of virtual machines User User VM Specification Profile VM software (GUI) (XML file) configuration VM or set of VMs Oak Ridge National Laboratory ― U.S. Department of Energy 13

  14. Virtual Machine Abstraction • Provide a simple, human readable VM specification <?xml version="1.0"?> <!DOCTYPE profile PUBLIC "" "xen_vm.dtd"> <profile> <name>test</name> <image size="500">/home/gvallee/vms/test.img</image> <nic1> <mac>00:02:03:04:05:06</mac> </nic1> </profile> Oak Ridge National Laboratory ― U.S. Department of Energy 14

  15. V2M – Virtual Machine Management Applications V2M KVMs based on (Virtual Machine Management (GUI for Linux - KDE/Qt) Command Line Interface) libv3m High-Level Interface (vm_create, create_image_from_cdrom, create_image_with_oscar, vm_migrate, vm_pause, vm_unpause) V3M Front-end Virtualization Abstraction V3M Qemu Xen VMWare ... Back-ends Oak Ridge National Laboratory ― U.S. Department of Energy 15

  16. V3M - Functionality • Check the system (files/tools) • Check the profile (validation) • Create configuration scripts for VM management • Provide simple interface for VM management: –Boot, image management, status • Switch to a new virtualization solution –only change the “type” Oak Ridge National Laboratory ― U.S. Department of Energy 16

  17. OSCAR CLI • OSCAR Command-Line Interface • Text only menu-based interface to OSCAR • Two modes of use – Interactive – Non-interactive • Basic interactive invocation – requires single option on command line root# ./install_cluster --cli eth0 • For further details see OSCAR’07 talk, or OSCAR developer Wiki ☺ Oak Ridge National Laboratory ― U.S. Department of Energy 17

  18. CLI Usage Usage: install_cluster [OPTION] adapter Starts the OSCAR install process. By default, install_cluster uses the Graphical mode. --cli Runs the program in command line mode. --opkgselector file Passes the file into the selector stage of the install. That stage will not ask for user input. --buildimage file Passes the file into the build stage of the install. That stage will not ask for user input. --defineclients file Passes the file into the define clients stage of the install. That stage will not ask for user input. --networkclients file Passes the file into the setup network stage of the install. That stage will not ask for user input. --bootscript file Passes the file to confirm the client nodes have booted with their new images into the main cli. --help Display this help and exit. Oak Ridge National Laboratory ― U.S. Department of Energy 18

  19. Node boot/build mechanism (--bootscript file) • This provides a generic hook for controlling the transition between node build and the final step (post_install) of OSCAR. • After network setup completes, where typically you would manually boot nodes and wait until they complete before proceeding. • Can be as simple or intelligent as you can script, just return zero (0) on success, or non-zero for error, and then will proceed accordingly. Oak Ridge National Laboratory ― U.S. Department of Energy 19

  20. Approach Oak Ridge National Laboratory ― U.S. Department of Energy 20

  21. Approach for OSCAR Testing • Leverage virtualization – Xen and/or QEMU – V2M/libv3m • Use non-interactive OSCAR interface – Command-line interface • Fully automate / script – Download release (Subversion or Tarballs) – Setup environment – Launch/run install Oak Ridge National Laboratory ― U.S. Department of Energy 21

Recommend


More recommend