The document summarizes a presentation about using Foreman, Puppet, and oVirt to build an automated testing framework for the Jenkins continuous integration server. The framework provisions virtual and physical machines from a pool managed by Foreman using Puppet configuration profiles. It integrates with Jenkins through a Foreman plugin that allows jobs to request machines with specific profiles. This allows complex virtualization projects to be tested in Jenkins efficiently and reproducibly without needing many physical resources. Screenshots and a demo were provided of the Foreman web interface, command line usage, and oVirt management console.
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseKurt Madel
This workshop will provide a hands on experience with a turnkey implementation of a scalable Jenkins as a service solution, based on CloudBees Jenkins Enterprise. The workshop will utilize the same micro-service example used in the DevOps 2.1 Toolkit workshop, walking you through the software development lifecycle using the tools and features provided by CloudBees Jenkins Enterprise. The audience will perform exercises which illustrate the distributed and scalable architecture provided by the CloudBees Jenkins Enterprise cluster.
From quickly provisioning your very own CloudBees Jenkins Enterprise Managed Master, to setting up a custom template for a built-in, ephemeral and elastic Docker based Jenkins agents, to dynamically creating Jenkins Pipeline jobs - you will have a true hands on experience with features that CloudBees Jenkins Enterprise provides based on a highly scalable Distributed Pipeline Architecture.
The Virtual Git Summit - Subversion to Git - A Sugar StoryJohn Mertic
After many years of faithful use of Subversion as our version control system of choice, we found the need for something more flexible that could better scale with the many code trees we manage across our engineering organization. In this talk, I’ll talk about how using Subversion for version control wasn’t doing it for us anymore, the move to using Git and GitHub (and the challenges along the way), and the various wins we have gained as an engineering organization and with our partner and community developers.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as codeDamien Duportal
Né Hudson en 2004 (cf. http://kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins/), le projet Jenkins vient de franchir un cap majeur : la version Jenkins 2.0 (cf. https://groups.google.com/forum/#!msg/jenkinsci-dev/vbXK7JJekFw/BlEvO0UxBgAJ) !
Cette étape majeure réussit à concilier la gestion de l'ancien, et la transition vers des pratiques de déploiement continu plus modernes.
Parmi les nouveautés, la gestion des Pipeline-as-a-Code et l'intégration de Docker sont deux éléments dont vous allez pouvoir tirer de nombreux bénéfices.
Si vous êtes intéressés pour un exemple concret de migration depuis un Jenkins 1.x vers un flux basé sur Docker et Pipeline avec Jenkins 2.0, cette session est faite pour vous !
L'exemple suivi sera un projet Java-Maven "type", stocké sur un dépôt Git, bénéficiant de tests et d'analyses, en "multi-job enchaînés", que nous ferons glisser dans un "Jenkins Pipeline", configuré via un fichier du dépôt Git, en mode "livraison continue" via Docker.
Distributed Docker Pipeline Architecture with CloudBees Jenkins EnterpriseKurt Madel
This workshop will provide a hands on experience with a turnkey implementation of a scalable Jenkins as a service solution, based on CloudBees Jenkins Enterprise. The workshop will utilize the same micro-service example used in the DevOps 2.1 Toolkit workshop, walking you through the software development lifecycle using the tools and features provided by CloudBees Jenkins Enterprise. The audience will perform exercises which illustrate the distributed and scalable architecture provided by the CloudBees Jenkins Enterprise cluster.
From quickly provisioning your very own CloudBees Jenkins Enterprise Managed Master, to setting up a custom template for a built-in, ephemeral and elastic Docker based Jenkins agents, to dynamically creating Jenkins Pipeline jobs - you will have a true hands on experience with features that CloudBees Jenkins Enterprise provides based on a highly scalable Distributed Pipeline Architecture.
The Virtual Git Summit - Subversion to Git - A Sugar StoryJohn Mertic
After many years of faithful use of Subversion as our version control system of choice, we found the need for something more flexible that could better scale with the many code trees we manage across our engineering organization. In this talk, I’ll talk about how using Subversion for version control wasn’t doing it for us anymore, the move to using Git and GitHub (and the challenges along the way), and the various wins we have gained as an engineering organization and with our partner and community developers.
Writing code is fun, but deploying to production is not. Production releases are scary events that last all weekend, and you find yourself worrying about how it will go. Did we miss a configuration file? Is the database schema the same as the one in the test environment? Does the last minute hot fix we just applied break any other features? Did I forget to include an installation instruction for the system administrators?
Continuous Delivery is a collection of principles and practices aimed at addressing the problems teams typically face when releasing changes to production. By applying rigorous automation, testing and configuration management, teams are able to confidently and consistently deploy changes from version control to production without fear.
In this talk, Mike McGarr will provide listeners with an introduction into the world of Continuous Delivery. After an introduction into the concepts and principles of Continuous Delivery, he will discuss many of the techniques for implementing Continuous Delivery and recommend some tools that can be used on your development project.
Voxxed Luxembourd 2016 Jenkins 2.0 et Pipeline as codeDamien Duportal
Né Hudson en 2004 (cf. http://kohsuke.org/2011/01/11/bye-bye-hudson-hello-jenkins/), le projet Jenkins vient de franchir un cap majeur : la version Jenkins 2.0 (cf. https://groups.google.com/forum/#!msg/jenkinsci-dev/vbXK7JJekFw/BlEvO0UxBgAJ) !
Cette étape majeure réussit à concilier la gestion de l'ancien, et la transition vers des pratiques de déploiement continu plus modernes.
Parmi les nouveautés, la gestion des Pipeline-as-a-Code et l'intégration de Docker sont deux éléments dont vous allez pouvoir tirer de nombreux bénéfices.
Si vous êtes intéressés pour un exemple concret de migration depuis un Jenkins 1.x vers un flux basé sur Docker et Pipeline avec Jenkins 2.0, cette session est faite pour vous !
L'exemple suivi sera un projet Java-Maven "type", stocké sur un dépôt Git, bénéficiant de tests et d'analyses, en "multi-job enchaînés", que nous ferons glisser dans un "Jenkins Pipeline", configuré via un fichier du dépôt Git, en mode "livraison continue" via Docker.
Maven is close to ubiquitous in the world of enterprise Java, and the Maven dependency ecosystem is the de facto industry standard. However, the traditional Maven build and release strategy, based on snapshot versions and carefully planned releases, is difficult to reconcile with modern continuous delivery practices, where any commit that passes a series of quality-control gateways can qualify as a release. How can teams using the standard Maven release process still leverage the benefits of continuous delivery? This presentation discusses strategies that can be used to implement continuous delivery solutions with Maven and demonstrates one such strategy using Maven, Jenkins, and Git.
Implementing CI CD UiPath Using Jenkins PluginSatish Prasad
Implementing CI-CD UiPath Using Jenkins Plugin.
Whats is Covered
Basic of Jenkins to get started
2. Key Jenkins concepts to remember
3. Install and configure UiPath Jenkins Plugin
4. Building pipeline using Jenkins for Build, Test and Deploy
5. Working example (Jenkins files)
The Brave New World of Continuous Release - Baruch Sadogurskyjaxconf
While rapid release cycles provide numerous benefits for end-users and developers, it puts additional pressure on DevOps to make sure that a good application is provisioned with no mistakes. In this session, we will look at the release process from the binaries point of view. We will explain what are the processes and the methodologies for moving your build binaries between different phases until declared production-ready. In the second part of the session, we will show how business requirements can affect release procedures. We will discuss what it takes to customize the logic of the process in the context of CI servers and binary artifacts. We will demonstrate several common release methodologies and compare the pros and cons of each one.
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
Please check out our new SlideShow of setting up and configuring a Jenkins Continuous Integration server for use within a Drupal development environment. We walk you through the steps of installing Ubuntu 10.04 LTS, Jenkins, Drush and several other PHP coding tools and Drupal Modules to help check your code against current Drupal standards. Then we walk you through creating a git post-receive script, and Jenkins job to pull it all together.
oVirt UI Plugin Infrastructure and the oVirt-Foreman pluginOved Ourfali
In this presentation I show how one can use the new oVirt-Engine UI-Plugin infrastructure,
to add a new oVirt UI plugins, and show an example of a Foreman-UI-plugin, that allows querying Foreman information on oVirt entities.
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Allon Mureinik
A short overview of oVirt 3.3's Storage Connection Management feature, and several examples how this feature can be used in Disaster Recovery strategies.
oVirt and OpenStack look kind of similar from a distance. But they cater to different use-cases. That said, they do have some common needs. How can they work together? And when is it better to use one over the other?
JUC NY - Advanced Continuous Deployment with JenkinsXebiaLabs
Slides from the JUC New York session on "Advanced Continuous Deployment with Jenkins" on May 17th 2012. More details at http://www.cloudbees.com/content/2012-jenkins-user-conference-newyork-abstracts.cb#AndrewPhillips
Maven is close to ubiquitous in the world of enterprise Java, and the Maven dependency ecosystem is the de facto industry standard. However, the traditional Maven build and release strategy, based on snapshot versions and carefully planned releases, is difficult to reconcile with modern continuous delivery practices, where any commit that passes a series of quality-control gateways can qualify as a release. How can teams using the standard Maven release process still leverage the benefits of continuous delivery? This presentation discusses strategies that can be used to implement continuous delivery solutions with Maven and demonstrates one such strategy using Maven, Jenkins, and Git.
Implementing CI CD UiPath Using Jenkins PluginSatish Prasad
Implementing CI-CD UiPath Using Jenkins Plugin.
Whats is Covered
Basic of Jenkins to get started
2. Key Jenkins concepts to remember
3. Install and configure UiPath Jenkins Plugin
4. Building pipeline using Jenkins for Build, Test and Deploy
5. Working example (Jenkins files)
The Brave New World of Continuous Release - Baruch Sadogurskyjaxconf
While rapid release cycles provide numerous benefits for end-users and developers, it puts additional pressure on DevOps to make sure that a good application is provisioned with no mistakes. In this session, we will look at the release process from the binaries point of view. We will explain what are the processes and the methodologies for moving your build binaries between different phases until declared production-ready. In the second part of the session, we will show how business requirements can affect release procedures. We will discuss what it takes to customize the logic of the process in the context of CI servers and binary artifacts. We will demonstrate several common release methodologies and compare the pros and cons of each one.
Drupal Continuous Integration with Jenkins - The BasicsJohn Smith
Please check out our new SlideShow of setting up and configuring a Jenkins Continuous Integration server for use within a Drupal development environment. We walk you through the steps of installing Ubuntu 10.04 LTS, Jenkins, Drush and several other PHP coding tools and Drupal Modules to help check your code against current Drupal standards. Then we walk you through creating a git post-receive script, and Jenkins job to pull it all together.
oVirt UI Plugin Infrastructure and the oVirt-Foreman pluginOved Ourfali
In this presentation I show how one can use the new oVirt-Engine UI-Plugin infrastructure,
to add a new oVirt UI plugins, and show an example of a Foreman-UI-plugin, that allows querying Foreman information on oVirt entities.
Disaster Recovery Strategies Using oVirt's new Storage Connection Management ...Allon Mureinik
A short overview of oVirt 3.3's Storage Connection Management feature, and several examples how this feature can be used in Disaster Recovery strategies.
oVirt and OpenStack look kind of similar from a distance. But they cater to different use-cases. That said, they do have some common needs. How can they work together? And when is it better to use one over the other?
JUC NY - Advanced Continuous Deployment with JenkinsXebiaLabs
Slides from the JUC New York session on "Advanced Continuous Deployment with Jenkins" on May 17th 2012. More details at http://www.cloudbees.com/content/2012-jenkins-user-conference-newyork-abstracts.cb#AndrewPhillips
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...CloudBees
By Christian Lipphardt, Camunda Services
Camunda is an open source, Java-based framework process/business process automation. As a middleware technology, Camunda integrates with six different Java application servers (in different versions) and supports six different database products. The team at Camunda maintains five supported versions of Camunda itself, adding two versions every year. Maintaining the necessary continuous integration (CI) infrastructure based on virtual machines became increasingly problematic, with poor build reproducibility and limited scalability. Feedback cycles for developers were unacceptable. Recently Camunda switched from the virtual machine model to a container model based on Docker. The Camunda team now develops infrastructure as code and applies microservice-like separation of concerns. In the talk, Daniel will share the new CI architecture and present lessons learned.
JUC NYC 2012: Yale Build and Deployment with JenkinsE. Camden Fisher
Yale is a diverse place with a wide variety of technologies and a wide range of developer skillsets. This talk will walk you through the journey that we took to standardize where we could and to bring Yale software build and deploy under control. Our goals are to reduce complexity, increase security, increase agility, accept responsibility for what should be ours and otherwise get out of the developer's way. Jenkins is an integral piece of meeting these goals.
Seven Habits of Highly Effective Jenkins Users (2014 edition!)Andrew Bayer
What plugins, tools and behaviors can help you get the most out of your Jenkins setup without all of the pain? We'll find out as we go over a set of Jenkins power tools, habits and best practices that will help with any Jenkins setup.
SD DevOps Meet-up - Jenkins 2.0 and Pipeline-as-CodeBrian Dawson
This is a presentation given at the March 16th San Diego DevOps Meet-up covering some of the upcoming activities around Jenkin 2.0 and the Pipeline plugins which provide for Pipeline-as-Code and enable Jenkins with 1st class pipelines and stages.
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...QAFest
Selenium has become the de facto standard framework for end-to-end web testing nowadays. It allows to drive programmatically web browsers, such as Chrome, Firefox, etc. This talk presents Selenium-Jupiter (https://github.com/bonigarcia/selenium-jupiter), an open-source JUnit 5 extension aimed to provide seamless integration with Selenium and Appium. JUnit is the most popular test frameworks for Java and one of the most influential in software engineering. JUnit 5 is the next generation of JUnit, providing a brand-new programming and extension model called Jupiter. Selenium-Jupiter is a JUnit 5 extension to use Selenium and provides a rich variety of features, including the capability to use of local or remote browsers. Moreover, it allows to use browsers and Android devices in Docker containers out of the box. Selenium-Jupiter can be used to carry out different types of test of web applications, including functional, compatibility (i.e. using different browsers types and versions) or performance (i.e. using a big number of browsers) tests.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Climate Impact of Software Testing at Nordic Testing Days
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
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
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
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
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