gosen 0.1.3 → 0.1.4
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/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/gosen/deployment.rb +2 -2
- data/lib/gosen/deployment_run.rb +3 -3
- data/test/gosen/test_deployment.rb +12 -1
- metadata +4 -4
data/Rakefile
CHANGED
@@ -6,7 +6,7 @@ begin
|
|
6
6
|
Jeweler::Tasks.new do |gem|
|
7
7
|
gem.name = "gosen"
|
8
8
|
gem.summary = %Q{A Ruby library for the Grid'5000 RESTful API}
|
9
|
-
gem.description = %Q{Gosen is a Ruby library providing high-level operations using the Grid'5000 RESTful API, such as Kadeploy deployments}
|
9
|
+
gem.description = %Q{Gosen is a Ruby library providing high-level operations using the Grid'5000 RESTful API, such as Kadeploy deployments.}
|
10
10
|
gem.email = "priteau@gmail.com"
|
11
11
|
gem.homepage = "http://github.com/priteau/gosen"
|
12
12
|
gem.authors = ["Pierre Riteau"]
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.4
|
data/lib/gosen/deployment.rb
CHANGED
@@ -23,10 +23,10 @@ module Gosen
|
|
23
23
|
@api_options = {}
|
24
24
|
@logger = options.delete(:logger) || NullLogger.new
|
25
25
|
|
26
|
-
@min_deployed_nodes = options
|
26
|
+
@min_deployed_nodes = options.delete(:min_deployed_nodes) || 1
|
27
27
|
raise Gosen::Error if @min_deployed_nodes > @nodes.length || @min_deployed_nodes < 0
|
28
28
|
|
29
|
-
@max_deploy_runs = options
|
29
|
+
@max_deploy_runs = options.delete(:max_deploy_runs) || 1
|
30
30
|
raise Gosen::Error if @max_deploy_runs < 1
|
31
31
|
|
32
32
|
if options[:ssh_public_key]
|
data/lib/gosen/deployment_run.rb
CHANGED
@@ -16,10 +16,10 @@ module Gosen
|
|
16
16
|
@nodes = nodes
|
17
17
|
@good_nodes = []
|
18
18
|
@bad_nodes = Array.new(@nodes)
|
19
|
-
@api_options =
|
19
|
+
@api_options = options
|
20
20
|
|
21
|
-
if
|
22
|
-
@api_options[:key] = @ssh_public_key =
|
21
|
+
if @api_options[:ssh_public_key]
|
22
|
+
@api_options[:key] = @ssh_public_key = @api_options.delete(:ssh_public_key)
|
23
23
|
end
|
24
24
|
submit_deployment
|
25
25
|
end
|
@@ -129,7 +129,7 @@ class TestDeployment < Test::Unit::TestCase
|
|
129
129
|
@site_deployments.expects(:submit).with({ :environment => @environment, :nodes => @nodes }).returns(@deployment_resource)
|
130
130
|
@min_deployed_nodes = 2
|
131
131
|
@logger.expects(:info).with("Kadeploy run 1 with #{@nodes.length} nodes (0 already deployed, need #{@min_deployed_nodes} more)")
|
132
|
-
|
132
|
+
@logger.expects(:info).with("Nodes deployed: paramount-1.rennes.grid5000.fr paramount-2.rennes.grid5000.fr")
|
133
133
|
@logger.expects(:info).with("Had to run 1 kadeploy runs, deployed #{@deployment_result.length} nodes")
|
134
134
|
|
135
135
|
@deployment = Gosen::Deployment.new(@site, @environment, @nodes, { :logger => @logger, :min_deployed_nodes => @min_deployed_nodes })
|
@@ -152,6 +152,17 @@ class TestDeployment < Test::Unit::TestCase
|
|
152
152
|
}
|
153
153
|
end
|
154
154
|
|
155
|
+
should 'pass extra API options to the deployment resource' do
|
156
|
+
@deployment_result = {
|
157
|
+
'paramount-1.rennes.grid5000.fr' => { 'state' => 'OK' },
|
158
|
+
'paramount-2.rennes.grid5000.fr' => { 'state' => 'OK' }
|
159
|
+
}
|
160
|
+
@deployment_resource.expects(:[]).with('result').returns(@deployment_result)
|
161
|
+
@site_deployments.expects(:submit).with({ :environment => @environment, :nodes => @nodes, :reformat_tmp => 'ext3' }).returns(@deployment_resource)
|
162
|
+
@deployment = Gosen::Deployment.new(@site, @environment, @nodes, { :reformat_tmp => 'ext3' })
|
163
|
+
@deployment.join
|
164
|
+
end
|
165
|
+
|
155
166
|
should 'submit new deployment runs when needed' do
|
156
167
|
@ssh_public_key = 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvwM1XBJCIMtAyQlweE7BVRtvgyKdwGTeYCI4AFlsTtti4y0Ipe5Hsygx3p7S0BHFiJsVZWDANMRwZ4tcjp8YnjnMkG2yp1jB1qgUf34t/MmEQL0KkoOk8tIIb28o7nTFYKO15mXJm9yBVS1JY8ozEfnA7s5hkrdnvM6h9Jv6VScp8C1XTKmpEy3sWOeUlmCkYftYSr1fLM/7qk9S2TnljA/CGiK9dq2mhJMjnDtulVrdpc1hbh+0oCzL6m2BfXX3v4q1ORml8o04oFeEYDN5qzZneL+FzK+YfJIidvsjZ9ziVTv+7Oy5ms4wvoKiUGNapP0v/meXXBU1KvFRof3VZQ== priteau@parallelogram.local'
|
157
168
|
@deployment_resource1 = mock()
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Pierre Riteau
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-10-20 00:00:00 +02:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -62,7 +62,7 @@ dependencies:
|
|
62
62
|
version: 2.10.2
|
63
63
|
type: :development
|
64
64
|
version_requirements: *id003
|
65
|
-
description: Gosen is a Ruby library providing high-level operations using the Grid'5000 RESTful API, such as Kadeploy deployments
|
65
|
+
description: Gosen is a Ruby library providing high-level operations using the Grid'5000 RESTful API, such as Kadeploy deployments.
|
66
66
|
email: priteau@gmail.com
|
67
67
|
executables: []
|
68
68
|
|