]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - 3rdparty/modules/keystone/spec/spec_helper_acceptance.rb
Update to Kilo
[dsa-puppet.git] / 3rdparty / modules / keystone / spec / spec_helper_acceptance.rb
index 2c2634ad019a118169a44260e19f8a221dfd652b..429e807c4282ee1d558caaab53feb75fc10ad492 100644 (file)
@@ -6,6 +6,7 @@ run_puppet_install_helper
 RSpec.configure do |c|
   # Project root
   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
+  modname = JSON.parse(open('metadata.json').read)['name'].split('-')[1]
 
   # Readable test descriptions
   c.formatter = :documentation
@@ -18,25 +19,38 @@ RSpec.configure do |c|
       # install git
       install_package host, 'git'
 
-      # clean out any module cruft
-      shell('rm -fr /etc/puppet/modules/*')
+      zuul_ref = ENV['ZUUL_REF']
+      zuul_branch = ENV['ZUUL_BRANCH']
+      zuul_url = ENV['ZUUL_URL']
+
+      repo = 'openstack/puppet-openstack-integration'
+
+      # Start out with clean moduledir, don't trust r10k to purge it
+      on host, "rm -rf /etc/puppet/modules/*"
+      # Install dependent modules via git or zuul
+      r = on host, "test -e /usr/zuul-env/bin/zuul-cloner", { :acceptable_exit_codes => [0,1] }
+      if r.exit_code == 0
+        zuul_clone_cmd = '/usr/zuul-env/bin/zuul-cloner '
+        zuul_clone_cmd += '--cache-dir /opt/git '
+        zuul_clone_cmd += "--zuul-ref #{zuul_ref} "
+        zuul_clone_cmd += "--zuul-branch #{zuul_branch} "
+        zuul_clone_cmd += "--zuul-url #{zuul_url} "
+        zuul_clone_cmd += "git://git.openstack.org #{repo}"
+        on host, zuul_clone_cmd
+      else
+        on host, "git clone https://git.openstack.org/#{repo} #{repo}"
+      end
+
+      on host, "ZUUL_REF=#{zuul_ref} ZUUL_BRANCH=#{zuul_branch} ZUUL_URL=#{zuul_url} bash #{repo}/install_modules.sh"
 
-      # install library modules from the forge
-      on host, puppet('module','install','puppetlabs-mysql'), { :acceptable_exit_codes => 0 }
-      on host, puppet('module','install','dprince/qpid'), { :acceptable_exit_codes => 0 }
-      on host, puppet('module','install','duritong/sysctl'), { :acceptable_exit_codes => 0 }
-      on host, puppet('module','install','puppetlabs-inifile'), { :acceptable_exit_codes => 0 }
-      on host, puppet('module','install','puppetlabs-rabbitmq'), { :acceptable_exit_codes => 0 }
-      on host, puppet('module','install','puppetlabs-apache'), { :acceptable_exit_codes => 0 }
+      # Install the module being tested
+      on host, "rm -fr /etc/puppet/modules/#{modname}"
+      puppet_module_install(:source => proj_root, :module_name => modname)
 
-      # install puppet modules from git, use master
-      shell('git clone https://git.openstack.org/openstack/puppet-openstacklib /etc/puppet/modules/openstacklib')
-      shell('git clone https://git.openstack.org/openstack/puppet-openstack_extras /etc/puppet/modules/openstack_extras')
+      on host, "rm -fr #{repo}"
 
-      # Install the module being tested
-      puppet_module_install(:source => proj_root, :module_name => 'keystone')
       # List modules installed to help with debugging
-      on hosts[0], puppet('module','list'), { :acceptable_exit_codes => 0 }
+      on host, puppet('module','list'), { :acceptable_exit_codes => 0 }
     end
   end
 end