I have run into a problem in using the puppetlabs/ntp module that I was not 
expecting. In calling on puppetlabs-ntp::init in my rspec tests, I am 
getting a failure of ntp::params to find the correct fact for 
operationingsystem, which happens to be RedHat. I've even issued a test to 
see if I could manually set the operatingsystem fact, but alas.

Here is my client_ntp_spec.rb--

require 'spec_helper'

describe "ntp" do
  let(:facts) { { :operatingsystem => "RedHat" } }
  it { should contain_notify("operatingsystem").with_message("RedHat") }
end

describe 'client_ntp', :type => :class do
  describe 'client_ntp' do
    it { should create_class('client_ntp') }
    it { should contain_class('client_ntp::params') }
  end
end

Here are my test results--

$ rake spec
HEAD is now at 564ec4f Merge branch '3.0.x'
HEAD is now at 6a5dee2 Merge pull request #239 from 
kylog/maint/remove-facter-versions-test
/usr/bin/ruby -S rspec spec/classes/client_ntp_spec.rb --color
FFF

Failures:

  1) ntp
     Failure/Error: it { should 
contain_notify("operatingsystem").with_message("RedHat") }
     Puppet::Error:
       The ntp module is not supported on an  based system. at 
/home/user/code/client-appaccelerator/modules/client_ntp/spec/fixtures/modules/ntp/manifests/params.pp:183
 
on node denqca3utdev01.client.org
     # ./spec/classes/client_spec.rb:6

  2) client_ntp client_ntp
     Failure/Error: it { should create_class('client_ntp') }
     Puppet::Error:
       The ntp module is not supported on an  based system. at 
/home/user/code/client-appaccelerator/modules/client_ntp/spec/fixtures/modules/ntp/manifests/params.pp:183
 
on node denqca3utdev01.client.org
     # ./spec/classes/client_ntp_spec.rb:12

  3) client_ntp client_ntp
     Failure/Error: it { should contain_class('client_ntp::params') }
     Puppet::Error:
       The ntp module is not supported on an  based system. at 
/home/user/code/client-appaccelerator/modules/client_ntp/spec/fixtures/modules/ntp/manifests/params.pp:183
 
on node denqca3utdev01.client.org
     # ./spec/classes/client_ntp_spec.rb:13

Finished in 0.46827 seconds
3 examples, 3 failures

Failed examples:

rspec ./spec/classes/client_ntp_spec.rb:6 # ntp
/usr/bin/ruby -S rspec spec/classes/client_ntp_spec.rb --color failed

Based on the error message, I traced the output straight to the 
puppetlabs/ntp::params class, line 183 here--

default: {
      fail("The ${module_name} module is not supported on an ${::osfamily} 
based system.")
    }

It seems that the puppetlabs/ntp module is getting a null value for the 
operatingsystem fact.

I can manually test for the fact at the command line--

$ facter operatingsystem
RedHat

This is RedHat 6.4--

$ lsb_release -a
LSB Version:    
:base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.4 (Santiago)
Release:        6.4
Codename:       Santiago

I'm feeling stumped. Any clues?

Thanks.



-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/79b69beb-b06e-40be-8ea9-3c05886acc8c%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to