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
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
Chameera Dedduwage
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
Vipesco
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
eCommerce Institute
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Delhi Call girls
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
NikitaBankoti2
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
aqsarehman5055
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
Tatiana Gurgel
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
saastr
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Hasting Chen
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Pooja Nehwal
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
mohammadalnahdi22
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
Senaatti-kiinteistöt
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
samaasim06
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Sheetaleventcompany
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
MoumonDas2
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
Delhi Call girls
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
Pooja Nehwal
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Kayode Fayemi
Recently uploaded
(20)
Introduction to Prompt Engineering (Focusing on ChatGPT)
Introduction to Prompt Engineering (Focusing on ChatGPT)
Thirunelveli call girls Tamil escorts 7877702510
Thirunelveli call girls Tamil escorts 7877702510
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
No Advance 8868886958 Chandigarh Call Girls , Indian Call Girls For Full Nigh...
Mathematics of Finance Presentation.pptx
Mathematics of Finance Presentation.pptx
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
VVIP Call Girls Nalasopara : 9892124323, Call Girls in Nalasopara Services
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
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