diff modules/concat/spec/spec_helper_acceptance.rb @ 36:37675581a273 puppet-3.6

Update Puppet module for Apache (pulls in concat module)
author IBBoard <dev@ibboard.co.uk>
date Sat, 14 Mar 2015 20:07:04 +0000
parents 956e484adc12
children d9352a684e62
line wrap: on
line diff
--- a/modules/concat/spec/spec_helper_acceptance.rb	Sat Mar 14 20:01:17 2015 +0000
+++ b/modules/concat/spec/spec_helper_acceptance.rb	Sat Mar 14 20:07:04 2015 +0000
@@ -1,14 +1,37 @@
 require 'beaker-rspec/spec_helper'
 require 'beaker-rspec/helpers/serverspec'
+require 'acceptance/specinfra_stubs'
 
 unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
-  if hosts.first.is_pe?
-    install_pe
+  # This will install the latest available package on el and deb based
+  # systems fail on windows and osx, and install via gem on other *nixes
+  foss_opts = {:default_action => 'gem_install'}
+
+  if default.is_pe?; then
+    install_pe;
   else
-    install_puppet
+    install_puppet(foss_opts);
   end
+
   hosts.each do |host|
     on hosts, "mkdir -p #{host['distmoduledir']}"
+    if host['platform'] =~ /sles-1/i || host['platform'] =~ /solaris-1/i
+      get_stdlib = <<-EOS
+      package{'wget':}
+      exec{'download':
+        command => "wget -P /root/ https://forgeapi.puppetlabs.com/v3/files/puppetlabs-stdlib-4.5.1.tar.gz --no-check-certificate",
+        path    => ['/opt/csw/bin/','/usr/bin/']
+      }
+      EOS
+      apply_manifest_on(host, get_stdlib)
+      # have to use force otherwise it checks ssl cert even though it is a local file
+      on host, puppet('module install /root/puppetlabs-stdlib-4.5.1.tar.gz --force --ignore-dependencies'), {:acceptable_exit_codes => [0, 1]}
+    elsif host['platform'] =~ /windows/i
+      on host, shell('curl -k -o c:/puppetlabs-stdlib-4.5.1.tar.gz https://forgeapi.puppetlabs.com/v3/files/puppetlabs-stdlib-4.5.1.tar.gz')
+      on host, puppet('module install c:/puppetlabs-stdlib-4.5.1.tar.gz --force --ignore-dependencies'), {:acceptable_exit_codes => [0, 1]}
+    else
+      on host, puppet('module install puppetlabs-stdlib'), {:acceptable_exit_codes => [0, 1]}
+    end
   end
 end
 
@@ -21,10 +44,8 @@
 
   # Configure all nodes in nodeset
   c.before :suite do
-    # Install module and dependencies
-    puppet_module_install(:source => proj_root, :module_name => 'concat')
     hosts.each do |host|
-      on host, puppet('module','install','puppetlabs-stdlib'), { :acceptable_exit_codes => [0,1] }
+      copy_module_to(host, :source => proj_root, :module_name => 'concat')
     end
   end
 
@@ -37,3 +58,4 @@
 
   c.treat_symbols_as_metadata_keys_with_true_values = true
 end
+