rspec-system-puppet 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/rspec-system-puppet/helpers.rb +57 -0
- data/rspec-system-puppet.gemspec +1 -1
- data/spec/system/basic_spec.rb +9 -0
- metadata +4 -4
@@ -42,6 +42,63 @@ module RSpecSystemPuppet::Helpers
|
|
42
42
|
# Prep modules dir
|
43
43
|
log.info("Preparing modules dir")
|
44
44
|
system_run('mkdir -p /etc/puppet/modules')
|
45
|
+
|
46
|
+
pp = <<-EOS
|
47
|
+
host { 'puppet':
|
48
|
+
ip => '127.0.0.1',
|
49
|
+
}
|
50
|
+
EOS
|
51
|
+
puppet_apply(pp)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Basic helper to install a puppet master
|
55
|
+
#
|
56
|
+
# @param opts [Hash] a hash of opts
|
57
|
+
def puppet_master_install
|
58
|
+
# Defaults etc.
|
59
|
+
opts = {
|
60
|
+
:node => rspec_system_node_set.default_node,
|
61
|
+
}
|
62
|
+
|
63
|
+
node = opts[:node]
|
64
|
+
|
65
|
+
# Grab facts from node
|
66
|
+
facts = system_node(:node => node).facts
|
67
|
+
|
68
|
+
if facts['osfamily'] == 'RedHat'
|
69
|
+
system_run(:n => node, :c => 'yum install -y puppet-server')
|
70
|
+
if facts['operatingsystemrelease'] =~ /^5\./
|
71
|
+
system_run(:n => node, :c => '/etc/init.d/puppetmaster start')
|
72
|
+
else
|
73
|
+
system_run(:n => node, :c => 'service puppetmaster start')
|
74
|
+
end
|
75
|
+
elsif facts['osfamily'] == 'Debian'
|
76
|
+
system_run(:n => node, :c => 'apt-get install -y puppetmaster')
|
77
|
+
system_run(:n => node, :c => 'service puppetmaster start')
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
# Run puppet agent
|
82
|
+
#
|
83
|
+
# @param opts [Hash] a hash of opts
|
84
|
+
# @return [Hash] a hash of results
|
85
|
+
# @yield [result] yields result when called as a block
|
86
|
+
# @yieldparam result [Hash] a hash containing :exit_code, :stdout and :stderr
|
87
|
+
def puppet_agent
|
88
|
+
# Defaults etc.
|
89
|
+
opts = {
|
90
|
+
:node => rspec_system_node_set.default_node,
|
91
|
+
}
|
92
|
+
|
93
|
+
node = opts[:node]
|
94
|
+
|
95
|
+
result = system_run(:n => node, :c => 'puppet agent -t --detailed-exitcodes')
|
96
|
+
|
97
|
+
if block_given?
|
98
|
+
yield(result)
|
99
|
+
else
|
100
|
+
result
|
101
|
+
end
|
45
102
|
end
|
46
103
|
|
47
104
|
# Helper to copy a module onto a node from source
|
data/rspec-system-puppet.gemspec
CHANGED
data/spec/system/basic_spec.rb
CHANGED
@@ -5,6 +5,15 @@ describe "basic tests:" do
|
|
5
5
|
puppet_install()
|
6
6
|
end
|
7
7
|
|
8
|
+
it 'check master install works' do
|
9
|
+
puppet_master_install()
|
10
|
+
|
11
|
+
puppet_agent do |r|
|
12
|
+
r[:stderr].should == ''
|
13
|
+
r[:exit_code].should == 0
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
8
17
|
it 'facter domain should return something valid' do
|
9
18
|
system_run("facter domain") do |r|
|
10
19
|
r[:stdout].should =~ /[a-z]+/
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-system-puppet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 2
|
10
|
+
version: 0.3.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ken Barber
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-04-
|
18
|
+
date: 2013-04-15 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: rspec-system
|