0bb7577f7e
Zuul-cloner's behavior is to clone the repository into a subdirectory under a directory named for the repo namespace. Git's default behavior is to just clone it directly into the present working directory. This patch adds an argument to the git clone command to clone it into the <namespace>/<repo name> directory, so that whether zuul-cloner or git is used the repo ends up in the same directory relative to the PWD. Change-Id: I543148dd97f7415b1e461b8300cffc5f7f191ecd
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
|