gosen 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +0 -10
- data/VERSION +1 -1
- data/lib/gosen/deployment_run.rb +2 -1
- data/test/gosen/test_deployment_run.rb +23 -0
- metadata +9 -16
data/Rakefile
CHANGED
@@ -13,7 +13,6 @@ begin
|
|
13
13
|
gem.add_dependency "restfully", ">= 0.5.1"
|
14
14
|
gem.add_development_dependency "mocha", ">= 0.9.8"
|
15
15
|
gem.add_development_dependency "shoulda", ">= 2.10.2"
|
16
|
-
gem.add_development_dependency "yard", ">= 0"
|
17
16
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
18
17
|
end
|
19
18
|
Jeweler::GemcutterTasks.new
|
@@ -44,12 +43,3 @@ end
|
|
44
43
|
task :test => :check_dependencies
|
45
44
|
|
46
45
|
task :default => :test
|
47
|
-
|
48
|
-
begin
|
49
|
-
require 'yard'
|
50
|
-
YARD::Rake::YardocTask.new
|
51
|
-
rescue LoadError
|
52
|
-
task :yardoc do
|
53
|
-
abort "YARD is not available. In order to run yardoc, you must: sudo gem install yard"
|
54
|
-
end
|
55
|
-
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
data/lib/gosen/deployment_run.rb
CHANGED
@@ -25,7 +25,7 @@ module Gosen
|
|
25
25
|
end
|
26
26
|
|
27
27
|
def terminated?
|
28
|
-
@deployment_resource['status']
|
28
|
+
@deployment_resource['status'] != 'processing'
|
29
29
|
end
|
30
30
|
|
31
31
|
def good_nodes
|
@@ -57,6 +57,7 @@ module Gosen
|
|
57
57
|
Kernel.sleep(Gosen::DeploymentRun::POLLING_TIME)
|
58
58
|
@deployment_resource.reload
|
59
59
|
end
|
60
|
+
raise Gosen::Error if @deployment_resource['status'] == 'error'
|
60
61
|
end
|
61
62
|
|
62
63
|
def update_nodes
|
@@ -89,4 +89,27 @@ class TestDeploymentRun < Test::Unit::TestCase
|
|
89
89
|
assert_equal([], @deployment.bad_nodes)
|
90
90
|
end
|
91
91
|
end
|
92
|
+
|
93
|
+
context 'A failed deployment run instance' do
|
94
|
+
setup do
|
95
|
+
@ssh_public_key = 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAvwM1XBJCIMtAyQlweE7BVRtvgyKdwGTeYCI4AFlsTtti4y0Ipe5Hsygx3p7S0BHFiJsVZWDANMRwZ4tcjp8YnjnMkG2yp1jB1qgUf34t/MmEQL0KkoOk8tIIb28o7nTFYKO15mXJm9yBVS1JY8ozEfnA7s5hkrdnvM6h9Jv6VScp8C1XTKmpEy3sWOeUlmCkYftYSr1fLM/7qk9S2TnljA/CGiK9dq2mhJMjnDtulVrdpc1hbh+0oCzL6m2BfXX3v4q1ORml8o04oFeEYDN5qzZneL+FzK+YfJIidvsjZ9ziVTv+7Oy5ms4wvoKiUGNapP0v/meXXBU1KvFRof3VZQ== priteau@parallelogram.local'
|
96
|
+
@resource = mock()
|
97
|
+
@resource.stubs(:[]).with('status').returns('processing', 'processing', 'error')
|
98
|
+
@resource.expects(:reload).twice
|
99
|
+
Kernel.expects(:sleep).with(Gosen::DeploymentRun::POLLING_TIME).twice
|
100
|
+
|
101
|
+
@environment = 'lenny-x64-base'
|
102
|
+
@nodes = [ 'paramount-1.rennes.grid5000.fr' ]
|
103
|
+
@deployments = mock()
|
104
|
+
@deployments.expects(:submit).with({ :environment => @environment, :nodes => @nodes, :key => @ssh_public_key}).returns(@resource)
|
105
|
+
@site = stub(:deployments => @deployments)
|
106
|
+
@deployment = Gosen::DeploymentRun.new(@site, @environment, @nodes, { :ssh_public_key => @ssh_public_key })
|
107
|
+
end
|
108
|
+
|
109
|
+
should 'raise an exception' do
|
110
|
+
assert_raise(Gosen::Error) {
|
111
|
+
@deployment.join
|
112
|
+
}
|
113
|
+
end
|
114
|
+
end
|
92
115
|
end
|
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
|
+
- 3
|
9
|
+
version: 0.1.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Pierre Riteau
|
@@ -14,13 +14,14 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-07-29 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: restfully
|
22
22
|
prerelease: false
|
23
23
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
|
+
none: false
|
24
25
|
requirements:
|
25
26
|
- - ">="
|
26
27
|
- !ruby/object:Gem::Version
|
@@ -35,6 +36,7 @@ dependencies:
|
|
35
36
|
name: mocha
|
36
37
|
prerelease: false
|
37
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
38
40
|
requirements:
|
39
41
|
- - ">="
|
40
42
|
- !ruby/object:Gem::Version
|
@@ -49,6 +51,7 @@ dependencies:
|
|
49
51
|
name: shoulda
|
50
52
|
prerelease: false
|
51
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
54
|
+
none: false
|
52
55
|
requirements:
|
53
56
|
- - ">="
|
54
57
|
- !ruby/object:Gem::Version
|
@@ -59,18 +62,6 @@ dependencies:
|
|
59
62
|
version: 2.10.2
|
60
63
|
type: :development
|
61
64
|
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: yard
|
64
|
-
prerelease: false
|
65
|
-
requirement: &id004 !ruby/object:Gem::Requirement
|
66
|
-
requirements:
|
67
|
-
- - ">="
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
segments:
|
70
|
-
- 0
|
71
|
-
version: "0"
|
72
|
-
type: :development
|
73
|
-
version_requirements: *id004
|
74
65
|
description: Gosen is a Ruby library providing high-level operations using the Grid'5000 RESTful API, such as Kadeploy deployments
|
75
66
|
email: priteau@gmail.com
|
76
67
|
executables: []
|
@@ -105,6 +96,7 @@ rdoc_options:
|
|
105
96
|
require_paths:
|
106
97
|
- lib
|
107
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
108
100
|
requirements:
|
109
101
|
- - ">="
|
110
102
|
- !ruby/object:Gem::Version
|
@@ -112,6 +104,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
104
|
- 0
|
113
105
|
version: "0"
|
114
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
|
+
none: false
|
115
108
|
requirements:
|
116
109
|
- - ">="
|
117
110
|
- !ruby/object:Gem::Version
|
@@ -121,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
114
|
requirements: []
|
122
115
|
|
123
116
|
rubyforge_project:
|
124
|
-
rubygems_version: 1.3.
|
117
|
+
rubygems_version: 1.3.7
|
125
118
|
signing_key:
|
126
119
|
specification_version: 3
|
127
120
|
summary: A Ruby library for the Grid'5000 RESTful API
|