cucumber-chef 2.0.7 → 2.1.0.rc.0
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/README.md +1 -1
- data/Rakefile +1 -1
- data/bin/cc-knife +2 -5
- data/bin/cc-push +50 -26
- data/bin/cc-server +9 -10
- data/bin/cucumber-chef +65 -71
- data/chef_repo/cookbooks/cucumber-chef/attributes/default.rb +1 -1
- data/chef_repo/cookbooks/cucumber-chef/recipes/default.rb +1 -1
- data/chef_repo/cookbooks/cucumber-chef/recipes/lxc.rb +34 -36
- data/chef_repo/cookbooks/cucumber-chef/recipes/test_lab.rb +64 -47
- data/chef_repo/cookbooks/cucumber-chef/templates/default/solrconfig.erb +650 -0
- data/cucumber-chef.gemspec +5 -5
- data/lib/cucumber/chef/bootstrap.rb +10 -10
- data/lib/cucumber/chef/config.rb +15 -15
- data/lib/cucumber/chef/helpers/chef_client.rb +88 -14
- data/lib/cucumber/chef/helpers/chef_server.rb +39 -16
- data/lib/cucumber/chef/helpers/command.rb +28 -12
- data/lib/cucumber/chef/helpers/container.rb +29 -26
- data/lib/cucumber/chef/helpers/minitest.rb +1 -1
- data/lib/cucumber/chef/helpers/server.rb +37 -18
- data/lib/cucumber/chef/helpers/test_lab.rb +1 -1
- data/lib/cucumber/chef/helpers/utility.rb +23 -3
- data/lib/cucumber/chef/helpers.rb +10 -8
- data/lib/cucumber/chef/provisioner.rb +22 -21
- data/lib/cucumber/chef/steps/chef_steps.rb +1 -1
- data/lib/cucumber/chef/steps/minitest_steps.rb +3 -3
- data/lib/cucumber/chef/steps/provision_steps.rb +7 -6
- data/lib/cucumber/chef/steps/ssh_steps.rb +31 -2
- data/lib/cucumber/chef/steps.rb +1 -1
- data/lib/cucumber/chef/templates/cucumber/cc-hooks.rb +111 -0
- data/lib/cucumber/chef/templates/cucumber/env.rb +0 -87
- data/lib/cucumber/chef/templates/cucumber/readme-environments.erb +1 -0
- data/lib/cucumber/chef/templates/cucumber/readme-roles.erb +1 -1
- data/lib/cucumber/chef/templates/cucumber-chef/config-rb.erb +5 -0
- data/lib/cucumber/chef/test_lab.rb +70 -23
- data/lib/cucumber/chef/utility.rb +121 -31
- data/lib/cucumber/chef/version.rb +2 -2
- data/lib/cucumber/chef.rb +1 -1
- data/lib/cucumber-chef.rb +1 -1
- data/spec/cucumber/chef/config_spec.rb +1 -1
- data/spec/cucumber/chef/provisioner_spec.rb +1 -1
- data/spec/cucumber/chef/test_lab_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +8 -5
@@ -0,0 +1 @@
|
|
1
|
+
Create supporting environment definitions here.
|
@@ -1 +1 @@
|
|
1
|
-
Create supporting
|
1
|
+
Create supporting role definitions here.
|
@@ -5,6 +5,11 @@
|
|
5
5
|
provider :aws
|
6
6
|
librarian_chef <%= @librarian_chef %>
|
7
7
|
|
8
|
+
artifacts ({ "chef-client-log" => "/var/log/chef/client.log",
|
9
|
+
"chef-client-stacktrace" => "/var/chef/cache/chef-stacktrace.out" })
|
10
|
+
|
11
|
+
lxc_user "root"
|
12
|
+
lab_user "ubuntu"
|
8
13
|
|
9
14
|
################################################################################
|
10
15
|
# Provider: AWS
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -48,6 +48,53 @@ module Cucumber
|
|
48
48
|
ensure_security_group
|
49
49
|
end
|
50
50
|
|
51
|
+
################################################################################
|
52
|
+
|
53
|
+
def ssh
|
54
|
+
if (!defined?(@ssh) || @ssh.nil?)
|
55
|
+
ssh_private_key_file = Cucumber::Chef.locate(:file, ".cucumber-chef", "id_rsa-#{Cucumber::Chef::Config[:lab_user]}")
|
56
|
+
File.chmod(0400, ssh_private_key_file)
|
57
|
+
@ssh ||= ZTK::SSH.new
|
58
|
+
|
59
|
+
@ssh.config.host_name = self.labs_running.first.public_ip_address
|
60
|
+
@ssh.config.user = Cucumber::Chef::Config[:lab_user]
|
61
|
+
@ssh.config.keys = ssh_private_key_file
|
62
|
+
end
|
63
|
+
@ssh
|
64
|
+
end
|
65
|
+
|
66
|
+
################################################################################
|
67
|
+
|
68
|
+
def proxy_ssh(container)
|
69
|
+
container = container.to_sym
|
70
|
+
@proxy_ssh ||= Hash.new
|
71
|
+
if (!defined?(@proxy_ssh[container]) || @proxy_ssh[container].nil?)
|
72
|
+
ssh_private_key_file = Cucumber::Chef.locate(:file, ".cucumber-chef", "id_rsa-#{Cucumber::Chef::Config[:lab_user]}")
|
73
|
+
File.chmod(0400, ssh_private_key_file)
|
74
|
+
@proxy_ssh[container] ||= ZTK::SSH.new
|
75
|
+
|
76
|
+
@proxy_ssh[container].config.proxy_host_name = self.labs_running.first.public_ip_address
|
77
|
+
@proxy_ssh[container].config.proxy_user = Cucumber::Chef::Config[:lab_user]
|
78
|
+
@proxy_ssh[container].config.proxy_keys = ssh_private_key_file
|
79
|
+
|
80
|
+
@proxy_ssh[container].config.host_name = container
|
81
|
+
@proxy_ssh[container].config.user = Cucumber::Chef::Config[:lxc_user]
|
82
|
+
@proxy_ssh[container].config.keys = ssh_private_key_file
|
83
|
+
end
|
84
|
+
@proxy_ssh[container]
|
85
|
+
end
|
86
|
+
|
87
|
+
################################################################################
|
88
|
+
|
89
|
+
def drb
|
90
|
+
if (!defined?(@drb) || @drb.nil?)
|
91
|
+
@drb ||= DRbObject.new_with_uri("druby://#{self.labs_running.first.public_ip_address}:8787")
|
92
|
+
@drb and DRb.start_service
|
93
|
+
@drb.servers = Hash.new(nil)
|
94
|
+
end
|
95
|
+
@drb
|
96
|
+
end
|
97
|
+
|
51
98
|
################################################################################
|
52
99
|
|
53
100
|
def create
|
@@ -85,7 +132,7 @@ module Cucumber
|
|
85
132
|
if @server
|
86
133
|
@stdout.print("Waiting for SSHD...")
|
87
134
|
Cucumber::Chef.spinner do
|
88
|
-
ZTK::TCPSocketCheck.new(:host => @server.public_ip_address, :port => 22).wait
|
135
|
+
ZTK::TCPSocketCheck.new(:host => @server.public_ip_address, :port => 22, :wait => 120).wait
|
89
136
|
end
|
90
137
|
@stdout.puts("done.\n")
|
91
138
|
end
|
@@ -93,8 +140,8 @@ module Cucumber
|
|
93
140
|
@server
|
94
141
|
|
95
142
|
rescue Exception => e
|
96
|
-
|
97
|
-
|
143
|
+
Cucumber::Chef.logger.fatal { e.message }
|
144
|
+
Cucumber::Chef.logger.fatal { "Backtrace:\n#{e.backtrace.join("\n")}" }
|
98
145
|
raise TestLabError, e.message
|
99
146
|
end
|
100
147
|
|
@@ -112,8 +159,8 @@ module Cucumber
|
|
112
159
|
end
|
113
160
|
|
114
161
|
rescue Exception => e
|
115
|
-
|
116
|
-
|
162
|
+
Cucumber::Chef.logger.fatal { e.message }
|
163
|
+
Cucumber::Chef.logger.fatal { e.backtrace.join("\n") }
|
117
164
|
raise TestLabError, e.message
|
118
165
|
end
|
119
166
|
|
@@ -131,7 +178,7 @@ module Cucumber
|
|
131
178
|
|
132
179
|
@stdout.print("Waiting for SSHD...")
|
133
180
|
Cucumber::Chef.spinner do
|
134
|
-
ZTK::TCPSocketCheck.new(:host => @server.public_ip_address, :port => 22).wait
|
181
|
+
ZTK::TCPSocketCheck.new(:host => @server.public_ip_address, :port => 22, :wait => 120).wait
|
135
182
|
end
|
136
183
|
@stdout.puts("done.\n")
|
137
184
|
|
@@ -146,8 +193,8 @@ module Cucumber
|
|
146
193
|
end
|
147
194
|
|
148
195
|
rescue Exception => e
|
149
|
-
|
150
|
-
|
196
|
+
Cucumber::Chef.logger.fatal { e.message }
|
197
|
+
Cucumber::Chef.logger.fatal { e.backtrace.join("\n") }
|
151
198
|
raise TestLabError, e.message
|
152
199
|
end
|
153
200
|
|
@@ -164,8 +211,8 @@ module Cucumber
|
|
164
211
|
end
|
165
212
|
|
166
213
|
rescue Exception => e
|
167
|
-
|
168
|
-
|
214
|
+
Cucumber::Chef.logger.fatal { e.message }
|
215
|
+
Cucumber::Chef.logger.fatal { e.backtrace.join("\n") }
|
169
216
|
raise TestLabError, e.message
|
170
217
|
end
|
171
218
|
|
@@ -222,8 +269,8 @@ module Cucumber
|
|
222
269
|
end
|
223
270
|
|
224
271
|
rescue Exception => e
|
225
|
-
|
226
|
-
|
272
|
+
Cucumber::Chef.logger.fatal { e.message }
|
273
|
+
Cucumber::Chef.logger.fatal { e.backtrace.join("\n") }
|
227
274
|
raise TestLabError, e.message
|
228
275
|
end
|
229
276
|
|
@@ -237,13 +284,13 @@ module Cucumber
|
|
237
284
|
|
238
285
|
def labs
|
239
286
|
results = @connection.servers.select do |server|
|
240
|
-
|
287
|
+
Cucumber::Chef.logger.debug("candidate") { "ID=#{server.id}, state='#{server.state}'" }
|
241
288
|
( server.tags['cucumber-chef-mode'] == Cucumber::Chef::Config[:mode].to_s &&
|
242
289
|
server.tags['cucumber-chef-user'] == Cucumber::Chef::Config[:user].to_s &&
|
243
290
|
VALID_STATES.any?{ |state| state == server.state } )
|
244
291
|
end
|
245
292
|
results.each do |server|
|
246
|
-
|
293
|
+
Cucumber::Chef.logger.debug("results") { "ID=#{server.id}, state='#{server.state}'" }
|
247
294
|
end
|
248
295
|
results
|
249
296
|
end
|
@@ -252,13 +299,13 @@ module Cucumber
|
|
252
299
|
|
253
300
|
def labs_running
|
254
301
|
results = @connection.servers.select do |server|
|
255
|
-
|
302
|
+
Cucumber::Chef.logger.debug("candidate") { "ID=#{server.id}, state='#{server.state}'" }
|
256
303
|
( server.tags['cucumber-chef-mode'] == Cucumber::Chef::Config[:mode].to_s &&
|
257
304
|
server.tags['cucumber-chef-user'] == Cucumber::Chef::Config[:user].to_s &&
|
258
305
|
RUNNING_STATES.any?{ |state| state == server.state } )
|
259
306
|
end
|
260
307
|
results.each do |server|
|
261
|
-
|
308
|
+
Cucumber::Chef.logger.debug("results") { "ID=#{server.id}, state='#{server.state}'" }
|
262
309
|
end
|
263
310
|
results
|
264
311
|
end
|
@@ -267,13 +314,13 @@ module Cucumber
|
|
267
314
|
|
268
315
|
def labs_shutdown
|
269
316
|
results = @connection.servers.select do |server|
|
270
|
-
|
317
|
+
Cucumber::Chef.logger.debug("candidate") { "ID=#{server.id}, state='#{server.state}'" }
|
271
318
|
( server.tags['cucumber-chef-mode'] == Cucumber::Chef::Config[:mode].to_s &&
|
272
319
|
server.tags['cucumber-chef-user'] == Cucumber::Chef::Config[:user].to_s &&
|
273
320
|
SHUTDOWN_STATES.any?{ |state| state == server.state } )
|
274
321
|
end
|
275
322
|
results.each do |server|
|
276
|
-
|
323
|
+
Cucumber::Chef.logger.debug("results") { "ID=#{server.id}, state='#{server.state}'" }
|
277
324
|
end
|
278
325
|
results
|
279
326
|
end
|
@@ -281,17 +328,17 @@ module Cucumber
|
|
281
328
|
################################################################################
|
282
329
|
|
283
330
|
def nodes
|
284
|
-
Cucumber::Chef.
|
331
|
+
Cucumber::Chef.load_knife
|
285
332
|
query = "tags:#{Cucumber::Chef::Config[:mode]} AND tags:#{Cucumber::Chef::Config[:user]}"
|
286
|
-
|
333
|
+
Cucumber::Chef.logger.debug { "query(#{query})" }
|
287
334
|
nodes, offset, total = ::Chef::Search::Query.new.search("node", URI.escape(query))
|
288
335
|
nodes.compact
|
289
336
|
end
|
290
337
|
|
291
338
|
def clients
|
292
|
-
Cucumber::Chef.
|
339
|
+
Cucumber::Chef.load_knife
|
293
340
|
query = "tags:#{Cucumber::Chef::Config[:mode]} AND tags:#{Cucumber::Chef::Config[:user]}"
|
294
|
-
|
341
|
+
Cucumber::Chef.logger.debug { "query(#{query})" }
|
295
342
|
clients, offset, total = ::Chef::Search::Query.new.search("client", URI.escape(query))
|
296
343
|
clients.compact
|
297
344
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -32,55 +32,29 @@ module Cucumber
|
|
32
32
|
((Cucumber::Chef::VERSION =~ /rc/) || (Cucumber::Chef::VERSION =~ /pre/))
|
33
33
|
end
|
34
34
|
|
35
|
-
################################################################################
|
36
|
-
|
37
|
-
def root
|
38
|
-
File.expand_path(File.join(File.dirname(__FILE__), "..", "..", ".."), File.dirname(__FILE__))
|
39
|
-
end
|
40
|
-
|
41
|
-
################################################################################
|
42
|
-
|
43
|
-
def load_knife_config
|
44
|
-
$logger.debug { "attempting to load cucumber-chef test lab 'knife.rb'" }
|
45
|
-
|
46
|
-
knife_rb = Cucumber::Chef.locate(:file, ".cucumber-chef", "knife.rb")
|
47
|
-
::Chef::Config.from_file(knife_rb)
|
48
|
-
|
49
|
-
$logger.debug { "load_knife_config(#{knife_rb})" }
|
50
|
-
end
|
51
|
-
|
52
35
|
################################################################################
|
53
36
|
|
54
37
|
def locate(type, *args)
|
55
38
|
pwd = Dir.pwd.split(File::SEPARATOR)
|
56
|
-
$logger.debug { "pwd='#{Dir.pwd}'" } if $logger
|
57
39
|
(pwd.length - 1).downto(0) do |i|
|
58
40
|
candidate = File.join(pwd[0..i], args)
|
59
|
-
$logger.debug { "candidate='#{candidate}'" } if $logger
|
60
41
|
case type
|
61
42
|
when :file
|
62
43
|
if (File.exists?(candidate) && !File.directory?(candidate))
|
63
|
-
|
64
|
-
$logger.debug { "result='#{result}'" } if $logger
|
65
|
-
return result
|
44
|
+
return File.expand_path(candidate)
|
66
45
|
end
|
67
46
|
when :directory
|
68
47
|
if (File.exists?(candidate) && File.directory?(candidate))
|
69
|
-
|
70
|
-
$logger.debug { "result='#{result}'" } if $logger
|
71
|
-
return result
|
48
|
+
return File.expand_path(candidate)
|
72
49
|
end
|
73
50
|
when :any
|
74
51
|
if File.exists?(candidate)
|
75
|
-
|
76
|
-
$logger.debug { "result='#{result}'" } if $logger
|
77
|
-
return result
|
52
|
+
return File.expand_path(candidate)
|
78
53
|
end
|
79
54
|
end
|
80
55
|
end
|
81
56
|
|
82
57
|
message = "Could not locate #{type} '#{File.join(args)}'."
|
83
|
-
$logger.fatal { message } if $logger
|
84
58
|
raise UtilityError, message
|
85
59
|
end
|
86
60
|
|
@@ -115,7 +89,7 @@ module Cucumber
|
|
115
89
|
################################################################################
|
116
90
|
|
117
91
|
def generate_do_not_edit_warning(message=nil)
|
118
|
-
warning =
|
92
|
+
warning = Array.new
|
119
93
|
warning << "#"
|
120
94
|
warning << "# WARNING: Automatically generated file; DO NOT EDIT!"
|
121
95
|
warning << [ "# Cucumber-Chef v#{Cucumber::Chef::VERSION}", message ].compact.join(" ")
|
@@ -130,6 +104,14 @@ module Cucumber
|
|
130
104
|
%x( wget -q -O - checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//' ).chomp
|
131
105
|
end
|
132
106
|
|
107
|
+
################################################################################
|
108
|
+
|
109
|
+
def root
|
110
|
+
File.expand_path(File.join(File.dirname(__FILE__), "..", "..", ".."), File.dirname(__FILE__))
|
111
|
+
end
|
112
|
+
|
113
|
+
################################################################################
|
114
|
+
|
133
115
|
def log_file
|
134
116
|
config_path = File.join(Cucumber::Chef.locate_parent(".chef"), ".cucumber-chef")
|
135
117
|
FileUtils.mkdir_p(config_path)
|
@@ -138,6 +120,114 @@ module Cucumber
|
|
138
120
|
|
139
121
|
################################################################################
|
140
122
|
|
123
|
+
def knife_rb
|
124
|
+
config_path = File.join(Cucumber::Chef.locate_parent(".chef"), ".cucumber-chef")
|
125
|
+
FileUtils.mkdir_p(config_path)
|
126
|
+
File.join(config_path, "knife.rb")
|
127
|
+
end
|
128
|
+
|
129
|
+
################################################################################
|
130
|
+
|
131
|
+
def config_rb
|
132
|
+
config_path = File.join(Cucumber::Chef.locate_parent(".chef"), ".cucumber-chef")
|
133
|
+
FileUtils.mkdir_p(config_path)
|
134
|
+
File.join(config_path, "config.rb")
|
135
|
+
end
|
136
|
+
|
137
|
+
################################################################################
|
138
|
+
|
139
|
+
def servers_bin
|
140
|
+
config_path = File.join(Cucumber::Chef.locate_parent(".chef"), ".cucumber-chef")
|
141
|
+
FileUtils.mkdir_p(config_path)
|
142
|
+
File.join(config_path, "servers.bin")
|
143
|
+
end
|
144
|
+
|
145
|
+
################################################################################
|
146
|
+
|
147
|
+
def chef_repo
|
148
|
+
(Cucumber::Chef.locate_parent(".chef") rescue nil)
|
149
|
+
end
|
150
|
+
|
151
|
+
################################################################################
|
152
|
+
|
153
|
+
def in_chef_repo?
|
154
|
+
((chef_repo && File.exists?(chef_repo) && File.directory?(chef_repo)) ? true : false)
|
155
|
+
end
|
156
|
+
|
157
|
+
def tag(name=nil)
|
158
|
+
[ name, "v#{Cucumber::Chef::VERSION}" ].compact.join(" ")
|
159
|
+
end
|
160
|
+
|
161
|
+
################################################################################
|
162
|
+
|
163
|
+
def load_config(name=nil)
|
164
|
+
if !in_chef_repo?
|
165
|
+
message = "It does not look like you are inside a chef-repo! Please relocate to one and execute your command again!"
|
166
|
+
logger.fatal { message }
|
167
|
+
raise message
|
168
|
+
end
|
169
|
+
name and logger.info { "loading #{name}" }
|
170
|
+
logger.info { "load_config(#{Cucumber::Chef.config_rb})" }
|
171
|
+
Cucumber::Chef::Config.load
|
172
|
+
load_knife
|
173
|
+
end
|
174
|
+
|
175
|
+
################################################################################
|
176
|
+
|
177
|
+
def load_knife
|
178
|
+
test_lab = (Cucumber::Chef::TestLab.new rescue nil)
|
179
|
+
if (test_lab && (test_lab.labs_running.count > 0))
|
180
|
+
if File.exists?(Cucumber::Chef.knife_rb)
|
181
|
+
logger.info { "load_knife(#{Cucumber::Chef.knife_rb})" }
|
182
|
+
::Chef::Config.from_file(Cucumber::Chef.knife_rb)
|
183
|
+
|
184
|
+
chef_server_url = "http://#{test_lab.labs_running.first.public_ip_address}:4000"
|
185
|
+
logger.info { "chef_server_url(#{chef_server_url})" }
|
186
|
+
::Chef::Config[:chef_server_url] = chef_server_url
|
187
|
+
else
|
188
|
+
logger.warn { "We found the test lab; but the knife config '#{Cucumber::Chef.knife_rb}' was missing!" }
|
189
|
+
end
|
190
|
+
else
|
191
|
+
logger.info { "load_knife(#{Cucumber::Chef.knife_rb})" }
|
192
|
+
::Chef::Config.from_file(Cucumber::Chef.knife_rb)
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
################################################################################
|
197
|
+
|
198
|
+
def logger
|
199
|
+
if (!defined?($logger) || $logger.nil?)
|
200
|
+
$logger = ZTK::Logger.new(Cucumber::Chef.log_file)
|
201
|
+
Cucumber::Chef.is_rc? and ($logger.level = ZTK::Logger::DEBUG)
|
202
|
+
|
203
|
+
headers = {
|
204
|
+
"program" => $0.to_s,
|
205
|
+
"version" => Cucumber::Chef::VERSION,
|
206
|
+
"uname" => %x(uname -a).chomp.strip,
|
207
|
+
"chef_repo" => chef_repo,
|
208
|
+
"chef_version" => ::Chef::VERSION,
|
209
|
+
"log_file" => log_file,
|
210
|
+
"knife_rb" => knife_rb,
|
211
|
+
"config_rb" => config_rb,
|
212
|
+
"servers_bin" => servers_bin,
|
213
|
+
"ruby_version" => RUBY_VERSION,
|
214
|
+
"ruby_patchlevel" => RUBY_PATCHLEVEL,
|
215
|
+
"ruby_platform" => RUBY_PLATFORM
|
216
|
+
}
|
217
|
+
if RUBY_VERSION >= "1.9"
|
218
|
+
headers.merge!("ruby_engine" => RUBY_ENGINE)
|
219
|
+
end
|
220
|
+
max_key_length = headers.keys.collect{ |key| key.to_s.length }.max
|
221
|
+
|
222
|
+
$logger.info { ("=" * 80) }
|
223
|
+
headers.sort.each do |key, value|
|
224
|
+
$logger.info { "%#{max_key_length}s: %s" % [ key.upcase, value.to_s ] }
|
225
|
+
end
|
226
|
+
end
|
227
|
+
|
228
|
+
$logger
|
229
|
+
end
|
230
|
+
|
141
231
|
end
|
142
232
|
|
143
233
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -24,7 +24,7 @@ module Cucumber
|
|
24
24
|
|
25
25
|
################################################################################
|
26
26
|
|
27
|
-
VERSION = "2.0.
|
27
|
+
VERSION = "2.1.0.rc.0" unless const_defined?(:VERSION)
|
28
28
|
|
29
29
|
################################################################################
|
30
30
|
|
data/lib/cucumber/chef.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
data/lib/cucumber-chef.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
data/spec/spec_helper.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Author: Stephen Nelson-Smith <stephen@atalanta-systems.com>
|
4
4
|
# Author: Zachary Patten <zachary@jovelabs.com>
|
5
|
-
# Copyright: Copyright (c) 2011-
|
5
|
+
# Copyright: Copyright (c) 2011-2013 Atalanta Systems Ltd
|
6
6
|
# License: Apache License, Version 2.0
|
7
7
|
#
|
8
8
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber-chef
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0.rc.0
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Stephen Nelson-Smith
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2013-01-21 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: chef
|
@@ -147,7 +147,7 @@ dependencies:
|
|
147
147
|
requirements:
|
148
148
|
- - ! '>='
|
149
149
|
- !ruby/object:Gem::Version
|
150
|
-
version:
|
150
|
+
version: 0.0.15
|
151
151
|
type: :runtime
|
152
152
|
prerelease: false
|
153
153
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -155,7 +155,7 @@ dependencies:
|
|
155
155
|
requirements:
|
156
156
|
- - ! '>='
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version:
|
158
|
+
version: 0.0.15
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: simplecov
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|
@@ -263,6 +263,7 @@ files:
|
|
263
263
|
- chef_repo/cookbooks/cucumber-chef/templates/default/lxc-install-chef.erb
|
264
264
|
- chef_repo/cookbooks/cucumber-chef/templates/default/motd.erb
|
265
265
|
- chef_repo/cookbooks/cucumber-chef/templates/default/named-conf-local.erb
|
266
|
+
- chef_repo/cookbooks/cucumber-chef/templates/default/solrconfig.erb
|
266
267
|
- chef_repo/cookbooks/cucumber-chef/templates/default/ssh-config.erb
|
267
268
|
- chef_repo/roles/test_lab.rb
|
268
269
|
- cucumber-chef.gemspec
|
@@ -301,10 +302,12 @@ files:
|
|
301
302
|
- lib/cucumber/chef/templates/cucumber-chef/config-rb.erb
|
302
303
|
- lib/cucumber/chef/templates/cucumber-chef/cucumber-yml.erb
|
303
304
|
- lib/cucumber/chef/templates/cucumber-chef/knife-rb.erb
|
305
|
+
- lib/cucumber/chef/templates/cucumber/cc-hooks.rb
|
304
306
|
- lib/cucumber/chef/templates/cucumber/env.rb
|
305
307
|
- lib/cucumber/chef/templates/cucumber/example_feature.erb
|
306
308
|
- lib/cucumber/chef/templates/cucumber/example_steps.erb
|
307
309
|
- lib/cucumber/chef/templates/cucumber/readme-data_bags.erb
|
310
|
+
- lib/cucumber/chef/templates/cucumber/readme-environments.erb
|
308
311
|
- lib/cucumber/chef/templates/cucumber/readme-keys.erb
|
309
312
|
- lib/cucumber/chef/templates/cucumber/readme-roles.erb
|
310
313
|
- lib/cucumber/chef/templates/cucumber/readme.erb
|