SlideShare a Scribd company logo
1 of 20
Download to read offline
Test-as-a-Service and XenRT
Alex Brett (alex.brett@citrix.com)

Xen Project Developer Summit
October 24th, 2013
Agenda
• What is Test-as-a-Service?

• Introduction to XenRT
• Demo
• Test-as-a-Service and the Xen Project
• Q&A

2
What is Test-as-a-Service?
An automated test platform, with the following characteristics:
• Self service
• Contains a good sized library of tests

• Performs on-demand provisioning
• For Xen, provides a variety of hardware
Not the ‘Citrix Auto Support’ tool,
which also goes by the acronym
TaaS, but is Tools-as-a-Service
Introduction to XenRT (Xen Regression Test)
• Automated test platform used for all XenServer testing

• Python based
• Originally created in 2005 by James Bulpin @ XenSource
• Celebrated execution of its 500,000th test job in August 2013
• Open sourced in September 2013
XenRT Capabilities
• Job scheduling and results management

• Full host provisioning support
• Integration with storage and network devices
• Performs Functional, Scalability, Stress, Soak and Performance testing
• Supports large variety of guest operating systems (currently 31 Linux and 26
Windows)
• Many workloads available (e.g. BurnInTest, NetPerf, Lmbench)
Site 1

XenRT Architecture
Submit Job

Scheduler

Controller
Check for jobs

Test Hosts

Execute
Job

Storage
Networking

Select
Machines &
controller

Site 2

Controller
Machines &
Jobs

Test Hosts
Storage
Networking
XenRT Object Model
• All real world objects (hosts, guests etc) modelled

• Provides standard interface and methods for testcases, independent of
toolstack in use
• Objects provide ‘check’ methods – ensure actual state is as expected

• Inheritance used to group common host / guest methods
Object model example
libvirt
def createNetwork(self, name=“XenRT bridge"):
self.execvirt("virsh iface-bridge %s %s --no-stp 10" %
(self.getDefaultInterface(), name))

XenServer / xapi
def createNetwork(self, name="XenRT bridge"):
cli = self.getCLIInstance()
args = []
args.append("name-label="%s"" % (name))

args.append("name-description="Created by XenRT"")
nwuuid = cli.execute("network-create", string.join(args)).strip()
return nwuuid
Some definitions
Test case: Python class derived from xenrt.TestCase, implementing (at
minimum) a run method
Sequence file: XML file grouping test cases into serial / parallel blocks, together
with a <prepare> section defining required environment for tests (number of
hosts, guests etc)

Job: Execution of a sequence file against a specified input (build)
Sample Test Case
class TCHfx745(xenrt.TestCase):
"""Test to check that packets larger than 64 KiB sent from a guest
to Dom0 are dropped at netback and the guest does not lose
connectivity"""
DISTRO = "centos57"
def prepare(self, arglist=None):
self.host = self.getDefaultHost()
self.guest = self.host.createBasicGuest(self.DISTRO)
self.host.installIperf()
self.guest.installIperf()

self.guest.checkReachable()
Sample XenRT Test Case
def run(self, arglist=None):
step("Set the Guest MTU to 100")
self.guest.execguest("ifconfig eth0 mtu 100 up")
step("Start iperf server on host")
self.host.execdom0("service iptables stop")
self.host.execdom0("./iperf/iperf -s -w 256K > /dev/null 2>&1 < /dev/null &")
step("Send iperf packets of size 65 KiB from guest to host")
self.guest.execguest("iperf -c %s -w 256K" % self.host.getIP())
step("Verify if guest is reachable")
self.guest.checkReachable()
log("The guest did not lose connectivity")
Demo: clearwaterHfx745.seq
<xenrt>
<variables>
<PRODUCT_VERSION>Clearwater</PRODUCT_VERSION>

</variables>
<prepare>

<host />
</prepare>

<testsequence>
<testcase id="testcases.xenserver.tc.network.TCHfx745" tc="TC-19178" />
</testsequence>

</xenrt>
Test-as-a-Service and the Xen Project
Goal
The Advisory Board is willing to fund a Test-as-a-service infrastructure for the Xen
Community to:

“Increase upstream Xen Hypervisor quality including
quality of latest CPU/platform features. Address
problems with the code in a timely and proactive
manner, including defects, security vulnerabilities and
performance problems”
Xen Project Advisory Board August 2013 Meeting Minutes
Challenges
Security

Licensing

• Prevent abuse of resources

• Windows

• Prevent exploitation of (often
unpatched) guests

• Commercial benchmarks and test
tools

Resources

Management and maintenance

• Hardware costs

• Hardware issues

• Hosting costs (space, power,
connectivity etc)

• Configuration of new equipment
• Maintenance of TaaS software
Proof of Concept
Is XenRT the right choice?
• Working with Oregon State University’s Open Source Lab (OSUOSL)

• Three host environment
• Access via SSH gateway
• Limited set of tests
• TODO: Implement support for xl toolstack
Next Steps
• Complete Proof of Concept (PoC) implementation

• First meeting of Test Framework Working Group
• Encourage Xen Developer Community to evaluate the PoC
Assuming community buy-in for XenRT:
• Iterate and address any remaining challenges

• Publish code and live environment
Q&A
Links
• XenRT documentation (work in progress!):
http://wiki.xenproject.org/wiki/Category:XenRT
• Details of the PoC will go out on xen-devel
• xenrt-users mailing list: https://lists.xenserver.org/sympa/info/xenrt-users

• My email address: alex.brett@citrix.com
XPDS13 Test-as-a-Service and XenRT - Alex Brett, Citrix

More Related Content

What's hot

What's hot (20)

Performance Benchmarking of Clouds Evaluating OpenStack
Performance Benchmarking of Clouds                Evaluating OpenStackPerformance Benchmarking of Clouds                Evaluating OpenStack
Performance Benchmarking of Clouds Evaluating OpenStack
 
Seastar @ NYCC++UG
Seastar @ NYCC++UGSeastar @ NYCC++UG
Seastar @ NYCC++UG
 
OpenStack Nova - Developer Introduction
OpenStack Nova - Developer IntroductionOpenStack Nova - Developer Introduction
OpenStack Nova - Developer Introduction
 
The Monitoring Playground
The Monitoring PlaygroundThe Monitoring Playground
The Monitoring Playground
 
On Docker and its use for LHC at CERN
On Docker and its use for LHC at CERNOn Docker and its use for LHC at CERN
On Docker and its use for LHC at CERN
 
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for TomorrowOpenStack Cinder, Implementation Today and New Trends for Tomorrow
OpenStack Cinder, Implementation Today and New Trends for Tomorrow
 
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus NetworksOpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
OpenStack Networks the Web-Scale Way - Scott Laffer, Cumulus Networks
 
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
Docker for Ops: Docker Storage and Volumes Deep Dive and Considerations by Br...
 
Docker volume-isolator-in-mesos
Docker volume-isolator-in-mesosDocker volume-isolator-in-mesos
Docker volume-isolator-in-mesos
 
Openstack Study Nova 1
Openstack Study Nova 1Openstack Study Nova 1
Openstack Study Nova 1
 
Ceph and cloud stack apr 2014
Ceph and cloud stack   apr 2014Ceph and cloud stack   apr 2014
Ceph and cloud stack apr 2014
 
ceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-shortceph optimization on ssd ilsoo byun-short
ceph optimization on ssd ilsoo byun-short
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
Cassandra on Docker
Cassandra on DockerCassandra on Docker
Cassandra on Docker
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
 
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
Networking, QoS, Liberty, Mitaka and Newton - Livnat Peer - OpenStack Day Isr...
 
Couch to OpenStack: Cinder - August 6, 2013
Couch to OpenStack: Cinder - August 6, 2013Couch to OpenStack: Cinder - August 6, 2013
Couch to OpenStack: Cinder - August 6, 2013
 
Solr on Docker - the Good, the Bad and the Ugly
Solr on Docker - the Good, the Bad and the UglySolr on Docker - the Good, the Bad and the Ugly
Solr on Docker - the Good, the Bad and the Ugly
 
Ceph Day San Jose - From Zero to Ceph in One Minute
Ceph Day San Jose - From Zero to Ceph in One Minute Ceph Day San Jose - From Zero to Ceph in One Minute
Ceph Day San Jose - From Zero to Ceph in One Minute
 
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes MeetupKubernetes Architecture and Introduction – Paris Kubernetes Meetup
Kubernetes Architecture and Introduction – Paris Kubernetes Meetup
 

Similar to XPDS13 Test-as-a-Service and XenRT - Alex Brett, Citrix

Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
Akshaya Mahapatra
 
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
Manish Pandit
 
Xen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiencesXen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiences
mrpetersisl
 

Similar to XPDS13 Test-as-a-Service and XenRT - Alex Brett, Citrix (20)

How to build a Citrix infrastructure on AWS
How to build a Citrix infrastructure on AWSHow to build a Citrix infrastructure on AWS
How to build a Citrix infrastructure on AWS
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
Openstack Architecture
Openstack ArchitectureOpenstack Architecture
Openstack Architecture
 
Play framework productivity formula
Play framework   productivity formula Play framework   productivity formula
Play framework productivity formula
 
Automating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps ApproachAutomating Software Development Life Cycle - A DevOps Approach
Automating Software Development Life Cycle - A DevOps Approach
 
TIAD : Automating the modern datacenter
TIAD : Automating the modern datacenterTIAD : Automating the modern datacenter
TIAD : Automating the modern datacenter
 
introduction to node.js
introduction to node.jsintroduction to node.js
introduction to node.js
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
Performance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle CoherencePerformance Test Driven Development with Oracle Coherence
Performance Test Driven Development with Oracle Coherence
 
Microservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital OneMicroservices, Continuous Delivery, and Elasticsearch at Capital One
Microservices, Continuous Delivery, and Elasticsearch at Capital One
 
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at NetflixOSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
OSCON 2014 - API Ecosystem with Scala, Scalatra, and Swagger at Netflix
 
Managing Infrastructure as Code
Managing Infrastructure as CodeManaging Infrastructure as Code
Managing Infrastructure as Code
 
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
Orchestrating Docker with Terraform and Consul by Mitchell Hashimoto
 
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
OSDC 2015: Mitchell Hashimoto | Automating the Modern Datacenter, Development...
 
AWS as platform for scalable applications
AWS as platform for scalable applicationsAWS as platform for scalable applications
AWS as platform for scalable applications
 
Xen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiencesXen virtualization and multi-brick enviornment experiences
Xen virtualization and multi-brick enviornment experiences
 
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
(ATS4-APP01) Tips and Tricks for a Successful Installation of Accelrys Electr...
 
Managing Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using Databricks
 
How to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstackHow to integrate_custom_openstack_services_with_devstack
How to integrate_custom_openstack_services_with_devstack
 
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr TsapDive into DevOps | March, Building with Terraform, Volodymyr Tsap
Dive into DevOps | March, Building with Terraform, Volodymyr Tsap
 

More from The Linux Foundation

More from The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 

XPDS13 Test-as-a-Service and XenRT - Alex Brett, Citrix

  • 1. Test-as-a-Service and XenRT Alex Brett (alex.brett@citrix.com) Xen Project Developer Summit October 24th, 2013
  • 2. Agenda • What is Test-as-a-Service? • Introduction to XenRT • Demo • Test-as-a-Service and the Xen Project • Q&A 2
  • 3. What is Test-as-a-Service? An automated test platform, with the following characteristics: • Self service • Contains a good sized library of tests • Performs on-demand provisioning • For Xen, provides a variety of hardware Not the ‘Citrix Auto Support’ tool, which also goes by the acronym TaaS, but is Tools-as-a-Service
  • 4. Introduction to XenRT (Xen Regression Test) • Automated test platform used for all XenServer testing • Python based • Originally created in 2005 by James Bulpin @ XenSource • Celebrated execution of its 500,000th test job in August 2013 • Open sourced in September 2013
  • 5. XenRT Capabilities • Job scheduling and results management • Full host provisioning support • Integration with storage and network devices • Performs Functional, Scalability, Stress, Soak and Performance testing • Supports large variety of guest operating systems (currently 31 Linux and 26 Windows) • Many workloads available (e.g. BurnInTest, NetPerf, Lmbench)
  • 6. Site 1 XenRT Architecture Submit Job Scheduler Controller Check for jobs Test Hosts Execute Job Storage Networking Select Machines & controller Site 2 Controller Machines & Jobs Test Hosts Storage Networking
  • 7. XenRT Object Model • All real world objects (hosts, guests etc) modelled • Provides standard interface and methods for testcases, independent of toolstack in use • Objects provide ‘check’ methods – ensure actual state is as expected • Inheritance used to group common host / guest methods
  • 8. Object model example libvirt def createNetwork(self, name=“XenRT bridge"): self.execvirt("virsh iface-bridge %s %s --no-stp 10" % (self.getDefaultInterface(), name)) XenServer / xapi def createNetwork(self, name="XenRT bridge"): cli = self.getCLIInstance() args = [] args.append("name-label="%s"" % (name)) args.append("name-description="Created by XenRT"") nwuuid = cli.execute("network-create", string.join(args)).strip() return nwuuid
  • 9. Some definitions Test case: Python class derived from xenrt.TestCase, implementing (at minimum) a run method Sequence file: XML file grouping test cases into serial / parallel blocks, together with a <prepare> section defining required environment for tests (number of hosts, guests etc) Job: Execution of a sequence file against a specified input (build)
  • 10. Sample Test Case class TCHfx745(xenrt.TestCase): """Test to check that packets larger than 64 KiB sent from a guest to Dom0 are dropped at netback and the guest does not lose connectivity""" DISTRO = "centos57" def prepare(self, arglist=None): self.host = self.getDefaultHost() self.guest = self.host.createBasicGuest(self.DISTRO) self.host.installIperf() self.guest.installIperf() self.guest.checkReachable()
  • 11. Sample XenRT Test Case def run(self, arglist=None): step("Set the Guest MTU to 100") self.guest.execguest("ifconfig eth0 mtu 100 up") step("Start iperf server on host") self.host.execdom0("service iptables stop") self.host.execdom0("./iperf/iperf -s -w 256K > /dev/null 2>&1 < /dev/null &") step("Send iperf packets of size 65 KiB from guest to host") self.guest.execguest("iperf -c %s -w 256K" % self.host.getIP()) step("Verify if guest is reachable") self.guest.checkReachable() log("The guest did not lose connectivity")
  • 14. Goal The Advisory Board is willing to fund a Test-as-a-service infrastructure for the Xen Community to: “Increase upstream Xen Hypervisor quality including quality of latest CPU/platform features. Address problems with the code in a timely and proactive manner, including defects, security vulnerabilities and performance problems” Xen Project Advisory Board August 2013 Meeting Minutes
  • 15. Challenges Security Licensing • Prevent abuse of resources • Windows • Prevent exploitation of (often unpatched) guests • Commercial benchmarks and test tools Resources Management and maintenance • Hardware costs • Hardware issues • Hosting costs (space, power, connectivity etc) • Configuration of new equipment • Maintenance of TaaS software
  • 16. Proof of Concept Is XenRT the right choice? • Working with Oregon State University’s Open Source Lab (OSUOSL) • Three host environment • Access via SSH gateway • Limited set of tests • TODO: Implement support for xl toolstack
  • 17. Next Steps • Complete Proof of Concept (PoC) implementation • First meeting of Test Framework Working Group • Encourage Xen Developer Community to evaluate the PoC Assuming community buy-in for XenRT: • Iterate and address any remaining challenges • Publish code and live environment
  • 18. Q&A
  • 19. Links • XenRT documentation (work in progress!): http://wiki.xenproject.org/wiki/Category:XenRT • Details of the PoC will go out on xen-devel • xenrt-users mailing list: https://lists.xenserver.org/sympa/info/xenrt-users • My email address: alex.brett@citrix.com