20150613 self-puppet v4-avoiding_dragons

garrett honeycutt
garrett honeycuttPuppet Consultant at LearnPuppet.com
Puppet v4
Avoiding Dragons
Garrett Honeycutt
gh@learnpuppet.com
LearnPuppet.com
@learnpuppet
AIO
puppet-agent package from PC1
augeas (1.3.0) ruby (2.1.6)
cfacter (0.4.1) ruby-augeas (0.5.0)
facter (2.4.4) ruby-selinux
(2.0.94)
hiera (2.0.1) ruby-shadow (2.3.3)
marionette-collective (2.8.2) ruby-stomp (1.3.3)
openssl (1.0.0r) rubygem-deep-merge
(1.0.0)
puppet (4.1.0) rubygem-net-ssh (2.1.4)
virt-what (1.1.4)
Bye Bye
Apache+Passenge
r
Hello
JVM+Closure+JRu
by
Ruby 1.8.7
RIP
OSX <= 10.6
(snow leopard)
RIP
Where is
everything?
Mostly under
/opt/puppetlabs
/opt/puppetlabs/bin
Add to $PATH
/opt/puppetlabs/puppet/bin
Private programs for Puppet
such as ruby and gem
configuration is in
/etc/puppetlabs/puppet
$ ls /etc/puppetlabs
code
mcollective
puppet
puppetserver
SSL where!?
/etc/puppetlabs/puppet/ssl
/etc/puppetlabs/code
Hiera configuration
Hiera data
Static modules
Environments
Environments
/etc/puppetlabs/code/environments
Many
type/provider
improvements
Facts are not
all strings
$ facter os --yaml
---
os:
name: CentOS
family: RedHat
release:
major: '7'
minor: '1'
full: 7.1.1503
class foo (
$bar = true,
) {
if is_string($bar) == true {
$bar_real = str2bool($bar)
} else {
$bar_real = $bar
}
validate_bool($bar_real)
}
Templates with
EPP
epp(module/foo.epp)
Language
Iteration with
lambdas
.each is here
$list = ['a','b','c']
each($list) |$index, $value|
{
notice("${index} = ${value}")
}
Notice: Scope(Class[main]): 0 = a
Notice: Scope(Class[main]): 1 = b
Notice: Scope(Class[main]): 2 = c
['a','b','c'].each |$index, $value|
{
notice("${index} = ${value}")
}
Notice: Scope(Class[main]): 0 = a
Notice: Scope(Class[main]): 1 = b
Notice: Scope(Class[main]): 2 = c
Lambdas
.each
.slice
.filter
.map
.reduce
.with
Type casting
class foo (
$bar = true,
) {
if is_string($bar) == true {
$bar_real = str2bool($bar)
} else {
$bar_real = $bar
}
validate_bool($bar_real)
}
class foo (
Boolean $bar = true,
) {
# Remove all this code!
#
# if is_string($bar) == true {
# $bar_real = str2bool($bar)
# } else {
# $bar_real = $bar
# }
# validate_bool($bar_real)
}
String
Integer, Float, and Numeric
Boolean
Array
Hash
Regexp
Undef
Default
Scalar Struct
Collection Optional
Variant Catalogentry
Data Type
Pattern Any
Enum Callable
Tuple
Upgrading
Never upgrade
in place
Create new
puppet
masters
common nscd rsyslog
dnsclient nsswitch selinux
facter ntp ssh
hosts pam
sysklogd
inittab papertrail timezone
localization puppet types
nfs redhat utils
nrpe rpcbind vim
Travis-ci
# spec/spec_helper.rb
RSpec.configure do |config|
config.before :each do
Puppet[:parser] = 'future' if
ENV['PARSER'] == 'future'
end
end
# .travis.yml
env:
matrix:
- PUPPET_GEM_VERSION="~> 3.1"
- PUPPET_GEM_VERSION="~> 3.2"
- PUPPET_GEM_VERSION="~> 3.3"
- PUPPET_GEM_VERSION="~> 3.4"
- PUPPET_GEM_VERSION="~> 3.5"
- PUPPET_GEM_VERSION="~> 3.6"
- PUPPET_GEM_VERSION="~> 3.7"
- PUPPET_GEM_VERSION="~> 3.8"
- PUPPET_GEM_VERSION="~> 3" PARSER="future"
- PUPPET_GEM_VERSION="~> 4.0"
- PUPPET_GEM_VERSION="~> 4.1"
- PUPPET_GEM_VERSION="~> 4"
# .travis.yml
---
language: ruby
rvm:
- 2.1.0
sudo: false
env:
matrix:
- PUPPET_GEM_VERSION="~> 3" PARSER="future"
- PUPPET_GEM_VERSION="~> 4"
script: 'bundle exec metadata-json-lint metadata.json && bundle
exec rake validate && bundle exec rake lint && SPEC_OPTS="--
format documentation" bundle exec rake spec'
matrix:
fast_finish: true
notifications:
email: false
Resource
Overrides
Service ['nfs_service'] {
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
}
Service['nfs_service'] {
ensure => running,
enable => true,
hasstatus => true,
hasrestart => true,
}
type()
Error: Illegal
expression. A
Reserved Word
'type' is
unacceptable as
function name
type3x()
stdlib
puppetlabs/stdlib >= 4.6.0 < 6.0.0
v4.6.0 includes type3x()
validate_absolute_path()
Now accepts arrays :)
Broke my spec tests :(
Error codes changed
slightly
Broke my spec tests :(
expected Puppet::Error with
message matching /^true is
not a string/, got
#<Puppet::Error: Evaluation
Error: Error while
evaluating a Function Call,
true is not a string. It
looks to be a TrueClass
Got rid of '^' in regex so it was not
being as explicit.
Templates
Must have @var instead of just var.
Check inline_template() too.
Stop using
inline_template()
Node
Inheritance
RIP
node common {
include ssh
}
node 'f.example.com' inherits common {
include apache
}
Upgrade Checklist
* setup Travis (or equiv)
* test
* test
* test
Puppet v4
Avoiding Dragons
Garrett Honeycutt
gh@learnpuppet.com
LearnPuppet.com
@learnpuppet
1 of 60

Recommended

Python setup by
Python setupPython setup
Python setupRyo Miyake
1.5K views20 slides
도커 없이 컨테이너 만들기 4편 네트워크네임스페이스 (2) by
도커 없이 컨테이너 만들기 4편 네트워크네임스페이스 (2)도커 없이 컨테이너 만들기 4편 네트워크네임스페이스 (2)
도커 없이 컨테이너 만들기 4편 네트워크네임스페이스 (2)Sam Kim
265 views63 slides
Containers for sysadmins by
Containers for sysadminsContainers for sysadmins
Containers for sysadminsCarlos de Alfonso Laguna
201 views90 slides
Plan 9カーネルにおけるTCP/IP実装(未完) by
Plan 9カーネルにおけるTCP/IP実装(未完)Plan 9カーネルにおけるTCP/IP実装(未完)
Plan 9カーネルにおけるTCP/IP実装(未完)Ryousei Takano
959 views15 slides
Make container without_docker_6-overlay-network_1 by
Make container without_docker_6-overlay-network_1 Make container without_docker_6-overlay-network_1
Make container without_docker_6-overlay-network_1 Sam Kim
238 views70 slides
Pledge in OpenBSD by
Pledge in OpenBSDPledge in OpenBSD
Pledge in OpenBSDGiovanni Bechis
1.2K views18 slides

More Related Content

What's hot

Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову... by
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Ontico
1K views48 slides
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову... by
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Андрей Шорин
908 views48 slides
GoLang & GoatCore by
GoLang & GoatCore GoLang & GoatCore
GoLang & GoatCore Sebastian Pożoga
486 views31 slides
Introduction to Sumatra by
Introduction to SumatraIntroduction to Sumatra
Introduction to SumatraFelix Z. Hoffmann
3.7K views11 slides
Pf: the OpenBSD packet filter by
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filterGiovanni Bechis
1.2K views20 slides
IL: 失われたプロトコル by
IL: 失われたプロトコルIL: 失われたプロトコル
IL: 失われたプロトコルRyousei Takano
1.1K views16 slides

What's hot(20)

Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову... by Ontico
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Ontico1K views
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову... by Андрей Шорин
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Как HeadHunter удалось безопасно нарушить RFC 793 (TCP) и обойти сетевые лову...
Pf: the OpenBSD packet filter by Giovanni Bechis
Pf: the OpenBSD packet filterPf: the OpenBSD packet filter
Pf: the OpenBSD packet filter
Giovanni Bechis1.2K views
IL: 失われたプロトコル by Ryousei Takano
IL: 失われたプロトコルIL: 失われたプロトコル
IL: 失われたプロトコル
Ryousei Takano1.1K views
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템 by Sam Kim
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
도커 없이 컨테이너 만들기 5편 마운트 네임스페이스와 오버레이 파일시스템
Sam Kim229 views
[4] 아두이노와 인터넷 by Chiwon Song
[4] 아두이노와 인터넷[4] 아두이노와 인터넷
[4] 아두이노와 인터넷
Chiwon Song907 views
nouka inventry manager by Toshiaki Baba
nouka inventry managernouka inventry manager
nouka inventry manager
Toshiaki Baba2.3K views
Linux seccomp(2) vs OpenBSD pledge(2) by Giovanni Bechis
Linux seccomp(2) vs OpenBSD pledge(2)Linux seccomp(2) vs OpenBSD pledge(2)
Linux seccomp(2) vs OpenBSD pledge(2)
Giovanni Bechis3.5K views
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】 by Masataka Tsukamoto
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】
LinuxをインストールしてWebサーバーを立ち上げてみよう【OSC2018 Tokyo/Spring】
Masataka Tsukamoto1.2K views
agri inventory - nouka data collector / yaoya data convertor by Toshiaki Baba
agri inventory - nouka data collector / yaoya data convertoragri inventory - nouka data collector / yaoya data convertor
agri inventory - nouka data collector / yaoya data convertor
Toshiaki Baba1.2K views
Spark Day 2017- Spark 의 과거, 현재, 미래 by Moon Soo Lee
Spark Day 2017- Spark 의 과거, 현재, 미래Spark Day 2017- Spark 의 과거, 현재, 미래
Spark Day 2017- Spark 의 과거, 현재, 미래
Moon Soo Lee1.2K views
Erlang/OTP by voluntas
Erlang/OTPErlang/OTP
Erlang/OTP
voluntas849 views
Mongo db tailable cursors by Bill Kunneke
Mongo db tailable cursorsMongo db tailable cursors
Mongo db tailable cursors
Bill Kunneke196 views
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2 by Kentaro Ebisawa
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Quick Start Guide using Virtuozzo 7 (β) on AWS EC2
Kentaro Ebisawa2.2K views
Alexander Reelsen - Seccomp for Developers by DevDay Dresden
Alexander Reelsen - Seccomp for DevelopersAlexander Reelsen - Seccomp for Developers
Alexander Reelsen - Seccomp for Developers
DevDay Dresden116 views

Viewers also liked

Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner) by
Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner) Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner)
Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner) Puppet
776 views25 slides
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013 by
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013RightScale
1.2K views21 slides
DevOps Stories: Getting to Agile - RightScale Compute 2013 by
DevOps Stories: Getting to Agile - RightScale Compute 2013DevOps Stories: Getting to Agile - RightScale Compute 2013
DevOps Stories: Getting to Agile - RightScale Compute 2013RightScale
973 views16 slides
Hacking The Data out of Puppet - PuppetConf '12 by
Hacking The Data out of Puppet - PuppetConf '12Hacking The Data out of Puppet - PuppetConf '12
Hacking The Data out of Puppet - PuppetConf '12Puppet
15.6K views51 slides
PuppetDB, Puppet Explorer and puppetdbquery by
PuppetDB, Puppet Explorer and puppetdbqueryPuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbqueryPuppet
3.6K views13 slides
Network Automation at Shapeways by
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at ShapewaysPuppet
801 views28 slides

Viewers also liked(15)

Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner) by Puppet
Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner) Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner)
Puppet Camp DC 2014: Manage Heterogeneous Systems with Puppet (Beginner)
Puppet776 views
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013 by RightScale
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013
Mastering Puppet Configuration Management in the Cloud - RightScale Compute 2013
RightScale1.2K views
DevOps Stories: Getting to Agile - RightScale Compute 2013 by RightScale
DevOps Stories: Getting to Agile - RightScale Compute 2013DevOps Stories: Getting to Agile - RightScale Compute 2013
DevOps Stories: Getting to Agile - RightScale Compute 2013
RightScale973 views
Hacking The Data out of Puppet - PuppetConf '12 by Puppet
Hacking The Data out of Puppet - PuppetConf '12Hacking The Data out of Puppet - PuppetConf '12
Hacking The Data out of Puppet - PuppetConf '12
Puppet15.6K views
PuppetDB, Puppet Explorer and puppetdbquery by Puppet
PuppetDB, Puppet Explorer and puppetdbqueryPuppetDB, Puppet Explorer and puppetdbquery
PuppetDB, Puppet Explorer and puppetdbquery
Puppet3.6K views
Network Automation at Shapeways by Puppet
Network Automation at ShapewaysNetwork Automation at Shapeways
Network Automation at Shapeways
Puppet801 views
Managing Puppet using MCollective by Puppet
Managing Puppet using MCollectiveManaging Puppet using MCollective
Managing Puppet using MCollective
Puppet66.5K views
Introduction to puppet by Habeeb Rahman
Introduction to puppetIntroduction to puppet
Introduction to puppet
Habeeb Rahman11.6K views
Red Hat Satellite 6 - Automation with Puppet by Michael Lessard
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
Michael Lessard24.5K views
Managing Your Cisco Datacenter Network with Ansible by fmaccioni
Managing Your Cisco Datacenter Network with AnsibleManaging Your Cisco Datacenter Network with Ansible
Managing Your Cisco Datacenter Network with Ansible
fmaccioni6.4K views
Ansible - Swiss Army Knife Orchestration by bcoca
Ansible - Swiss Army Knife OrchestrationAnsible - Swiss Army Knife Orchestration
Ansible - Swiss Army Knife Orchestration
bcoca31.7K views
Ansible tips & tricks by bcoca
Ansible tips & tricksAnsible tips & tricks
Ansible tips & tricks
bcoca24.1K views
Ansible Introduction by Robert Reiz
Ansible Introduction Ansible Introduction
Ansible Introduction
Robert Reiz17.6K views
How Ansible Makes Automation Easy by Peter Sankauskas
How Ansible Makes Automation EasyHow Ansible Makes Automation Easy
How Ansible Makes Automation Easy
Peter Sankauskas12.4K views
Adopting Kubernetes with Puppet by Puppet
Adopting Kubernetes with PuppetAdopting Kubernetes with Puppet
Adopting Kubernetes with Puppet
Puppet1.3K views

Similar to 20150613 self-puppet v4-avoiding_dragons

How to Develop Puppet Modules: From Source to the Forge With Zero Clicks by
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksCarlos Sanchez
1.5K views72 slides
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks by
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow to Develop Puppet Modules: From Source to the Forge With Zero Clicks
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksPuppet
8.8K views72 slides
packaging by
packagingpackaging
packagingEddy Mulyono
783 views52 slides
EC2 by
EC2EC2
EC2Igor Kapkov
401 views26 slides
Puppet by
PuppetPuppet
PuppetŁukasz Jagiełło
1.1K views21 slides
Continuous Delivery: The Next Frontier by
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
1.6K views57 slides

Similar to 20150613 self-puppet v4-avoiding_dragons(20)

How to Develop Puppet Modules: From Source to the Forge With Zero Clicks by Carlos Sanchez
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow 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 Sanchez1.5K views
How to Develop Puppet Modules: From Source to the Forge With Zero Clicks by Puppet
How to Develop Puppet Modules: From Source to the Forge With Zero ClicksHow 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
Puppet8.8K views
Continuous Delivery: The Next Frontier by Carlos Sanchez
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
Carlos Sanchez1.6K views
Linuxday.at - Lightning Talk by Jan Gehring
Linuxday.at - Lightning TalkLinuxday.at - Lightning Talk
Linuxday.at - Lightning Talk
Jan Gehring1.2K views
How CPAN Testers helped me improve my module by acme
How CPAN Testers helped me improve my moduleHow CPAN Testers helped me improve my module
How CPAN Testers helped me improve my module
acme3.4K views
Error Control in Multimedia Communications using Wireless Sensor Networks report by Muragesh Kabbinakantimath
Error Control in Multimedia Communications using Wireless Sensor Networks reportError Control in Multimedia Communications using Wireless Sensor Networks report
Error Control in Multimedia Communications using Wireless Sensor Networks report
What's new in Perl 5.10? by acme
What's new in Perl 5.10?What's new in Perl 5.10?
What's new in Perl 5.10?
acme3.6K views
Package Management via Spack on SJTU π Supercomputer by Jianwen Wei
Package Management via Spack on SJTU π SupercomputerPackage Management via Spack on SJTU π Supercomputer
Package Management via Spack on SJTU π Supercomputer
Jianwen Wei896 views
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving... by Puppet
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
The Puppet Debugging Kit: Building Blocks for Exploration and Problem Solving...
Puppet1.7K views
RabbitMQ by voluntas
RabbitMQRabbitMQ
RabbitMQ
voluntas1.7K views
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A... by Puppet
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
PuppetConf 2017: Use Puppet to Tame the Dockerfile Monster- Bryan Belanger, A...
Puppet253 views
Intro to pl/PHP Oscon2007 by Robert Treat
Intro to pl/PHP Oscon2007Intro to pl/PHP Oscon2007
Intro to pl/PHP Oscon2007
Robert Treat3.5K views
Linux Network commands by Hanan Nmr
Linux Network commandsLinux Network commands
Linux Network commands
Hanan Nmr3.2K views

More from garrett honeycutt

20180823 - Sensu + Puppet by
20180823 - Sensu + Puppet20180823 - Sensu + Puppet
20180823 - Sensu + Puppetgarrett honeycutt
229 views38 slides
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017... by
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...garrett honeycutt
238 views78 slides
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0... by
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...garrett honeycutt
702 views68 slides
(2016-06-11) Packer: Make Multi-Platform Images by
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Imagesgarrett honeycutt
493 views53 slides
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con... by
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...garrett honeycutt
994 views57 slides
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14 by
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14garrett honeycutt
872 views51 slides

More from garrett honeycutt(17)

Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017... by garrett honeycutt
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
Continuous Deployment Pipeline for Systems - Presented at Ohio LinuxFest 2017...
garrett honeycutt238 views
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0... by garrett honeycutt
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
Continuous Deployment Pipeline for Systems at Cascadia IT Conference - 2017-0...
garrett honeycutt702 views
(2016-06-11) Packer: Make Multi-Platform Images by garrett honeycutt
(2016-06-11) Packer: Make Multi-Platform Images(2016-06-11) Packer: Make Multi-Platform Images
(2016-06-11) Packer: Make Multi-Platform Images
garrett honeycutt493 views
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con... by garrett honeycutt
20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...20150314  - Functional Testing for Configuration Management @ Cascadia IT Con...
20150314 - Functional Testing for Configuration Management @ Cascadia IT Con...
garrett honeycutt994 views
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14 by garrett honeycutt
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA142014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
2014-11-14 - Why Test Driven Development (TDD) Works for Sysadmins @ LISA14
garrett honeycutt872 views
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle by garrett honeycutt
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
2014-11-11 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Seattle
garrett honeycutt1.6K views
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago by garrett honeycutt
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
2014-08-19 Multiple Approaches to Managing Puppet Modules @ Puppet Camp Chicago
garrett honeycutt1.2K views
20140406 loa days-tdd-with_puppet_tutorial by garrett honeycutt
20140406 loa days-tdd-with_puppet_tutorial20140406 loa days-tdd-with_puppet_tutorial
20140406 loa days-tdd-with_puppet_tutorial
garrett honeycutt1.4K views
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07 by garrett honeycutt
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
TDD with Puppet Tutorial presented at Cascadia IT Conference 2014-03-07
garrett honeycutt868 views
20120331 - Expanded Intro to Puppet for LOAD by garrett honeycutt
20120331 - Expanded Intro to Puppet for LOAD20120331 - Expanded Intro to Puppet for LOAD
20120331 - Expanded Intro to Puppet for LOAD
garrett honeycutt1.5K views
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem... by garrett honeycutt
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
garrett honeycutt5.6K views
20110611 expanded intro-to_puppet_for_self by garrett honeycutt
20110611 expanded intro-to_puppet_for_self20110611 expanded intro-to_puppet_for_self
20110611 expanded intro-to_puppet_for_self
garrett honeycutt378 views
20100425 Configuration Management With Puppet Lfnw by garrett honeycutt
20100425 Configuration Management With Puppet Lfnw20100425 Configuration Management With Puppet Lfnw
20100425 Configuration Management With Puppet Lfnw
Fighting Spam With A Perimeter Mail System 20071108 Sasag by garrett honeycutt
Fighting Spam With A Perimeter Mail System 20071108 SasagFighting Spam With A Perimeter Mail System 20071108 Sasag
Fighting Spam With A Perimeter Mail System 20071108 Sasag
garrett honeycutt564 views

Recently uploaded

Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Tsuyoshi Horigome
33 views16 slides
Effect of deep chemical mixing columns on properties of surrounding soft clay... by
Effect of deep chemical mixing columns on properties of surrounding soft clay...Effect of deep chemical mixing columns on properties of surrounding soft clay...
Effect of deep chemical mixing columns on properties of surrounding soft clay...AltinKaradagli
9 views10 slides
fakenews_DBDA_Mar23.pptx by
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptxdeepmitra8
15 views34 slides
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ... by
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...AltinKaradagli
12 views16 slides
DESIGN OF SPRINGS-UNIT4.pptx by
DESIGN OF SPRINGS-UNIT4.pptxDESIGN OF SPRINGS-UNIT4.pptx
DESIGN OF SPRINGS-UNIT4.pptxgopinathcreddy
19 views47 slides

Recently uploaded(20)

Update 42 models(Diode/General ) in SPICE PARK(DEC2023) by Tsuyoshi Horigome
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Update 42 models(Diode/General ) in SPICE PARK(DEC2023)
Effect of deep chemical mixing columns on properties of surrounding soft clay... by AltinKaradagli
Effect of deep chemical mixing columns on properties of surrounding soft clay...Effect of deep chemical mixing columns on properties of surrounding soft clay...
Effect of deep chemical mixing columns on properties of surrounding soft clay...
AltinKaradagli9 views
fakenews_DBDA_Mar23.pptx by deepmitra8
fakenews_DBDA_Mar23.pptxfakenews_DBDA_Mar23.pptx
fakenews_DBDA_Mar23.pptx
deepmitra815 views
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ... by AltinKaradagli
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
Investigation of Physicochemical Changes of Soft Clay around Deep Geopolymer ...
AltinKaradagli12 views
Introduction to CAD-CAM.pptx by suyogpatil49
Introduction to CAD-CAM.pptxIntroduction to CAD-CAM.pptx
Introduction to CAD-CAM.pptx
suyogpatil495 views
GDSC Mikroskil Members Onboarding 2023.pdf by gdscmikroskil
GDSC Mikroskil Members Onboarding 2023.pdfGDSC Mikroskil Members Onboarding 2023.pdf
GDSC Mikroskil Members Onboarding 2023.pdf
gdscmikroskil53 views
MSA Website Slideshow (16).pdf by msaucla
MSA Website Slideshow (16).pdfMSA Website Slideshow (16).pdf
MSA Website Slideshow (16).pdf
msaucla76 views
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx by lwang78
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
2023Dec ASU Wang NETR Group Research Focus and Facility Overview.pptx
lwang7883 views
Generative AI Models & Their Applications by SN
Generative AI Models & Their ApplicationsGenerative AI Models & Their Applications
Generative AI Models & Their Applications
SN8 views
DevOps-ITverse-2023-IIT-DU.pptx by Anowar Hossain
DevOps-ITverse-2023-IIT-DU.pptxDevOps-ITverse-2023-IIT-DU.pptx
DevOps-ITverse-2023-IIT-DU.pptx
Anowar Hossain12 views
Design_Discover_Develop_Campaign.pptx by ShivanshSeth6
Design_Discover_Develop_Campaign.pptxDesign_Discover_Develop_Campaign.pptx
Design_Discover_Develop_Campaign.pptx
ShivanshSeth632 views
SUMIT SQL PROJECT SUPERSTORE 1.pptx by Sumit Jadhav
SUMIT SQL PROJECT SUPERSTORE 1.pptxSUMIT SQL PROJECT SUPERSTORE 1.pptx
SUMIT SQL PROJECT SUPERSTORE 1.pptx
Sumit Jadhav 15 views

20150613 self-puppet v4-avoiding_dragons