+ All Categories
Home > Technology > PuppetConf 2013 Types and Providers

PuppetConf 2013 Types and Providers

Date post: 07-Nov-2014
Category:
Upload: nan-liu
View: 643 times
Download: 1 times
Share this document with a friend
Description:
Puppet Conf 2013 Types and Provider Code: www.github.com/nanliu/puppet-pkg
Popular Tags:
21
Puppet Types and Providers Dan Bode One man comedy routine | BodeCo @ bodepd Nan Liu Outsourced Intern
Transcript
Page 1: PuppetConf 2013 Types and Providers

Puppet Types and Providers Dan Bode One man comedy routine | BodeCo @bodepd

Nan Liu Outsourced Intern

Page 2: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Resource Behavior and Terminology •  Resource Development

– Type – Providers

•  … (Dan’s Secret) •  Profit !!!

Overview

Page 3: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  How it works •  Type •  Providers

Resource

Page 4: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

How it works?

Page 5: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  How to identify a unique resource •  Commands to manage resource

–  Inspect current state – Configure desire state

Prereqs

Page 6: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Title (namevar) – uuids and guids – satisfy unique constraint – composite namevar

•  Attributes – Properties – Parameters

•  Metaparameters

Resource

Page 7: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Have desire state •  Preferably only two

– present/absent –  running/stopped

•  Overloading – version

Ensurable Resource

Page 8: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

service { “sshd”: ensure => ‘running’, enable => true, require => Package[‘ssh’], tag => ‘PuppetConf’, }

Resource Example

Page 9: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

/etc/init.d/sshd start/stop/status/restart service sshd start/stop/status/restart smf ?

Commands

Page 10: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

Type

Page 11: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Type (single) – Describes resources attributes – What you write as Puppet manifests

•  Provider (many) – Query state – Configure resource

Separation of Responsibility

Page 12: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Type •  Namevar

Type

Page 13: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  exists? •  create •  destroy

Ensurable

Page 14: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  exists? •  install •  uninstall

Override ensurable

Page 15: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  install_options •  remove_options •  version

Parameters

Page 16: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  version •  Property vs. Parameter

Problems?

Page 17: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  getter •  setter

Property

Page 18: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Get all instance of resource •  mk_resource_methods

self.instances

Page 19: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  confine •  defaultfor

Provider constraints

Page 20: PuppetConf 2013 Types and Providers

puppetconf.com #puppetconf

•  Not a hard relationship

Autorequire

Page 21: PuppetConf 2013 Types and Providers

Thank You Nan Liu Sr Systems Engineer | VMware @sesshin


Recommended