SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Jenkins User Conference           Herzelia, July 5 2012   #jenkinsconf

                                                          July 5, 2012




                     The Challenge:

                 Testing the oVirt Project
     Eyal Edri
     Software Engineer
     Red Hat Virtualization Management

     2012


                                   1
Jenkins User Conference                                   #jenkinsconf

Agenda                                                    July 5, 2012

 ●   Introduction
 ●   The Problem – How to test a Virtualization project
 ●   The Solution – Integration & Provisioning
 ●   The Building Blocks
      ●   oVirt – the open virtualization project
      ●   Puppet – configuration management
      ●   Foreman – machine life cycle management
 ●   Jenkins job test case
 ●   Videos & screenshots
 ●   Summary
 ●   Q&A


                                          2
Jenkins User Conference                                     #jenkinsconf

Introduction                                                July 5, 2012

 ●   Tired of spending time installing Jenkins slaves all
     day?
 ●   Can't get budget from your manager to buy new hosts?
 ●   Do you sleep in the network room waiting for hosts to
     be installed?
 ●   Does your jenkins environment keep growing ?


       You need a Provisioning
       Framework!



                                 3
Jenkins User Conference                                 #jenkinsconf

The Complexity of testing a virtualization project...   July 5, 2012


   Physical & Virtual
         Servers                     Multiple teams
                                     collaboration and
                                     effort (IT, ENG, QA,
                                     Integration)




                 Hours of manual work
                               4
Jenkins User Conference                                                   #jenkinsconf

Small complexity matrix for testing oVirt/RHEVM                          July 5, 2012


                         OVIRT              RHEVM 3.0            RHEVM 3.1
 Project Version   Ovirt 3.1           RHEVM 3.0              RHEVM 3.1
 Host OS           Fedora 16/17        RHEL 6.2/6.3           RHEL 6.3
 Manager OS        Fedora 16           RHEL 6.2/6.3           RHEL 6.3
 Engine git        gerrit.ovirt.org    rhevm:master           engine:build
 Jboss Version     7.1 AS              5.1.2 EAP              6.0 EAP
 JDK Vesrion       OpenJDK 1.7.0       Sun JDK 6.0            OpenJDK 1.7.0
 Maven Version     3.0.X               2.2.1                  3.0.x
 Vdsm-* rpm        4.9.6-0.63.git258c.. 4.9-112.10.el6.x86_64 4.9.6-6.el6.x86_64
 Libvirt-* rpm     0.9.10-2.fc16       0.9.4-23.el6_2.4       0.9.10-9.el6



                                       5
Jenkins User Conference                             #jenkinsconf

Why bother changing our CI testing framework?       July 5, 2012




 Time Consuming

                                           Costly

                          Error Prone

                                6
Jenkins User Conference                                            #jenkinsconf

The Solution: Framework Introduction                               July 5, 2012


  ●       We combined Foreman, Puppet & oVirt with custom
          python code to build a testing framework for Jenkins.

      ●    Foreman was used for provisioning the hosts or VMs
      ●    Puppet configured hosts with our needed profiles.
      ●    oVirt enabled us to create VMs for running the tests.




                                         7
Jenkins User Conference          #jenkinsconf

Framework: Building Blocks       July 5, 2012




                             8
Jenkins User Conference                                   #jenkinsconf

Puppet: Configuration Management                          July 5, 2012


                Client – Server implementation


                    GIT




  'Adding users', 'installing       Facter produces a profile of
  packages', and 'updating          each host, and makes system
  server configurations'            information available to Puppet
                                    as variables.

                                9
Jenkins User Conference                                   #jenkinsconf

Puppet: Resources                                         July 5, 2012


  ●   The fundamental unit of modeling in Puppet is a resource.
  ●   Resources can be: a file, a service, a package, or
      perhaps even a custom resource that you have developed.




                                  10
Jenkins User Conference                  #jenkinsconf

Foreman: Machine Life Cycle Management   July 5, 2012




                           11
Jenkins User Conference                     #jenkinsconf

oVirt: Create and Manage Virtual Machines   July 5, 2012

 ●   Large scale, centralized
     management solution for server
     and desktop virtualization
 ●   an opensource alternative to
     vCenter/vSphere
 ●   Has multiple APIs:
      ●   Python SDK
      ●   Ruby gem
      ●   Ovirt CLI
      ●   REST




                                      12
Jenkins User Conference                                 #jenkinsconf

Revising the purpose...                                 July 5, 2012


 So what was the goal of this framework...
 To be able to test a complex virtualization project
 in Jenkins with limited resources, time and effort.       v

  And do it in a reproducible and scalable way.


 OK,
 So how do all these projects integrate with Jenkins?




                               13
Jenkins User Conference                                   #jenkinsconf

Jenkins Integration: Foreman Plugin                      July 5, 2012

 ●   You guessed it... ,it had to be a Jenkins plugin.
 ●   A Jenkins Foreman Plugin that will enable any job to
     request a resource (host or vm) with a specific profile.




                                 14
Jenkins User Conference                                  #jenkinsconf

Jenkins Foreman Plugin Mock-up: configure screen         July 5, 2012

 ●   Configure foreman server details in Jenkins.
 ●   All cloud related info will be set inside foreman




                                  15
Jenkins User Conference        #jenkinsconf

Foreman Plugin Mock             July 5, 2012




                           16
Jenkins User Conference                              #jenkinsconf

The Bare (metal) Essentials...                       July 5, 2012

  ●   Foreman 'Physical Hosts Pool Feature'



                                          RESERVED




                                              FREE




                                 17
Jenkins User Conference        #jenkinsconf

Provision Host CLI             July 5, 2012




                          18
Jenkins User Conference                                  #jenkinsconf

Host Pool: show profiles                                July 5, 2012

   ●   Show me the list of available profiles to use (which
       are in fact 'host-groups' in foreman)




                                 19
Jenkins User Conference                                  #jenkinsconf

Framework: Screen-shots – Command Line Interface        July 5, 2012

 ●   Show me the list of available hosts in pool currently
     free for use




                                20
Jenkins User Conference                                #jenkinsconf

Provision Host: show reserved hosts                    July 5, 2012

  ●   Show me the list of reserved hosts in pool currently
      used. (due to job/debug/error/static assignment)




                                21
Jenkins User Conference                                              #jenkinsconf

Framework: Screen-shots – Command Line Interface                     July 5, 2012

 ●   Request 1 host with profile 'P-RHEL63-CANDIDATE'

         Client requests '1' physical host with 'RHEL 6.3' profile

                Foreman finds 'cinteg27' server avaliable


      Foreman applies new profile to the server & start provisioning

                     Client polls foreman for status


                    Client verifies ssh access to host


           Host is ready to use with new profile (RESERVED)

                                     22
Jenkins User Conference                                                                             #jenkinsconf

Example Flow Diagram                                                                                July 5, 2012

       2     Patch is reviewed, verified
             and approved                                       3     merge patch in the ovirt-engine master
           Gerrit code Review                                         branch




                                                                                        Poll SCM




                                                            4       Found new commit -> trigger job A

  oVirt contributor
                          1     Sends a git patch in ovirt-engine for review




                                                          23
Jenkins User Conference            #jenkinsconf

Example Flow Diagram in Jenkins    July 5, 2012
        JOB A              JOB B




                             24
Jenkins User Conference           #jenkinsconf

DEMO                              July 5, 2012


   LIVE DEMO
  ●   Foreman provisioning
  ●   Ovirt UI
  ●   Foreman CLI code




                             25
Jenkins User Conference                  #jenkinsconf

Videos Examples                          July 5, 2012


   Foreman web server provisioning..
  ●   installing webserver via foreman




                               26
Jenkins User Conference              #jenkinsconf

oVirt: How does it look like?        July 5, 2012




                                27
Jenkins User Conference                #jenkinsconf

Framework: Screen-shots - Hosts view   July 5, 2012




                             28
Jenkins User Conference                                 #jenkinsconf

Framework: Screen-shots - Host-group view               July 5, 2012

   Build a host-group by selecting existing puppet classes




                               29
Jenkins User Conference                      #jenkinsconf

Framework: Screen-shots - Hosts Statistics   July 5, 2012




                              30
Jenkins User Conference                                 #jenkinsconf

Present & Future                                        July 5, 2012


  ●   Jenkins Foreman plugin
  ●   Foreman (Jenkins) slaves manager plugin
  ●   Jenkins Custom Testing Plugin
  ●   Control Jenkins jobs via puppet (job as a resource)
  ●   Extending Jenkinsapi python library




                                31
Jenkins User Conference                                         #jenkinsconf

Summary: Join the fun – Contribute!                             July 5, 2012

   ●    You can get into the action and join any of those
        projects, patches are welcome :)


       Foreman                https://github.com/theforeman/foreman

       oVirt                  http://www.ovirt.org/project/community/

   Puppet                     http://www.ovirt.org/project/community/




                                  32
Jenkins User Conference                           #jenkinsconf

Summary: Links                                    July 5, 2012



  ●   http://ovirt.org
  ●   http://theforeman.org
  ●   http://puppetlabs.com/community/overview/
  ●   http://jenkins-ci.org
  ●   https://github.com/eedri/foreman




                               33
Jenkins User Conference        #jenkinsconf

Q&A                            July 5, 2012




      Still awake..? Good!

        Any Questions?




                          34
Jenkins User Conference        #jenkinsconf

Summary: Thanks                July 5, 2012




       Platinum
       Sponsors




       Silver
       Sponsor




                          35
Jenkins User Conference                           #jenkinsconf

Still got questions?                              July 5, 2012




                  Eyal edri
                  eedri@redhat.com


                  irc.freenode.net
                  #ovirt, #theforeman, #jenkins




                              36

Más contenido relacionado

La actualidad más candente

Implementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginImplementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginSatish Prasad
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svnAnkur Goyal
 
The Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch SadogurskyThe Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch Sadogurskyjaxconf
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on KubernetesNeven Cvetković
 
Softsphere - Development for administrators
Softsphere - Development for administratorsSoftsphere - Development for administrators
Softsphere - Development for administratorsBill Buchan
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkinsKohsuke Kawaguchi
 

La actualidad más candente (8)

Continuous delivery-with-maven
Continuous delivery-with-mavenContinuous delivery-with-maven
Continuous delivery-with-maven
 
Implementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins PluginImplementing CI CD UiPath Using Jenkins Plugin
Implementing CI CD UiPath Using Jenkins Plugin
 
Ci jenkins maven svn
Ci jenkins maven svnCi jenkins maven svn
Ci jenkins maven svn
 
The Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch SadogurskyThe Brave New World of Continuous Release - Baruch Sadogursky
The Brave New World of Continuous Release - Baruch Sadogursky
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on Kubernetes
 
Softsphere - Development for administrators
Softsphere - Development for administratorsSoftsphere - Development for administrators
Softsphere - Development for administrators
 
Drupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The BasicsDrupal Continuous Integration with Jenkins - The Basics
Drupal Continuous Integration with Jenkins - The Basics
 
Large scale automation with jenkins
Large scale automation with jenkinsLarge scale automation with jenkins
Large scale automation with jenkins
 

Destacado

oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度Li Jiansheng
 
oVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features OverviewoVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features OverviewAllon Mureinik
 
oVirt UI Plugin Infrastructure and the oVirt-Foreman plugin
oVirt UI Plugin Infrastructure and the oVirt-Foreman pluginoVirt UI Plugin Infrastructure and the oVirt-Foreman plugin
oVirt UI Plugin Infrastructure and the oVirt-Foreman pluginOved Ourfali
 
Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)Allon Mureinik
 
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Allon Mureinik
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageSean Cohen
 
oVirt and OpenStack
oVirt and OpenStackoVirt and OpenStack
oVirt and OpenStackDave Neary
 

Destacado (9)

Understand ovirt
Understand ovirtUnderstand ovirt
Understand ovirt
 
Ovirt deep dive
Ovirt deep diveOvirt deep dive
Ovirt deep dive
 
oVirt社区最新活跃度
oVirt社区最新活跃度oVirt社区最新活跃度
oVirt社区最新活跃度
 
oVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features OverviewoVirt 3.5 Storage Features Overview
oVirt 3.5 Storage Features Overview
 
oVirt UI Plugin Infrastructure and the oVirt-Foreman plugin
oVirt UI Plugin Infrastructure and the oVirt-Foreman pluginoVirt UI Plugin Infrastructure and the oVirt-Foreman plugin
oVirt UI Plugin Infrastructure and the oVirt-Foreman plugin
 
Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)Live Storage Migration in oVirt (Open Storage Meetup May 2013)
Live Storage Migration in oVirt (Open Storage Meetup May 2013)
 
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...
 
Kvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storageKvm forum 2013 - future integration points for oVirt storage
Kvm forum 2013 - future integration points for oVirt storage
 
oVirt and OpenStack
oVirt and OpenStackoVirt and OpenStack
oVirt and OpenStack
 

Similar a The challenge - testing the oVirt project

JUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsJUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsXebiaLabs
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkinsmrooney7828
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJulien Carsique
 
Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014Vincent Latombe
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsNuxeo
 
Continuous Delivery for Mobile R&D
Continuous Delivery for Mobile R&DContinuous Delivery for Mobile R&D
Continuous Delivery for Mobile R&DAnton Weiss
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsNigel Charman
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
 
JUC NYC 2012: Yale Build and Deployment with Jenkins
JUC NYC 2012: Yale Build and Deployment with JenkinsJUC NYC 2012: Yale Build and Deployment with Jenkins
JUC NYC 2012: Yale Build and Deployment with JenkinsE. Camden Fisher
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopyCloudBees
 
Containers not just for production nov8
Containers not just for production nov8Containers not just for production nov8
Containers not just for production nov8HARITHA HARI
 
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Henri Gomez
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentMax Klymyshyn
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
 
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...QAFest
 

Similar a The challenge - testing the oVirt project (20)

Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
JUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with JenkinsJUC NY - Advanced Continuous Deployment with Jenkins
JUC NY - Advanced Continuous Deployment with Jenkins
 
Best Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical JenkinsBest Practices for Mission-Critical Jenkins
Best Practices for Mission-Critical Jenkins
 
JUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ NuxeoJUC Paris 2012 — Jenkins @ Nuxeo
JUC Paris 2012 — Jenkins @ Nuxeo
 
Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014Going literate in Amadeus JUC Berlin June 25th 2014
Going literate in Amadeus JUC Berlin June 25th 2014
 
How Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server JenkinsHow Nuxeo uses the open-source continuous integration server Jenkins
How Nuxeo uses the open-source continuous integration server Jenkins
 
Continuous Delivery for Mobile R&D
Continuous Delivery for Mobile R&DContinuous Delivery for Mobile R&D
Continuous Delivery for Mobile R&D
 
DevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of JenkinsDevOps World | Jenkins World 2018 and The Future of Jenkins
DevOps World | Jenkins World 2018 and The Future of Jenkins
 
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
 
From Virtual Machines to Containers
From Virtual Machines to ContainersFrom Virtual Machines to Containers
From Virtual Machines to Containers
 
Jenkins Reviewbot
Jenkins ReviewbotJenkins Reviewbot
Jenkins Reviewbot
 
JUC NYC 2012: Yale Build and Deployment with Jenkins
JUC NYC 2012: Yale Build and Deployment with JenkinsJUC NYC 2012: Yale Build and Deployment with Jenkins
JUC NYC 2012: Yale Build and Deployment with Jenkins
 
Running productioninstance 1-localcopy
Running productioninstance 1-localcopyRunning productioninstance 1-localcopy
Running productioninstance 1-localcopy
 
Containers not just for production nov8
Containers not just for production nov8Containers not just for production nov8
Containers not just for production nov8
 
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Seven Habits of Highly Effective Jenkins Users (2014 edition!)
Seven Habits of Highly Effective Jenkins Users (2014 edition!)
 
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
Using Jenkins as Native Packages Factory - Jenkins User Conference Paris 2012
 
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous DeploymentTesting with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
 
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeSD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-Code
 
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
 
Training web @GITS
Training web @GITSTraining web @GITS
Training web @GITS
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

The challenge - testing the oVirt project

  • 1. Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf July 5, 2012 The Challenge: Testing the oVirt Project Eyal Edri Software Engineer Red Hat Virtualization Management 2012 1
  • 2. Jenkins User Conference #jenkinsconf Agenda July 5, 2012 ● Introduction ● The Problem – How to test a Virtualization project ● The Solution – Integration & Provisioning ● The Building Blocks ● oVirt – the open virtualization project ● Puppet – configuration management ● Foreman – machine life cycle management ● Jenkins job test case ● Videos & screenshots ● Summary ● Q&A 2
  • 3. Jenkins User Conference #jenkinsconf Introduction July 5, 2012 ● Tired of spending time installing Jenkins slaves all day? ● Can't get budget from your manager to buy new hosts? ● Do you sleep in the network room waiting for hosts to be installed? ● Does your jenkins environment keep growing ? You need a Provisioning Framework! 3
  • 4. Jenkins User Conference #jenkinsconf The Complexity of testing a virtualization project... July 5, 2012 Physical & Virtual Servers Multiple teams collaboration and effort (IT, ENG, QA, Integration) Hours of manual work 4
  • 5. Jenkins User Conference #jenkinsconf Small complexity matrix for testing oVirt/RHEVM July 5, 2012 OVIRT RHEVM 3.0 RHEVM 3.1 Project Version Ovirt 3.1 RHEVM 3.0 RHEVM 3.1 Host OS Fedora 16/17 RHEL 6.2/6.3 RHEL 6.3 Manager OS Fedora 16 RHEL 6.2/6.3 RHEL 6.3 Engine git gerrit.ovirt.org rhevm:master engine:build Jboss Version 7.1 AS 5.1.2 EAP 6.0 EAP JDK Vesrion OpenJDK 1.7.0 Sun JDK 6.0 OpenJDK 1.7.0 Maven Version 3.0.X 2.2.1 3.0.x Vdsm-* rpm 4.9.6-0.63.git258c.. 4.9-112.10.el6.x86_64 4.9.6-6.el6.x86_64 Libvirt-* rpm 0.9.10-2.fc16 0.9.4-23.el6_2.4 0.9.10-9.el6 5
  • 6. Jenkins User Conference #jenkinsconf Why bother changing our CI testing framework? July 5, 2012 Time Consuming Costly Error Prone 6
  • 7. Jenkins User Conference #jenkinsconf The Solution: Framework Introduction July 5, 2012 ● We combined Foreman, Puppet & oVirt with custom python code to build a testing framework for Jenkins. ● Foreman was used for provisioning the hosts or VMs ● Puppet configured hosts with our needed profiles. ● oVirt enabled us to create VMs for running the tests. 7
  • 8. Jenkins User Conference #jenkinsconf Framework: Building Blocks July 5, 2012 8
  • 9. Jenkins User Conference #jenkinsconf Puppet: Configuration Management July 5, 2012 Client – Server implementation GIT 'Adding users', 'installing Facter produces a profile of packages', and 'updating each host, and makes system server configurations' information available to Puppet as variables. 9
  • 10. Jenkins User Conference #jenkinsconf Puppet: Resources July 5, 2012 ● The fundamental unit of modeling in Puppet is a resource. ● Resources can be: a file, a service, a package, or perhaps even a custom resource that you have developed. 10
  • 11. Jenkins User Conference #jenkinsconf Foreman: Machine Life Cycle Management July 5, 2012 11
  • 12. Jenkins User Conference #jenkinsconf oVirt: Create and Manage Virtual Machines July 5, 2012 ● Large scale, centralized management solution for server and desktop virtualization ● an opensource alternative to vCenter/vSphere ● Has multiple APIs: ● Python SDK ● Ruby gem ● Ovirt CLI ● REST 12
  • 13. Jenkins User Conference #jenkinsconf Revising the purpose... July 5, 2012 So what was the goal of this framework... To be able to test a complex virtualization project in Jenkins with limited resources, time and effort. v And do it in a reproducible and scalable way. OK, So how do all these projects integrate with Jenkins? 13
  • 14. Jenkins User Conference #jenkinsconf Jenkins Integration: Foreman Plugin July 5, 2012 ● You guessed it... ,it had to be a Jenkins plugin. ● A Jenkins Foreman Plugin that will enable any job to request a resource (host or vm) with a specific profile. 14
  • 15. Jenkins User Conference #jenkinsconf Jenkins Foreman Plugin Mock-up: configure screen July 5, 2012 ● Configure foreman server details in Jenkins. ● All cloud related info will be set inside foreman 15
  • 16. Jenkins User Conference #jenkinsconf Foreman Plugin Mock July 5, 2012 16
  • 17. Jenkins User Conference #jenkinsconf The Bare (metal) Essentials... July 5, 2012 ● Foreman 'Physical Hosts Pool Feature' RESERVED FREE 17
  • 18. Jenkins User Conference #jenkinsconf Provision Host CLI July 5, 2012 18
  • 19. Jenkins User Conference #jenkinsconf Host Pool: show profiles July 5, 2012 ● Show me the list of available profiles to use (which are in fact 'host-groups' in foreman) 19
  • 20. Jenkins User Conference #jenkinsconf Framework: Screen-shots – Command Line Interface July 5, 2012 ● Show me the list of available hosts in pool currently free for use 20
  • 21. Jenkins User Conference #jenkinsconf Provision Host: show reserved hosts July 5, 2012 ● Show me the list of reserved hosts in pool currently used. (due to job/debug/error/static assignment) 21
  • 22. Jenkins User Conference #jenkinsconf Framework: Screen-shots – Command Line Interface July 5, 2012 ● Request 1 host with profile 'P-RHEL63-CANDIDATE' Client requests '1' physical host with 'RHEL 6.3' profile Foreman finds 'cinteg27' server avaliable Foreman applies new profile to the server & start provisioning Client polls foreman for status Client verifies ssh access to host Host is ready to use with new profile (RESERVED) 22
  • 23. Jenkins User Conference #jenkinsconf Example Flow Diagram July 5, 2012 2 Patch is reviewed, verified and approved 3 merge patch in the ovirt-engine master Gerrit code Review branch Poll SCM 4 Found new commit -> trigger job A oVirt contributor 1 Sends a git patch in ovirt-engine for review 23
  • 24. Jenkins User Conference #jenkinsconf Example Flow Diagram in Jenkins July 5, 2012 JOB A JOB B 24
  • 25. Jenkins User Conference #jenkinsconf DEMO July 5, 2012 LIVE DEMO ● Foreman provisioning ● Ovirt UI ● Foreman CLI code 25
  • 26. Jenkins User Conference #jenkinsconf Videos Examples July 5, 2012 Foreman web server provisioning.. ● installing webserver via foreman 26
  • 27. Jenkins User Conference #jenkinsconf oVirt: How does it look like? July 5, 2012 27
  • 28. Jenkins User Conference #jenkinsconf Framework: Screen-shots - Hosts view July 5, 2012 28
  • 29. Jenkins User Conference #jenkinsconf Framework: Screen-shots - Host-group view July 5, 2012 Build a host-group by selecting existing puppet classes 29
  • 30. Jenkins User Conference #jenkinsconf Framework: Screen-shots - Hosts Statistics July 5, 2012 30
  • 31. Jenkins User Conference #jenkinsconf Present & Future July 5, 2012 ● Jenkins Foreman plugin ● Foreman (Jenkins) slaves manager plugin ● Jenkins Custom Testing Plugin ● Control Jenkins jobs via puppet (job as a resource) ● Extending Jenkinsapi python library 31
  • 32. Jenkins User Conference #jenkinsconf Summary: Join the fun – Contribute! July 5, 2012 ● You can get into the action and join any of those projects, patches are welcome :) Foreman https://github.com/theforeman/foreman oVirt http://www.ovirt.org/project/community/ Puppet http://www.ovirt.org/project/community/ 32
  • 33. Jenkins User Conference #jenkinsconf Summary: Links July 5, 2012 ● http://ovirt.org ● http://theforeman.org ● http://puppetlabs.com/community/overview/ ● http://jenkins-ci.org ● https://github.com/eedri/foreman 33
  • 34. Jenkins User Conference #jenkinsconf Q&A July 5, 2012 Still awake..? Good! Any Questions? 34
  • 35. Jenkins User Conference #jenkinsconf Summary: Thanks July 5, 2012 Platinum Sponsors Silver Sponsor 35
  • 36. Jenkins User Conference #jenkinsconf Still got questions? July 5, 2012 Eyal edri eedri@redhat.com irc.freenode.net #ovirt, #theforeman, #jenkins 36