Difference between revisions of "Facterhandson"
From Gridkaschool
(17 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
## you want to create /etc/facter/facts.d/owner |
## you want to create /etc/facter/facts.d/owner |
||
## use a puppet file resource, or try using $modulepath/facts.d/owner |
## use a puppet file resource, or try using $modulepath/facts.d/owner |
||
+ | # Add a file "/etc/role" with choice of value of "web", "data", or "compute" |
||
+ | ## use a puppet file resource to create the file |
||
+ | # Write a custom fact or code external fact to produce "role" fact |
||
+ | ## One way of doing the custom fact, which should live in $modulepath/lib/facter/role.rb: |
||
+ | |||
+ | require 'facter' |
||
+ | Facter.add("role") do |
||
+ | setcode do |
||
+ | %x{cat /etc/role}.chomp |
||
+ | end |
||
+ | end |
||
+ | |||
+ | Using the facts |
||
+ | # facter -p |
||
+ | # Use the facts as variables to populate motd |
||
+ | # Remember that facts are top-scope, so you will want $::role and $::owner |
Latest revision as of 10:34, 4 September 2014
- Create an external fact with key "owner" with value of your name, or your team
- tips:
- you want to create /etc/facter/facts.d/owner
- use a puppet file resource, or try using $modulepath/facts.d/owner
- Add a file "/etc/role" with choice of value of "web", "data", or "compute"
- use a puppet file resource to create the file
- Write a custom fact or code external fact to produce "role" fact
- One way of doing the custom fact, which should live in $modulepath/lib/facter/role.rb:
require 'facter' Facter.add("role") do setcode do %x{cat /etc/role}.chomp end end
Using the facts
- facter -p
- Use the facts as variables to populate motd
- Remember that facts are top-scope, so you will want $::role and $::owner