1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
test_name "Installing Puppet and vcsrepo module" do
step 'install puppet' do
if @options[:provision]
# This will fail if puppet is already installed, ie --no-provision
if hosts.first.is_pe?
install_pe
else
install_puppet
on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
end
end
end
step 'Ensure we can install our module' do
hosts.each do |host|
# We ask the host to interpolate it's distmoduledir because we don't
# actually know it on Windows until we've let it redirect us (depending
# on whether we're running as a 32/64 bit process on 32/64 bit Windows
moduledir = on(host, "echo #{host['distmoduledir']}").stdout.chomp
on host, "mkdir -p #{moduledir}"
end
end
step 'install module' do
hosts.each do |host|
proj_root = File.expand_path(File.join(File.dirname(__FILE__),'..','..'))
# This require beaker 1.15
copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
case fact_on(host, 'osfamily')
when 'RedHat'
install_package(host, 'git')
when 'Debian'
install_package(host, 'git-core')
else
if !check_for_package(host, 'git')
puts "Git package is required for this module"
exit
end
end
gitconfig = <<-EOS
[user]
email = root@localhost
name = root
EOS
create_remote_file(host, "/root/.gitconfig", gitconfig)
end
end
end
|