Hello all,

I've been trying to solve what seems to be a simple problem but have yet to 
find the answer.  

I'm trying to do a comparison between the value of a fact and some 
arbitrary value:

if ($::class == 'workstation') and ($::kernelmajversion <= '3.11') {
    notify {"My Kernel version is <= ${kernel_test_version} and I'm going 
to upgrade" : }

    file { 
"/usr/src/linux-headers-${kernel_test_version}_${kernel_release_test_version}~precise1_all.deb"
 
:
      mode   => '755',
      ensure => 'present',
      source => 
"puppet:///modules/kernel/${kernel_test_version}_${kernel_release_test_version}~precise1_all.deb"
     }
  }
  
  elsif ($::class == 'workstation') and ($::kernelmajversion >= '3.11') {
    notify {"My Kernel version is >= ${kernel_test_version} so I don't need 
to upgrade": }
  }


After invoking a puppet run, I can never get the evaluation of "if" to 
actually take place and as a result, the elsif is invoked and regardless of 
whether or not the kernel version is <= 3.11, the "if" statement is never 
run.  From what I gather, this means that the evaluation of "if" is never 
happening and the resulting elsif is automatically invoked.

I've also seen some errors that pertain to string/float comparisons and to 
my knowledge, facter data is coming back as a string and my version number 
in the "if" statement (3.11) is a float and therefore can't be compared due 
to comparison rules of different data types.

Does anybody have some words of wisdom that may lead me to the correct 
syntax for what I'm trying to achieve?

Thanks in advance to the community for the help.

Cheers,

Mike


-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5f9249a2-1bab-4f7e-84b5-f5fa6afd3ad7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to