e879bb6070
This patch is the initial modulesync run, it impacts: * gitignore: just a sync between projects * gemfile: - update and allow to setup facter version and gem source - split beaker gems with a dedicated group - switch to rspec-puppet 2.2.0 * rakefile: - use the new syntax for lint configuration - add a acceptance target * acceptance: - sync nodesets - update tests in order to use zuul-cloner * spec: added rspec coverage report Change-Id: Iadefbe2cc0525224e9917c6712712c67ce1e0fff
57 lines
1.8 KiB
Ruby
57 lines
1.8 KiB
Ruby
require 'beaker-rspec'
|
|
require 'beaker/puppet_install_helper'
|
|
|
|
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
|
|
|
|
# Configure all nodes in nodeset
|
|
c.before :suite do
|
|
# Install module and dependencies
|
|
hosts.each do |host|
|
|
|
|
# install git
|
|
install_package host, 'git'
|
|
|
|
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 the module being tested
|
|
on host, "rm -fr /etc/puppet/modules/#{modname}"
|
|
puppet_module_install(:source => proj_root, :module_name => modname)
|
|
|
|
on host, "rm -fr #{repo}"
|
|
|
|
# List modules installed to help with debugging
|
|
on host, puppet('module','list'), { :acceptable_exit_codes => 0 }
|
|
end
|
|
end
|
|
end
|