23
Puppet v3 and Hiera LOAD 2013-04-07 Antwerpen, BE Garrett Honeycutt Automation Consultant @ GH Solutions, LLC [email protected] http://linkedin.com/in/garretthoneycutt

20130407 load puppevtv3-and_hiera

Embed Size (px)

Citation preview

Page 1: 20130407 load puppevtv3-and_hiera

Puppet v3 and Hiera

LOAD2013-04-07

Antwerpen, BE

Garrett HoneycuttAutomation Consultant @ GH Solutions, LLC

[email protected]://linkedin.com/in/garretthoneycutt

Page 2: 20130407 load puppevtv3-and_hiera

# whoami

...not a graphic designer

Page 3: 20130407 load puppevtv3-and_hiera

What’s new in v3?

it looks different

Page 4: 20130407 load puppevtv3-and_hiera

What’s new in v3?

Ruby 1.9.3 fully supported

Page 5: 20130407 load puppevtv3-and_hiera

What’s new in v3?

Better support for Windows and

Solaris

Page 6: 20130407 load puppevtv3-and_hiera

What’s new in v3?

puppet kick warns about deprecation

Page 7: 20130407 load puppevtv3-and_hiera

What’s new in v3?

Speed

Page 8: 20130407 load puppevtv3-and_hiera

What’s new in v3?

Adrien Thebohttp://somethingsinistral.net/blog/the-angry-guide-to-puppet-3/

Page 9: 20130407 load puppevtv3-and_hiera

What’s new in v3?

dynamic scoping

Page 10: 20130407 load puppevtv3-and_hiera

What’s new in v3?

dynamic scopingGone!

Page 11: 20130407 load puppevtv3-and_hiera

scopinginclude dynamic

class dynamic { $var = ‘from dynamic’ include included}

class included { notify { $var: } # deprecated notify { $dynamic::var: } # correct}

Page 12: 20130407 load puppevtv3-and_hiera

What’s new in v3?

looking up your data

Page 13: 20130407 load puppevtv3-and_hiera

data lookup precedence

# class defaultsclass foo ( attribute = ‘module_default’,) { ...}

Page 14: 20130407 load puppevtv3-and_hiera

data lookup precedence

# passing a value with# parameterized classesclass { ‘foo’: attribute => ‘param_data’,}

Page 15: 20130407 load puppevtv3-and_hiera

data lookup precedence

# Hiera# <whatever>.yaml

foo::attribute: “no data in code”

Page 16: 20130407 load puppevtv3-and_hiera

Hiera

Wait.. What’s Hiera?

aka

demo time

Page 17: 20130407 load puppevtv3-and_hiera

Style

Why declaring parameterized classes is evil

Page 18: 20130407 load puppevtv3-and_hiera

data in code :(

class { ‘common’: root_password => ‘mypass’,}

Page 19: 20130407 load puppevtv3-and_hiera

Style

Why defining parameterized classes is awesome

Page 20: 20130407 load puppevtv3-and_hiera

sane defaults :)

class common ( root_password = ‘puppet’,) { ...}

Page 21: 20130407 load puppevtv3-and_hiera

Style

Why defining parameterized classes is really awesome

Page 22: 20130407 load puppevtv3-and_hiera

data lookups in Hiera

common::root_password: mysecret

Page 23: 20130407 load puppevtv3-and_hiera

Puppet v3 and Hiera

LOAD2013-04-07

Antwerpen, BE

Garrett HoneycuttAutomation Consultant @ GH Solutions, LLC

[email protected]://linkedin.com/in/garretthoneycutt