Hi.
I have the following facts available:
# facter | grep oper
operatingsystem => CentOS
operatingsystemrelease => 6.2
Now, if I wish to use conditionals on these facts, I have to do it like
this:
case $operatingsystem {}
case $::operatingsystemrelease {}
I''m puzzled as to why can''t I just use
$operatingsystemrelease, and what
do these two semicolons mean?
Thank you.
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
Hi Jakov, the two semicolons locate these variables as being in top-scope/variables outside of any specific module. otherwise it might be $modulename::variable Does that help at all? W On Jun 18, 2012, at 8:25 AM, Jakov Sosic wrote:> Hi. > > I have the following facts available: > > # facter | grep oper > operatingsystem => CentOS > operatingsystemrelease => 6.2 > > Now, if I wish to use conditionals on these facts, I have to do it like > this: > > case $operatingsystem {} > case $::operatingsystemrelease {} > > > I''m puzzled as to why can''t I just use $operatingsystemrelease, and what > do these two semicolons mean? > > > Thank you. > > -- > You received this message because you are subscribed to the Google Groups "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en. >________________________________ This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/legal/email_disclaimer/ for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Martin Alfke
2012-Jun-18 16:26 UTC
Re: [Puppet Users] Conditional with variable from facter
Hi, On 18.06.2012, at 17:14, Wolf Noble wrote:> Hi Jakov, > > the two semicolons locate these variables as being in top-scope/variables outside of any specific module.please note that these are colons (:) no semicolons(;).> > otherwise it might be $modulename::variable > > Does that help at all? > > W > > On Jun 18, 2012, at 8:25 AM, Jakov Sosic wrote: > >> Hi. >> >> I have the following facts available: >> >> # facter | grep oper >> operatingsystem => CentOS >> operatingsystemrelease => 6.2 >> >> Now, if I wish to use conditionals on these facts, I have to do it like >> this: >> >> case $operatingsystem {} >> case $::operatingsystemrelease {} >> >> >> I''m puzzled as to why can''t I just use $operatingsystemrelease, and what >> do these two semicolons mean?You could use $::operatingsystem only. But you want to be sure that you also refer to CentOS. I assume you want to net these two case conditionals: case $::operatingsystem { ''CentOS'': ( case $::operatingsystemrelease { ''5.0'': { ... } ''6.2'': { ... } default: { ... } } ''Debian'': { ... } default: { ... } } Also take a look on the documentation: http://docs.puppetlabs.com/guides/language_guide.html#conditionals - Martin -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
D''oh On Jun 18, 2012, at 11:26 AM, Martin Alfke wrote:> Hi, > > On 18.06.2012, at 17:14, Wolf Noble wrote: > >> Hi Jakov, >> >> the two semicolons locate these variables as being in top-scope/variables outside of any specific module. > > please note that these are colons (:) no semicolons(;).I will not respond to lists before coffee I will not respond to lists before coffee I will not respond to lists before coffee ... ________________________________ This message may contain confidential or privileged information. If you are not the intended recipient, please advise us immediately and delete this message. See http://www.datapipe.com/legal/email_disclaimer/ for further information on confidentiality and the risks of non-secure electronic communication. If you cannot access these links, please notify us by reply message and we will send the contents to you. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jakov Sosic
2012-Jun-20 20:22 UTC
Re: [Puppet Users] Conditional with variable from facter
On 06/18/2012 03:25 PM, Jakov Sosic wrote:> Hi. > > I have the following facts available: > > # facter | grep oper > operatingsystem => CentOS > operatingsystemrelease => 6.2 > > Now, if I wish to use conditionals on these facts, I have to do it like > this: > > case $operatingsystem {} > case $::operatingsystemrelease {} > > > I''m puzzled as to why can''t I just use $operatingsystemrelease, and what > do these two semicolons mean?Any ideas?! :) Anyone?!?! -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Ashley Penney
2012-Jun-20 20:43 UTC
Re: [Puppet Users] Conditional with variable from facter
The :: refer to scope, in this case it''s saying "variables at the very top scope of what puppet knows about". This is because you can have: $::operatingsystem $module::class::operatingsystem And it''s not sure which one you mean. By adding the :: you''re making sure it knows to check the fact and not something you might have set in a specific class. On Wed, Jun 20, 2012 at 4:22 PM, Jakov Sosic <jsosic@srce.hr> wrote:> On 06/18/2012 03:25 PM, Jakov Sosic wrote: > > Hi. > > > > I have the following facts available: > > > > # facter | grep oper > > operatingsystem => CentOS > > operatingsystemrelease => 6.2 > > > > Now, if I wish to use conditionals on these facts, I have to do it like > > this: > > > > case $operatingsystem {} > > case $::operatingsystemrelease {} > > > > > > I''m puzzled as to why can''t I just use $operatingsystemrelease, and what > > do these two semicolons mean? > > > Any ideas?! :) Anyone?!?! > > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-users@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
Jeff McCune
2012-Jun-20 20:57 UTC
Re: [Puppet Users] Conditional with variable from facter
On Wed, Jun 20, 2012 at 1:22 PM, Jakov Sosic <jsosic@srce.hr> wrote:> > I''m puzzled as to why can''t I just use $operatingsystemrelease, and what > > do these two semicolons mean? > > > Any ideas?! :) Anyone?!?!http://docs.puppetlabs.com/guides/scope_and_puppet.html -Jeff -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
david.garvey@gmail.com
2012-Jun-20 23:30 UTC
Re: [Puppet Users] Conditional with variable from facter
With in the class I used something like this to get the facts into my
nagios templates:
define host($ip = $::fqdn, $short_alias = $::fqdn, $hostgroup $::product_info,
$product_domain = $::product_domain) {
case $product_info {
/OneProduct/: {
$nagios_cfgdir = "/usr/local/nagios/etc/objects/OneProduct/hosts"
@@file {
"$nagios_cfgdir/${name}.cfg":
ignore => ".svn",
ensure => present,
content => template( "nagios/OneProduct_host.cfg" ),
mode => 644,
owner => nagios,
group => nagios,
tag => ''nagios'',
notify => Service[nagios],
}
}
/YetAnotherProduct/: {
$nagios_cfgdir
"/usr/local/nagios/etc/objects/YetAnotherProduct/hosts"
@@file {
"$nagios_cfgdir/${name}.cfg":
ignore => ".svn",
ensure => present,
content => template(
"nagios/YetAnotherProduct_host.cfg" ),
mode => 644,
owner => nagios,
group => nagios,
tag => ''nagios'',
notify => Service[nagios],
recurse => true,
replace => true,
}
I hope this helps;)
On Wed, Jun 20, 2012 at 1:57 PM, Jeff McCune <jeff@puppetlabs.com> wrote:
> On Wed, Jun 20, 2012 at 1:22 PM, Jakov Sosic <jsosic@srce.hr> wrote:
>
>> > I''m puzzled as to why can''t I just use
$operatingsystemrelease, and what
>> > do these two semicolons mean?
>>
>>
>> Any ideas?! :) Anyone?!?!
>
>
> http://docs.puppetlabs.com/guides/scope_and_puppet.html
>
> -Jeff
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To post to this group, send email to puppet-users@googlegroups.com.
> To unsubscribe from this group, send email to
> puppet-users+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/puppet-users?hl=en.
>
--
David Garvey
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.
david.garvey@gmail.com
2012-Jun-20 23:33 UTC
Re: [Puppet Users] Conditional with variable from facter
I also use some other stuff in my nagios.pp to get puppet facts into
mcollective.
file { "/usr/lib/nagios/.mcollective/etc/facts.yaml":
mode => "0644",
owner => "104",
group => "106",
loglevel => debug,
content => inline_template("<%= scope.to_hash.reject { |k,v|
k.to_s =~
/(uptime_seconds|timestamp|free)/ }.to_yaml %>")
}
On Wed, Jun 20, 2012 at 4:30 PM, david.garvey@gmail.com <
david.garvey@gmail.com> wrote:
> With in the class I used something like this to get the facts into my
> nagios templates:
>
>
> define host($ip = $::fqdn, $short_alias = $::fqdn, $hostgroup >
$::product_info, $product_domain = $::product_domain) {
> case $product_info {
> /OneProduct/: {
> $nagios_cfgdir =
"/usr/local/nagios/etc/objects/OneProduct/hosts"
> @@file {
> "$nagios_cfgdir/${name}.cfg":
> ignore => ".svn",
> ensure => present,
> content => template( "nagios/OneProduct_host.cfg"
),
> mode => 644,
> owner => nagios,
> group => nagios,
> tag => ''nagios'',
> notify => Service[nagios],
> }
> }
> /YetAnotherProduct/: {
> $nagios_cfgdir >
"/usr/local/nagios/etc/objects/YetAnotherProduct/hosts"
> @@file {
> "$nagios_cfgdir/${name}.cfg":
> ignore => ".svn",
> ensure => present,
> content => template(
"nagios/YetAnotherProduct_host.cfg" ),
> mode => 644,
> owner => nagios,
> group => nagios,
> tag => ''nagios'',
> notify => Service[nagios],
> recurse => true,
> replace => true,
> }
>
>
> I hope this helps;)
>
> On Wed, Jun 20, 2012 at 1:57 PM, Jeff McCune <jeff@puppetlabs.com>
wrote:
>
>> On Wed, Jun 20, 2012 at 1:22 PM, Jakov Sosic <jsosic@srce.hr>
wrote:
>>
>>> > I''m puzzled as to why can''t I just use
$operatingsystemrelease, and
>>> what
>>> > do these two semicolons mean?
>>>
>>>
>>> Any ideas?! :) Anyone?!?!
>>
>>
>> http://docs.puppetlabs.com/guides/scope_and_puppet.html
>>
>> -Jeff
>>
>> --
>> You received this message because you are subscribed to the Google
Groups
>> "Puppet Users" group.
>> To post to this group, send email to puppet-users@googlegroups.com.
>> To unsubscribe from this group, send email to
>> puppet-users+unsubscribe@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/puppet-users?hl=en.
>>
>
>
>
> --
> David Garvey
>
--
David Garvey
--
You received this message because you are subscribed to the Google Groups
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to
puppet-users+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/puppet-users?hl=en.