According to puppetlabs one should stay with ruby 1.8.7 when running puppet - Puppet FAQ and supported Ruby versions.
Most things work, but the CA and SSL has an issue when running ruby 1.9.x - Mixing and matching ruby versions for puppetmasterd and puppetd causes a "certificate verify failed" error.
The solution is to create a symlink in the ssl certs directory as described here.
Monday, May 14, 2012
Puppetlabs removes dynamic variable scoping
When you run puppet 2.7.12 or higher you will see a warning message, telling you that dynamic variable scope look-up will be removed in puppet 2.8.x.
What to do if you have variables defined in a node definition?
- switch to hiera
- write a mockup
A mockup can be build in the following way:
- write a new module with a define
- use the define and add the proper parameter
Why do you have to do it that ugly way? Is there no way to give the scope of a node definition?
No. Nodes do not have any scope. Scope is limited to modules and classes.
class base_variable ( stage = first, dummyvariable ) {
case $dummyvariable {
'live': { $truevariable = 'live' }
'testing': { $truevariable = 'testing' }
'testing2': { $truevariable = 'testing2' }
}
}
In node definition you can now use the define:
node 'default.server.domain.tld' {
include stages
class { base_variable:
dummyvariable => 'testing2',
}
include base::dev
....
}
Subscribe to:
Posts (Atom)