SlideShare une entreprise Scribd logo
1  sur  62
Télécharger pour lire hors ligne
Delivering	Premium	Quality	Puppet	Modules	
René	Last	&	Dimitri	Tischenko	
Puppetconf	2016	
Using Beaker and VMpooler for Mul4-Pla7orm Tes4ng
Who	are	we?
Agenda	
	
About	KPN	
Our	problem	
Our	soluBon
About	KPN
Our	problem	
KPN	decided	to	manage	10K	
servers	for	various	clients	
with	Puppet…
Our	problem	
…	most	of	them	Windows.
Our	problem	–	consequences	(1)	
Need	to	
support	Windows
Our	problem	–	consequences	(2)	
Need	to	guarantee		
stable	and	predictable	
infrastructure	state
Our	problem	–	consequences	(3)	
Need	to	guarantee		
code	quality
Our	soluEon	(1)	
A	dedicated	team	
to	develop	modules
Our	soluEon	(2)	
An	automated	
tesBng	factory
TesEng	Factory	Requirements	
Automated	pipeline	configuraBon	
Puppet	3.x	tests	
Puppet	4.x	tests	
Unit	tests	on	Linux	and	Windows	
Acceptance	tests	on	all	plaQorms	(currently	8)	
Run	tests	in	parallel
Module	CI/CD	Pipeline	Overview	
syntax	
check	
Auto	
puppet-
lint	
rspec	
test	
acceptance	
test	
Release	
to	TEST	
Auto	 Auto	 Manual	
Release	
to	PROD	
Manual	
Change	in	
git	
Periodic	
trigger	
NoEfy	by	mail	&	Hipchat	
Fail	 Fail	 Fail	 Fail
Puppet	CI	Components	
Jenkins	Master	
Jenkins	
Linux	Slave	
Jenkins	
Windows	Slave	
vmpooler	
Github	Enterprise	
vcenter	
beaker	
Create		VMs	
Linux	pipeline	
Windows	pipeline	
MulE-PlaXorm	
Acceptance	Tests	
Syntax,	lint	&	rspec	
Syntax,	lint	&	rspec	
Systems	Under	Test
Jenkins	master	and	build	slaves	
rtyler/jenkins	puppet	module
Ruby	
	
	
	
maestrodev/rvm	
PIK	or	uru	!=	rvm	L
Jenkins	jobs	
	
Jenkins	job	builder	
stankevich/python
PuppeEzing	Jenkins	Jobs	
puppet	 Yaml	file	
Jenkins	job	
builder	
xml	 Jenkins	job
How	to	add	a	module	
1.  	kpn_jenkins::pipeline::module	{	'kpn-puppet-forge/puppet-kpn-hosts':	
2.  		ensure															=>	present,	
3.  		test_platform								=>	['linux',	'windows'],	
4.  		pe3_syntax											=>	false,	
5.  		pe4_syntax											=>	true,	
6.  		pe4_unit													=>	true,	
7.  		pe3_unit													=>	false,	
8.  		acceptance_test						=>	true,	
9.  		acceptance_platform		=>	[	'centos-7-x64-pe4',	
10.  																												'windows-2008r2-x64',	
11.  																												'windows-2012r2-x64',	
12.  																												'windows-2008r2-x64-pe4',	
13.  																												'windows-2012r2-x64-pe4',	
14.  																												'windows-2016-x64-pe4',	
15.  																										],	
16.  		hipchat_notification	=>	true,	
17.  		hipchat_room									=>	'Module	team',	
18.  		email																=>	‘puppetteam@kpn.com',	
19.  }
How	to	add	a	module
Jenkins	Master	
Jenkins	
Linux	Slave	
Jenkins	
Windows	Slave	
vmpooler	
Github	Enterprise	
vcenter	
Create		VMs	
Windows	pipeline	
MulE-PlaXorm	
Acceptance	Tests	
Syntax,	lint	&	rspec	
Syntax,	lint	&	rspec	
Systems	Under	Test	
Beaker	
beaker	
Linux	pipeline
Beaker	
A	test	harness	focused	on	acceptance	tesBng	
using		(virtual)	machines
Beaker	
Runs	tests	on	“real”	servers
Beaker	
Supports	vm	providers	like	Vagrant,	vSphere,	
docker,	AWS	or	vmpooler
Beaker	InstallaEon	
	
#	gem	install	beaker	beaker-rspec	beaker-puppet_install_helper
Beaker	ConfiguraEon	
spec/acceptance/nodesets/*.yml
1.  HOSTS:	
2.  		centos-7-x64-pe4:	
3.  				roles:	
4.  						-	agent	
5.  				platform:	el-7-x86_64	
6.  				hypervisor:	vmpooler	
7.  				template:	centos-7-x64	
8.  CONFIG:	
9.  		masterless:	true	
10.  		pe_ver:	'2016.2.0'	
11.  		pe_promoted_builds_url:	'http://repo.kpn.com/pe'	
12.  		pooling_api:	'http://vmpooler.kpn.com:4567'	
13.  		ssh:	
14.  				auth_methods:	
15.  					-	password	
16.  				user:	root	
17.  				password:	XXXXXXXX
Prepare	a	System	For	TesEng	
spec/spec_helper_acceptance.rb
1.  require	'beaker-rspec/spec_helper'	
2.  require	'beaker-rspec/helpers/serverspec'	
3.  require	'beaker/puppet_install_helper'	
4.  		
5.  #	Install	puppet	agent	on	a	node	
6.  run_puppet_install_helper	
7.  		
8.  #	Copy	our	module	dependencies	to	the	SUT	
9.  system('git	clone	git@github.kpn.com/stdlib	spec/fixtures/modules/stdlib')	
10. 		
11. copy_module_to(hosts,	:source	=>	'spec/fixtures/modules/stdlib',	
12. 																						:module	=>	'stdlib')	
13. 		
14. #	Or	if	you	have	internet	access	
15. install_puppet_module_via_pmt_on(host,	:module_name	=>	'stdlib')
Example	Test	
spec/acceptance/*_spec.rb
1.  require	'spec_helper_acceptance'	
2.  		
3.  describe	'kpn-centerity_agent	module'	do	
4.  		context	'install	centerity_agent	software'	do	
5.  				pp	=	<<-EOS	
6.  						class	{	'centerity_agent':	}	
7.  				EOS	
8.  				it	'1st	apply	should	run	without	errors'	do	
9.  						apply_manifest(pp,	:catch_failures	=>	true)	
10. 				end	
11. 				it	'2nd	apply	should	run	without	changes'	do	
12. 						apply_manifest(pp,	:catch_changes		=>	true)	
13. 				end	
14. 		end	
15. end
TesEng	for	Installed	Packages	
1.  context	'Test	installed	software'	do	
2.  		case	fact('osfamily')	
3.  				when	/RedHat/	
4.  						describe	package('sshd')	do	
5.  								it	{	should	be_installed	}	
6.  						end	
7.  				when	/windows/	
8.  						describe	command('C:ProgramsChocolateybinclist	-l')	do		
9.  								its(:stdout)	{	should	match	/sshd/	}	
10. 						end	
11. 				end	
12. 		end	
13. end
Run,	beaker,	Run!	
#	export	BEAKER_setfile=~/nodesets/${platform}.yml	
#	rake	beaker
Rules	for	WriEng	Acceptance	Tests	(1)	
Only	test	your	puppet	code,	
not	the	supplier’s	socware
Rules	for	WriEng	Acceptance	Tests	(2)	
A	beaker	test	should	be	self-contained
Rules	for	WriEng	Acceptance	Tests	(3)	
If	you	can	rspec	it,	don’t	beaker	it
Improving	Beaker	DocumentaEon	
	
	
	
	
	
	
	
heps://github.com/RARYates/beaker
Jenkins	Master	
Jenkins	
Linux	Slave	
Jenkins	
Windows	Slave	
Github	Enterprise	
vcenter	
Create		VMs	
Windows	pipeline	
MulE-PlaXorm	
Acceptance	Tests	
Syntax,	lint	&	rspec	
Syntax,	lint	&	rspec	
Systems	Under	Test	
beaker	
vmpooler	
vmpooler	
Linux	pipeline
vmpooler	
	
Vmpooler	pools	VMs	
	
Provides	configurable	pools	of	instantly-available	
(running)	virtual	machines
vmpooler	
	
Needs	its	own	DHCP	zone		
and	properly	configured	DDNS
vmpooler	
	
System	running	beaker	must	use	vmpooler’s	
nameserver
vmpooler	
vmpooler	has	a	strange	logo
vmpooler	installaEon	
include	‘vmpooler’
vmpooler	
	
	
❝	
Template	set-up	is	lec	as	an	exercise	to	the	reader.	Somehow,	either	via	PXE,	embedded	
bootstrap	scripts,	or	some	other	method	--	clones	of	VM	templates	need	to	be	able	to	set	
their	hostname,	register	themselves	in	your	DNS,	and	be	resolvable	by	the	vmpooler	
applicaBon	acer	compleBng	the	clone	task	and	booBng	up.	
❞
vmpooler	host	naming	puzzle	
vm	name	!=	host	name	
need	to	set	host	name	automaBcally	to	vm	name	
don’t	want	to	give	each	vm	vsphere	credenBals	
so	-	how	to	do	it?
Just	5	lines	of	code	(2	months	later)	
								#	Annotate	with	creation	time,	origin	template,	etc.	
								#	Add	extraconfig	options	that	can	be	queried	by	vmtools	
								configSpec	=	RbVmomi::VIM.VirtualMachineConfigSpec(	
										annotation:	JSON.pretty_generate(	
														name:	vm['hostname'],	
														created_by:	$config[:vsphere]['username'],	
														base_template:	vm['template'],	
														creation_timestamp:	Time.now.utc	
										),	
										extraConfig:	[	
														{	key:	'guestinfo.hostname',	
																value:	vm['hostname']	
														}	
										])
Seang	the	hostname	
Linux:	
#	hostname=$(vmtoolsd	--cmd	"info-get	guestinfo.hostname")	
	
Windows:	
>	$hostname	=	cmd.exe	/c	'C:Progra~1VMwarevmtoolsd.exe	--cmd	
"info-get	guestinfo.hostname"'
vmpooler	lessons	learned	
• Can	use	more	logging	(PRs	forthcoming)	
• Pool	name	needs	to	equal	template	name	
• Docs	refer	to	vm	templates,	need	to	be	vms	
• Will	not	install	if	ESX	host	is	not	“green”	
• Can	use	beeer	excepBon	handling
Conclusions	
Automated	pipeline	configuraBon		
Puppet	3.x	tests	
Puppet	4.x	tests	
Unit	tests	on	Linux	and	Windows	
Acceptance	tests	on	all	plaQorms	(currently	8)	
Run	tests	in	parallel	
P
P
P
P
P
P
What	did	we	learn?	
+ 	Regression	test	
+ 	MulB	plaQorm	
+ 	Catch	errors	early
What	did	we	learn?
Future	Improvements	
Speed	of	tests
Future	Improvements	
Stability	of	vmpooler	
Windows	support
And	now	…	for	some	numbers
Modules	per	OperaEng	System	
Windows	
32	
Linux	
43	
Linux	and	
Windows	
16
Test	Types	
102	 94	
79	
0	
20	
40	
60	
80	
100	
120	
Syntax	 Rspec	(unit)	 Acceptance	
#	modules
Test	Runs	
Flow	
8%	
Init	
14%	
Syntax	
21%	
Unit	
18%	
Acceptance	
39%
Top	10	Modules	with	Failed	Tests
Vmpooler:	Average	Time	to	Ready
Q&A
Windows	Modules	
• kpn-ad_ds	
• kpn-dotnet	
• kpn-rdp	
• kpn-kms	
• kpn-chocolatey_client	
• kpn-chocolatey_server	
• kpn-local_security_policy

Contenu connexe

Tendances

Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
Puppet
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Bamdad Dashtban
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
Simplilearn
 

Tendances (20)

Devops interview questions 2 www.bigclasses.com
Devops interview questions  2  www.bigclasses.comDevops interview questions  2  www.bigclasses.com
Devops interview questions 2 www.bigclasses.com
 
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 PipelineDelivery Pipeline as Code: using Jenkins 2.0 Pipeline
Delivery Pipeline as Code: using Jenkins 2.0 Pipeline
 
Puppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepoPuppet camp2021 testing modules and controlrepo
Puppet camp2021 testing modules and controlrepo
 
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared LibraryCodifying the Build and Release Process with a Jenkins Pipeline Shared Library
Codifying the Build and Release Process with a Jenkins Pipeline Shared Library
 
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWSAutomated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
Automated Deployment Pipeline using Jenkins, Puppet, Mcollective and AWS
 
CI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins PipelineCI/CD on Android project via Jenkins Pipeline
CI/CD on Android project via Jenkins Pipeline
 
Devoxx 17 - Swift server-side
Devoxx 17 - Swift server-sideDevoxx 17 - Swift server-side
Devoxx 17 - Swift server-side
 
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins PipelinesAn Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
 
Continuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and JenkinsContinuous Integration/Deployment with Docker and Jenkins
Continuous Integration/Deployment with Docker and Jenkins
 
Symfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim RomanovskySymfony Under Control by Maxim Romanovsky
Symfony Under Control by Maxim Romanovsky
 
Brujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalabilityBrujug Jenkins pipeline scalability
Brujug Jenkins pipeline scalability
 
Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York Times
 
Devops interview-questions-PDF
Devops interview-questions-PDFDevops interview-questions-PDF
Devops interview-questions-PDF
 
Building a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York TimesBuilding a Video Encoding Pipeline at The New York Times
Building a Video Encoding Pipeline at The New York Times
 
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
DevOps Interview Questions Part - 2 | Devops Interview Questions And Answers ...
 
Ci with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgiumCi with jenkins docker and mssql belgium
Ci with jenkins docker and mssql belgium
 
Symfony 2 under control
Symfony 2 under controlSymfony 2 under control
Symfony 2 under control
 
Jenkins, pipeline and docker
Jenkins, pipeline and docker Jenkins, pipeline and docker
Jenkins, pipeline and docker
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
Pipeline based deployments on Jenkins
Pipeline based deployments  on JenkinsPipeline based deployments  on Jenkins
Pipeline based deployments on Jenkins
 

En vedette

En vedette (15)

PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
 
Puppet and AWS is Easy...?
Puppet and AWS is Easy...?Puppet and AWS is Easy...?
Puppet and AWS is Easy...?
 
Dev to Delivery with Puppet, Vagrant and AWS
Dev to Delivery with Puppet, Vagrant and AWSDev to Delivery with Puppet, Vagrant and AWS
Dev to Delivery with Puppet, Vagrant and AWS
 
PuppetConf 2016: Heresy in the Church of Docker – Corey Quinn, The Quinn Adv...
PuppetConf 2016:  Heresy in the Church of Docker – Corey Quinn, The Quinn Adv...PuppetConf 2016:  Heresy in the Church of Docker – Corey Quinn, The Quinn Adv...
PuppetConf 2016: Heresy in the Church of Docker – Corey Quinn, The Quinn Adv...
 
Paasta: Application Delivery at Yelp
Paasta: Application Delivery at YelpPaasta: Application Delivery at Yelp
Paasta: Application Delivery at Yelp
 
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
PuppetConf 2016: Puppet and UCS: Policy-Based Management All the Way Down – C...
 
Canadian Cyber Cecurity
Canadian Cyber CecurityCanadian Cyber Cecurity
Canadian Cyber Cecurity
 
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
PuppetConf 2016: An Introduction to Measuring and Tuning PE Performance – Cha...
 
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
PuppetConf 2016: Best Practices for Puppet in the Cloud – Randall Hunt, Amazo...
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
 
Usability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour ChennaiUsability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour Chennai
 
PuppetConf 2016: Watching the Puppet Show – Sean Porter, Heavy Water Operations
PuppetConf 2016: Watching the Puppet Show – Sean Porter, Heavy Water OperationsPuppetConf 2016: Watching the Puppet Show – Sean Porter, Heavy Water Operations
PuppetConf 2016: Watching the Puppet Show – Sean Porter, Heavy Water Operations
 
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
 
F5 TLS & SSL Practices
F5 TLS & SSL PracticesF5 TLS & SSL Practices
F5 TLS & SSL Practices
 
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpecTest-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
Test-Driven Infrastructure with Ansible, Test Kitchen, Serverspec and RSpec
 

Similaire à PuppetConf 2016: Delivering Premium Quality Modules: Using Beaker and VMpooler for Multi-Platform Testing – Rene Last, KPN B.V & Dimitri Tischenko, Myndrik

Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010
Puppet
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
Linaro
 

Similaire à PuppetConf 2016: Delivering Premium Quality Modules: Using Beaker and VMpooler for Multi-Platform Testing – Rene Last, KPN B.V & Dimitri Tischenko, Myndrik (20)

Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010
 
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure SystemsUsing Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
 
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...[ENGLISH] TDC 2015 - PHP  Trail - Tests and PHP Continuous Integration Enviro...
[ENGLISH] TDC 2015 - PHP Trail - Tests and PHP Continuous Integration Enviro...
 
Codeception: introduction to php testing (v2 - Aberdeen php)
Codeception: introduction to php testing (v2 - Aberdeen php)Codeception: introduction to php testing (v2 - Aberdeen php)
Codeception: introduction to php testing (v2 - Aberdeen php)
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
LAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community UpdateLAS16-400K2: TianoCore – Open Source UEFI Community Update
LAS16-400K2: TianoCore – Open Source UEFI Community Update
 
Continuous Delivery With Containers
Continuous Delivery With ContainersContinuous Delivery With Containers
Continuous Delivery With Containers
 
Codeception: introduction to php testing
Codeception: introduction to php testingCodeception: introduction to php testing
Codeception: introduction to php testing
 
Containerize your Blackbox tests
Containerize your Blackbox testsContainerize your Blackbox tests
Containerize your Blackbox tests
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
MPL: modular pipeline library - Dynamic Talks Milwaukee 4/11/2019
MPL: modular pipeline library - Dynamic Talks Milwaukee 4/11/2019MPL: modular pipeline library - Dynamic Talks Milwaukee 4/11/2019
MPL: modular pipeline library - Dynamic Talks Milwaukee 4/11/2019
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
Gatehouse software genanvendelse
Gatehouse software genanvendelseGatehouse software genanvendelse
Gatehouse software genanvendelse
 
Virtual Puppet User Group: Puppet Development Kit (PDK) and Puppet Platform 6...
Virtual Puppet User Group: Puppet Development Kit (PDK) and Puppet Platform 6...Virtual Puppet User Group: Puppet Development Kit (PDK) and Puppet Platform 6...
Virtual Puppet User Group: Puppet Development Kit (PDK) and Puppet Platform 6...
 
Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!
 
CI/CD Pipeline with Docker
CI/CD Pipeline with DockerCI/CD Pipeline with Docker
CI/CD Pipeline with Docker
 
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
 
Release Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROIRelease Automation: Better Quality, Faster Deployment, Amazing ROI
Release Automation: Better Quality, Faster Deployment, Amazing ROI
 
Speedup ios release
Speedup ios releaseSpeedup ios release
Speedup ios release
 

Plus de Puppet

2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
 

Plus de Puppet (20)

Puppetcamp r10kyaml
Puppetcamp r10kyamlPuppetcamp r10kyaml
Puppetcamp r10kyaml
 
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
 
Puppet camp vscode
Puppet camp vscodePuppet camp vscode
Puppet camp vscode
 
Modules of the twenties
Modules of the twentiesModules of the twenties
Modules of the twenties
 
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance codeApplying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
 
KGI compliance as-code approach
KGI compliance as-code approachKGI compliance as-code approach
KGI compliance as-code approach
 
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automationEnforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
 
Keynote: Puppet camp compliance
Keynote: Puppet camp complianceKeynote: Puppet camp compliance
Keynote: Puppet camp compliance
 
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNowAutomating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
 
Puppet: The best way to harden Windows
Puppet: The best way to harden WindowsPuppet: The best way to harden Windows
Puppet: The best way to harden Windows
 
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
 
Accelerating azure adoption with puppet
Accelerating azure adoption with puppetAccelerating azure adoption with puppet
Accelerating azure adoption with puppet
 
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael PinsonPuppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 
Take control of your dev ops dumping ground
Take control of your  dev ops dumping groundTake control of your  dev ops dumping ground
Take control of your dev ops dumping ground
 
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
 
Puppet User Group
Puppet User GroupPuppet User Group
Puppet User Group
 
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOpsContinuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
 
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick MaludyThe Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
 
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin ReeuwijkServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

PuppetConf 2016: Delivering Premium Quality Modules: Using Beaker and VMpooler for Multi-Platform Testing – Rene Last, KPN B.V & Dimitri Tischenko, Myndrik