SlideShare una empresa de Scribd logo
1 de 28
Towards an automated testing
environment
Amogh Vasekar
amogh.vasekar@citrix.com
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Motivation
• Master is invariably unstable
• Unchecked commits
• No provision for developer to test feature branch
• Testing is not yet a community effort
• Not easy to test plug-ins privately
• CloudStack set-up is involved – Management server, hypervisor,
network, storage
Just for laughs
Cloudstack CommunityWho are we
What do we want Testing and Code
Quality
How do we want do it ………
Goals
• Continuously running BVTs
• Enable community testing
• Keep master stable
• Isolate test-runs from each other, and from other infrastructures
• Easy to replicate and set-up
• Provide commits to cherry pick / buggy commits
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Architecture
Architecture
Phase 1 : Set-up infrastructure
•Provision management server from scratch
•Provision hypervisor from scratch
•Storage and networking set-up
Phase 2 : Run Marvin tests
•Track bad commits
•Cherry-pick good commits
Need to isolate test-runs
Based on Prasanna’s effort (Big Thanks!!)
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Implementation
• Jenkins for integration We all like Jenkins
• Glue to hold all together
• Reporting, alerting etc.
• Separate jobs for phases 1 and 2
Implementation
Provisioning management server & hypervisors
• Need a way to deploy an OS
• Need a way to configure the systems
• Need a way to provision storage and networking in an isolated
manner
Implementation
Quick overview of technologies involved
• Cobbler
• IPMI tool
• Puppet
• DNSMASQ
• Squid
Cobbler
• Open source OS installation server
• Provides baremetal provisioning via PXE
• Components
 Distro – the OS to provision
 Profile – associate kickstart / configuration with OS
 System – MAC to profile mapping. Additional configs
• Snippets to run post install scripts etc
• Manages TFTP and PXE seamlessly
Others…
Puppet
• Management server configuration
• Hypervisor configuration like KVM agent etc.
IPMI tool
• To bootstrap baremetal provisioning
Squid
• HTTP proxy server (needed for isolated network requirement)
DNSMASQ
• DHCP / DNS management underneath Cobbler
Implementation
• Put all these and related technologies on a single VM
• May contain additional storage (NFS server)
• Seed system VMs
• Python code acting as launcher script
Implementation
Implementation
Minimum Requirements
• XenServer to host VM and management server
• Hosts for hypervisors
• Isolated network
• IPMI network
Implementation
Phase 2
• Run Marvin tests
• Track commits from previous stable build to current build
• If fails, one of the commits broke BVT
• If pass, auto cherry-pick commits to (stable) master
• All code in Python
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Replication
Setting up from scratch requires
• Familiarity with CI tools
• Familiarity with CloudStack specifics
• Lots of time
• Many DHCP / network configs
Replication
Propose to push VM like DevCloud (QACloud?)
Thus, steps become
• Load VM on XenServer
• Provision network using conf provided
• Add IPMI network
• Change MAC addresses for Cobbler (has easy to use interface)
• Add to Jenkins master
• Optionally add NFS volumes
• Optionally change domain name for hosts
Replication
To set-up from scratch
https://cwiki.apache.org/confluence/display/CLOUDSTACK/QA+Infra+fr
om+scratch
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Proposal
To keep master stable
• Maintain a staging branch
• Developer commits go to staging
• If all BVTs pass, push commits
• May need more BVTs
• Reduce BVT running time (Simulator?)
Agenda
• Motivation
• Architecture
• Implementation
• Replication
• Proposal
• Enhancements
Enhancements
1. Better integration of VMWare hypervisor
2. Pull latest systemvm templates
3. Make VM size manageable
4. Scheduling mechanism for resource pools
5. Throw open to developers via a service
(Thanks to Bharath for 2,3,4,5)
Only the first step
Lets all keep master stable!!
Lets all test together!!
Big Thanks to AlexH for guiding 

Más contenido relacionado

La actualidad más candente

Scott Schnoll - Exchange server 2013 virtualization best practices
Scott Schnoll - Exchange server 2013 virtualization best practicesScott Schnoll - Exchange server 2013 virtualization best practices
Scott Schnoll - Exchange server 2013 virtualization best practices
Nordic Infrastructure Conference
 
Jenkins scaling best practices
Jenkins scaling best practicesJenkins scaling best practices
Jenkins scaling best practices
Henry McBride
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everything
Boris Bucha
 

La actualidad más candente (20)

Virtualisation at Ringo
Virtualisation at RingoVirtualisation at Ringo
Virtualisation at Ringo
 
Automation Evolution with Junos
Automation Evolution with JunosAutomation Evolution with Junos
Automation Evolution with Junos
 
Scott Schnoll - Exchange server 2013 virtualization best practices
Scott Schnoll - Exchange server 2013 virtualization best practicesScott Schnoll - Exchange server 2013 virtualization best practices
Scott Schnoll - Exchange server 2013 virtualization best practices
 
Nagios, Getting Started.
Nagios, Getting Started.Nagios, Getting Started.
Nagios, Getting Started.
 
SaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google ScaleSaltConf14 - Brendan Burns, Google - Management at Google Scale
SaltConf14 - Brendan Burns, Google - Management at Google Scale
 
Neutron upgrades
Neutron upgradesNeutron upgrades
Neutron upgrades
 
What's New in WildFly 9?
What's New in WildFly 9?What's New in WildFly 9?
What's New in WildFly 9?
 
VMworld 2016 - INF8036 - enforcing a vSphere cluster design with powercli aut...
VMworld 2016 - INF8036 - enforcing a vSphere cluster design with powercli aut...VMworld 2016 - INF8036 - enforcing a vSphere cluster design with powercli aut...
VMworld 2016 - INF8036 - enforcing a vSphere cluster design with powercli aut...
 
VMworld 2013: Successfully Virtualize Microsoft Exchange Server
VMworld 2013: Successfully Virtualize Microsoft Exchange Server VMworld 2013: Successfully Virtualize Microsoft Exchange Server
VMworld 2013: Successfully Virtualize Microsoft Exchange Server
 
Nginx in production
Nginx in productionNginx in production
Nginx in production
 
VMworld 2015: vSphere Distributed Switch 6 –Technical Deep Dive
VMworld 2015: vSphere Distributed Switch 6 –Technical Deep DiveVMworld 2015: vSphere Distributed Switch 6 –Technical Deep Dive
VMworld 2015: vSphere Distributed Switch 6 –Technical Deep Dive
 
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance TuningNagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
Nagios Conference 2011 - Nicholas Scott - Nagios Performance Tuning
 
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...
 
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G coreTối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
Tối ưu hiệu năng đáp ứng các yêu cầu của hệ thống 4G core
 
Cross Community CI project
Cross Community CI projectCross Community CI project
Cross Community CI project
 
ONAP on Vagrant for ONAPers
ONAP on Vagrant for ONAPersONAP on Vagrant for ONAPers
ONAP on Vagrant for ONAPers
 
Jenkins scaling best practices
Jenkins scaling best practicesJenkins scaling best practices
Jenkins scaling best practices
 
Kubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platformKubernetes your tests! automation with docker on google cloud platform
Kubernetes your tests! automation with docker on google cloud platform
 
VMworld 2014: vSphere Distributed Switch
VMworld 2014: vSphere Distributed SwitchVMworld 2014: vSphere Distributed Switch
VMworld 2014: vSphere Distributed Switch
 
Automatize everything
Automatize everythingAutomatize everything
Automatize everything
 

Destacado (6)

Courier website
Courier websiteCourier website
Courier website
 
Real Time Realitites
Real Time RealititesReal Time Realitites
Real Time Realitites
 
Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2Meetup - DevCloud and CloudStack 4.2
Meetup - DevCloud and CloudStack 4.2
 
Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014Stacktician - CloudStack Collab Conference 2014
Stacktician - CloudStack Collab Conference 2014
 
In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10In this inquiry we introduce Denmark 10
In this inquiry we introduce Denmark 10
 
Stay healthy, stay fresh in nature
Stay healthy, stay fresh in natureStay healthy, stay fresh in nature
Stay healthy, stay fresh in nature
 

Similar a Towards automated testing - CloudStack Collab Conference

Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
Maarten Smeets
 

Similar a Towards automated testing - CloudStack Collab Conference (20)

Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
(DEV310) CI/CD of Services with Mocking & Resiliency Testing Using AWS
(DEV310) CI/CD of Services with Mocking & Resiliency Testing Using AWS(DEV310) CI/CD of Services with Mocking & Resiliency Testing Using AWS
(DEV310) CI/CD of Services with Mocking & Resiliency Testing Using AWS
 
Using Packer to Migrate XenServer Infrastructure to CloudStack
Using Packer to Migrate XenServer Infrastructure to CloudStackUsing Packer to Migrate XenServer Infrastructure to CloudStack
Using Packer to Migrate XenServer Infrastructure to CloudStack
 
Hosting Ruby Web Apps
Hosting Ruby Web AppsHosting Ruby Web Apps
Hosting Ruby Web Apps
 
Getting to Walk with DevOps
Getting to Walk with DevOpsGetting to Walk with DevOps
Getting to Walk with DevOps
 
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
Sergey Dzyuban "To Build My Own Cloud with Blackjack…"
 
OpenStack and Windows
OpenStack and WindowsOpenStack and Windows
OpenStack and Windows
 
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering InstallationTraining Slides: 103 - Basics - Simple Tungsten Clustering Installation
Training Slides: 103 - Basics - Simple Tungsten Clustering Installation
 
Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3Best practices in Deploying SUSE CaaS Platform v3
Best practices in Deploying SUSE CaaS Platform v3
 
Fuse integration-services
Fuse integration-servicesFuse integration-services
Fuse integration-services
 
Arch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementationArch9 - A cloud based continuous delivery implementation
Arch9 - A cloud based continuous delivery implementation
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with Docker
 
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test LabFlintstones or Jetsons? Jump Start Your Virtual Test Lab
Flintstones or Jetsons? Jump Start Your Virtual Test Lab
 
Infrastructure as Code Presentation v5.pptx
Infrastructure as Code Presentation v5.pptxInfrastructure as Code Presentation v5.pptx
Infrastructure as Code Presentation v5.pptx
 
Building Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with DockerBuilding Efficient Parallel Testing Platforms with Docker
Building Efficient Parallel Testing Platforms with Docker
 
Containerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconfContainerising bootiful microservices javaeeconf
Containerising bootiful microservices javaeeconf
 
tcp cloud in AVG
tcp cloud in AVGtcp cloud in AVG
tcp cloud in AVG
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
 
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode DeployDeploying to and Configuring WebSphere Application Server with UrbanCode Deploy
Deploying to and Configuring WebSphere Application Server with UrbanCode Deploy
 

Último

Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
pritamlangde
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
Kamal Acharya
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
HenryBriggs2
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
AldoGarca30
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 

Último (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Computer Networks Basics of Network Devices
Computer Networks  Basics of Network DevicesComputer Networks  Basics of Network Devices
Computer Networks Basics of Network Devices
 
Digital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptxDigital Communication Essentials: DPCM, DM, and ADM .pptx
Digital Communication Essentials: DPCM, DM, and ADM .pptx
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
Jaipur ❤CALL GIRL 0000000000❤CALL GIRLS IN Jaipur ESCORT SERVICE❤CALL GIRL IN...
 
Hospital management system project report.pdf
Hospital management system project report.pdfHospital management system project report.pdf
Hospital management system project report.pdf
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
Learn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic MarksLearn the concepts of Thermodynamics on Magic Marks
Learn the concepts of Thermodynamics on Magic Marks
 
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
scipt v1.pptxcxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
 
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
457503602-5-Gas-Well-Testing-and-Analysis-pptx.pptx
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
NO1 Top No1 Amil Baba In Azad Kashmir, Kashmir Black Magic Specialist Expert ...
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 

Towards automated testing - CloudStack Collab Conference

  • 1. Towards an automated testing environment Amogh Vasekar amogh.vasekar@citrix.com
  • 2. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 3. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 4. Motivation • Master is invariably unstable • Unchecked commits • No provision for developer to test feature branch • Testing is not yet a community effort • Not easy to test plug-ins privately • CloudStack set-up is involved – Management server, hypervisor, network, storage
  • 5. Just for laughs Cloudstack CommunityWho are we What do we want Testing and Code Quality How do we want do it ………
  • 6. Goals • Continuously running BVTs • Enable community testing • Keep master stable • Isolate test-runs from each other, and from other infrastructures • Easy to replicate and set-up • Provide commits to cherry pick / buggy commits
  • 7. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 9. Architecture Phase 1 : Set-up infrastructure •Provision management server from scratch •Provision hypervisor from scratch •Storage and networking set-up Phase 2 : Run Marvin tests •Track bad commits •Cherry-pick good commits Need to isolate test-runs Based on Prasanna’s effort (Big Thanks!!)
  • 10. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 11. Implementation • Jenkins for integration We all like Jenkins • Glue to hold all together • Reporting, alerting etc. • Separate jobs for phases 1 and 2
  • 12. Implementation Provisioning management server & hypervisors • Need a way to deploy an OS • Need a way to configure the systems • Need a way to provision storage and networking in an isolated manner
  • 13. Implementation Quick overview of technologies involved • Cobbler • IPMI tool • Puppet • DNSMASQ • Squid
  • 14. Cobbler • Open source OS installation server • Provides baremetal provisioning via PXE • Components  Distro – the OS to provision  Profile – associate kickstart / configuration with OS  System – MAC to profile mapping. Additional configs • Snippets to run post install scripts etc • Manages TFTP and PXE seamlessly
  • 15. Others… Puppet • Management server configuration • Hypervisor configuration like KVM agent etc. IPMI tool • To bootstrap baremetal provisioning Squid • HTTP proxy server (needed for isolated network requirement) DNSMASQ • DHCP / DNS management underneath Cobbler
  • 16. Implementation • Put all these and related technologies on a single VM • May contain additional storage (NFS server) • Seed system VMs • Python code acting as launcher script
  • 18. Implementation Minimum Requirements • XenServer to host VM and management server • Hosts for hypervisors • Isolated network • IPMI network
  • 19. Implementation Phase 2 • Run Marvin tests • Track commits from previous stable build to current build • If fails, one of the commits broke BVT • If pass, auto cherry-pick commits to (stable) master • All code in Python
  • 20. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 21. Replication Setting up from scratch requires • Familiarity with CI tools • Familiarity with CloudStack specifics • Lots of time • Many DHCP / network configs
  • 22. Replication Propose to push VM like DevCloud (QACloud?) Thus, steps become • Load VM on XenServer • Provision network using conf provided • Add IPMI network • Change MAC addresses for Cobbler (has easy to use interface) • Add to Jenkins master • Optionally add NFS volumes • Optionally change domain name for hosts
  • 23. Replication To set-up from scratch https://cwiki.apache.org/confluence/display/CLOUDSTACK/QA+Infra+fr om+scratch
  • 24. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 25. Proposal To keep master stable • Maintain a staging branch • Developer commits go to staging • If all BVTs pass, push commits • May need more BVTs • Reduce BVT running time (Simulator?)
  • 26. Agenda • Motivation • Architecture • Implementation • Replication • Proposal • Enhancements
  • 27. Enhancements 1. Better integration of VMWare hypervisor 2. Pull latest systemvm templates 3. Make VM size manageable 4. Scheduling mechanism for resource pools 5. Throw open to developers via a service (Thanks to Bharath for 2,3,4,5)
  • 28. Only the first step Lets all keep master stable!! Lets all test together!! Big Thanks to AlexH for guiding 