Submit Search
Upload
Building and Testing Puppet with Docker
•
2 likes
•
868 views
C
carlaasouza
Follow
PuppetConf 2014 presentation
Read less
Read more
Presentations & Public Speaking
Report
Share
Report
Share
1 of 37
Download now
Download to read offline
Recommended
EC2
EC2
Igor Kapkov
Laravel Day / Deploy
Laravel Day / Deploy
Simone Gentili
DevOps with Fabric
DevOps with Fabric
Simone Federici
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
Carlos Sanchez
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Puppet
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet
V2 and beyond
V2 and beyond
jimi-c
Puppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, too
Dennis Rowe
Recommended
EC2
EC2
Igor Kapkov
Laravel Day / Deploy
Laravel Day / Deploy
Simone Gentili
DevOps with Fabric
DevOps with Fabric
Simone Federici
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks
Carlos Sanchez
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Puppet
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet Camp Düsseldorf 2014: Continuously Deliver Your Puppet Code with Jenki...
Puppet
V2 and beyond
V2 and beyond
jimi-c
Puppet loves RSpec, why you should, too
Puppet loves RSpec, why you should, too
Dennis Rowe
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
Puppet
Unit Testing Lots of Perl
Unit Testing Lots of Perl
Workhorse Computing
Nginx Workshop Aftermath
Nginx Workshop Aftermath
Denis Zhdanov
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
Ansible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of Python
toddmowen
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
Any event intro
Any event intro
qiang
Bangpypers april-meetup-2012
Bangpypers april-meetup-2012
Deepak Garg
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
Mykola Novik
BUILDING APPS WITH ASYNCIO
BUILDING APPS WITH ASYNCIO
Mykola Novik
Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)
xSawyer
AnsibleFest 2014 - Role Tips and Tricks
AnsibleFest 2014 - Role Tips and Tricks
jimi-c
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet
aiohttp intro
aiohttp intro
Anton Kasyanov
Anyevent
Anyevent
Marian Marinov
More tips n tricks
More tips n tricks
bcoca
Effective Benchmarks
Effective Benchmarks
Workhorse Computing
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
Walter Heck
Memory Manglement in Raku
Memory Manglement in Raku
Workhorse Computing
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Elixir Club
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Carlos Sanchez
More Related Content
What's hot
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
Puppet
Unit Testing Lots of Perl
Unit Testing Lots of Perl
Workhorse Computing
Nginx Workshop Aftermath
Nginx Workshop Aftermath
Denis Zhdanov
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
Ansible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of Python
toddmowen
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
dcubeio
Any event intro
Any event intro
qiang
Bangpypers april-meetup-2012
Bangpypers april-meetup-2012
Deepak Garg
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
Mykola Novik
BUILDING APPS WITH ASYNCIO
BUILDING APPS WITH ASYNCIO
Mykola Novik
Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)
xSawyer
AnsibleFest 2014 - Role Tips and Tricks
AnsibleFest 2014 - Role Tips and Tricks
jimi-c
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet
aiohttp intro
aiohttp intro
Anton Kasyanov
Anyevent
Anyevent
Marian Marinov
More tips n tricks
More tips n tricks
bcoca
Effective Benchmarks
Effective Benchmarks
Workhorse Computing
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
Walter Heck
Memory Manglement in Raku
Memory Manglement in Raku
Workhorse Computing
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Elixir Club
What's hot
(20)
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
Unit Testing Lots of Perl
Unit Testing Lots of Perl
Nginx Workshop Aftermath
Nginx Workshop Aftermath
Perl: Coro asynchronous
Perl: Coro asynchronous
Ansible, Simplicity, and the Zen of Python
Ansible, Simplicity, and the Zen of Python
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Go初心者がGoでコマンドラインツールの作成に挑戦した話
Any event intro
Any event intro
Bangpypers april-meetup-2012
Bangpypers april-meetup-2012
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
HOW TO DEAL WITH BLOCKING CODE WITHIN ASYNCIO EVENT LOOP
BUILDING APPS WITH ASYNCIO
BUILDING APPS WITH ASYNCIO
Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)
AnsibleFest 2014 - Role Tips and Tricks
AnsibleFest 2014 - Role Tips and Tricks
Puppet Module Reusability - What I Learned from Shipping to the Forge
Puppet Module Reusability - What I Learned from Shipping to the Forge
aiohttp intro
aiohttp intro
Anyevent
Anyevent
More tips n tricks
More tips n tricks
Effective Benchmarks
Effective Benchmarks
Puppet User Group Presentation - 15 March 2012
Puppet User Group Presentation - 15 March 2012
Memory Manglement in Raku
Memory Manglement in Raku
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Kubernetes + Docker + Elixir - Alexei Sholik, Andrew Dryga | Elixir Club Ukraine
Similar to Building and Testing Puppet with Docker
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Puppet
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Carlos Sanchez
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Carlos Sanchez
Docker Security workshop slides
Docker Security workshop slides
Docker, Inc.
One-Man Ops
One-Man Ops
Jos Boumans
Mcollective introduction
Mcollective introduction
Javier Turégano Molina
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
Ben Hall
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
Carlos Sanchez
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
Achieve Internet
From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012
Carlos Sanchez
infra-as-code
infra-as-code
Itamar Hassin
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
Walter Heck
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
OlinData
From Dev to DevOps
From Dev to DevOps
Agile Spain
Puppet
Puppet
Seenaah Seenaahzadeh
From Dev to DevOps - ApacheCON NA 2011
From Dev to DevOps - ApacheCON NA 2011
Carlos Sanchez
Puppet getting started by Dirk Götz
Puppet getting started by Dirk Götz
NETWAYS
Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012
Carlos Sanchez
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
Matt Ray
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet Forge
Puppet
Similar to Building and Testing Puppet with Docker
(20)
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Docker Security workshop slides
Docker Security workshop slides
One-Man Ops
One-Man Ops
Mcollective introduction
Mcollective introduction
Running Docker in Development & Production (#ndcoslo 2015)
Running Docker in Development & Production (#ndcoslo 2015)
From Dev to DevOps - Codemotion ES 2012
From Dev to DevOps - Codemotion ES 2012
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
From Dev to DevOps - FOSDEM 2012
From Dev to DevOps - FOSDEM 2012
infra-as-code
infra-as-code
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
From Dev to DevOps
From Dev to DevOps
Puppet
Puppet
From Dev to DevOps - ApacheCON NA 2011
From Dev to DevOps - ApacheCON NA 2011
Puppet getting started by Dirk Götz
Puppet getting started by Dirk Götz
Puppet for Java developers - JavaZone NO 2012
Puppet for Java developers - JavaZone NO 2012
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet Forge
Recently uploaded
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
漢銘 謝
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
sarwankumar4524
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
marjmae69
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
pruthirajnayak525
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
Nathan Young
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
mavinoikein
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
Sebastiano Panichella
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Sebastiano Panichella
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RachelAnnTenibroAmaz
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Krijn Poppe
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
Escort Service
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
saastr
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
aryanv1753
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
Johnree4
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
KathleenAnnCordero2
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for RA (1ST SEM
Charmi13
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck. .pptx
ogubuikealex
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
Sebastiano Panichella
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
CarrieButtitta
Recently uploaded
(20)
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
THE COUNTRY WHO SOLVED THE WORLD_HOW CHINA LAUNCHED THE CIVILIZATION REVOLUTI...
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
INDIAN GCP GUIDELINE. for Regulatory affair 1st sem CRR
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
RACHEL-ANN M. TENIBRO PRODUCT RESEARCH PRESENTATION
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
SaaStr Workshop Wednesday w/ Kyle Norton, Owner.com
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
PAG-UNLAD NG EKONOMIYA na dapat isaalang alang sa pag-aaral.
Quality by design.. ppt for RA (1ST SEM
Quality by design.. ppt for RA (1ST SEM
Chizaram's Women Tech Makers Deck. .pptx
Chizaram's Women Tech Makers Deck. .pptx
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
Building and Testing Puppet with Docker
1.
Building and Testing
Puppet with Docker Carla Souza
2.
Carla Souza Software
engineer for Reliant Puppet user since 2010 Container virtualization user since 2008
3.
Our environment ~15k
nodes Redboxes Amazon EC2 Instances Virtual machines OpenVZ containers KVM
4.
5.
Code your infrastructure
6.
Code QA
7.
Check your syntax
puppet parse validate puppet-lint yaml syntax checker erb syntax checker
8.
Variable data type
validation validate_absolute_path validate_array validate_augeas validate_bool validate_cmd validate_hash validate_ipv4_address validate_ipv6_address validate_re validate_slength validate_string
9.
Smoke testing #tests/test.pp
class { 'apt': } puppet apply --noop --modulepath=".." tests/test.pp
10.
rspec-puppet https://github.com/puppetlabs/puppetlabs-apt/blob/master/spec/unit/puppet/type/apt_key_spec.rb#L75
11.
beaker
12.
beaker https://github.com/puppetlabs/puppetlabs-apt/blob/master/spec/acceptance/nodesets/default.yml
13.
Code Review
14.
15.
No errors on
the puppet run != Correctly configured
16.
17.
Mimic the production
environment
18.
Image from http://wegeekgirls.files.wordpress.com/2014/04/mystique_x-men_days-of-future-past.png
19.
20.
1. Target node's
hostname 2. Use custom facts* 3. Specify OS 4. Thats all * not required
21.
Step 2: Facts
Write your own custom facts # myserver-facts.txt domain=reliantsecurity.com ipaddress=172.17.42.1 ipaddress_docker0=172.17.42.1 ipaddress_lo=127.0.0.1 ipaddress_wlan0=172.16.3.218 is_virtual=false
22.
Step 2: Facts
Steal facts from an existing node
23.
Step 2: Facts
$ mystique fetch-facts myserver $ mystique fetch-facts --hostname myserver --user carla myserver.company # myserver-facts.txt domain=reliantsecurity.com ipaddress=172.17.42.1 ipaddress_docker0=172.17.42.1 ipaddress_lo=127.0.0.1 ipaddress_wlan0=172.16.3.218 is_virtual=false (...)
24.
Step 3: Specify
OS --os ubuntu14.04 --os debian-wheezy
25.
# mystique run
--os ubuntu14.04 --hostname myserver
26.
# mystique run
--facts /path/to/facts.txt --hostname myserver
27.
Image from http://wegeekgirls.files.wordpress.com/2014/04/mystique_x-men_days-of-future-past.png
28.
FROM tianon/debian:wheezy RUN
apt-get -qq -y install puppet puppetmaster ONBUILD ADD puppet.tar.gz /etc/puppet/
29.
$ ls .
./ ../ .git/ .gitignore files/ templates/ manifests/ modules/ auth.conf autosign.conf fileserver.conf namespaceauth.conf
30.
FROM mystique/debian:latest ADD
myserver-facts.txt /etc/facter/facts.d/ RUN puppet apply --modulepath=/etc/puppet/modules master.pp CMD puppet agent --no-daemonize
31.
# mystique run
--facts /path/to/facts.txt --hostname myserver
32.
# mystique run
--facts /path/to/facts.txt --hostname myserver --verbose
33.
34.
Why using the
existing tools?
35.
What can I
do with all this?
36.
Future steps ●
Mimic existing resources from nodes ● Extend supported OS ● Specify puppet version ● Multiple node testing ○ Linking containers ● User an existing Puppet Master
37.
Thank you! carlasouza@reliantsecurity.com
https://github.com/carlasouza/mystique* Twitter: @carlaas * not yet available
Download now