ey_stonith 0.4.2 → 0.4.3.pre

Sign up to get free protection for your applications and to get access to all the features.
data/ey_stonith.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ey_stonith"
6
- s.version = "0.4.2"
6
+ s.version = "0.4.3.pre"
7
7
  s.summary = "Shoot The Other Node In The Head (with a nerf gun)"
8
8
  s.description = s.summary
9
9
  s.has_rdoc = true
@@ -14,11 +14,11 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.add_dependency 'json'
16
16
  s.add_dependency 'sinatra', '~>1.0'
17
- s.add_dependency 'system-timer19', '~>0.0.2'
18
17
 
19
18
  if RUBY_VERSION =~ /^1\.8/
20
19
  s.add_dependency 'SystemTimer', '~>1.2'
21
20
  s.add_development_dependency 'ruby-debug'
21
+ s.add_development_dependency 'rcov'
22
22
  else
23
23
  s.add_development_dependency 'ruby-debug19'
24
24
  end
@@ -30,7 +30,6 @@ Gem::Specification.new do |s|
30
30
  s.add_development_dependency 'rake'
31
31
  s.add_development_dependency 'randexp'
32
32
  s.add_development_dependency 'cucumber'
33
- s.add_development_dependency 'rcov'
34
33
  s.add_development_dependency 'realweb', '~>0.1.4'
35
34
  s.add_development_dependency 'rack-client'
36
35
 
data/lib/ey_stonith.rb CHANGED
@@ -7,6 +7,7 @@ module EY
7
7
  module Stonith
8
8
  class Error < StandardError; end
9
9
 
10
+ require 'ey_stonith/timer'
10
11
  autoload :AwsmNotifier, 'ey_stonith/awsm_notifier'
11
12
  autoload :Commands, 'ey_stonith/commands'
12
13
  autoload :Config, 'ey_stonith/config'
@@ -3,26 +3,26 @@ module EY
3
3
  module Commands
4
4
 
5
5
  dir = 'ey_stonith/commands/'
6
- autoload :Abstract, dir + 'abstract'
7
- autoload :NotFound, dir + 'not_found'
6
+ require dir + 'abstract'
7
+ require dir + 'not_found'
8
8
 
9
- COMMANDS = Hash.new(:NotFound).merge({
10
- 'check' => :Check,
11
- 'claim' => :Claim,
12
- 'commands' => :Commands,
13
- 'cron' => :Cron,
14
- 'help' => :Help,
15
- 'info' => :Info,
16
- 'notify' => :Notify,
17
- 'resume' => :Resume,
18
- 'reset' => :Reset,
19
- 'status' => :Status,
20
- 'stop' => :Stop,
21
- 'takeover' => :Takeover,
22
- })
9
+ COMMANDS = {
10
+ 'check' => :Check,
11
+ 'claim' => :Claim,
12
+ 'commands' => :Commands,
13
+ 'cron' => :Cron,
14
+ 'help' => :Help,
15
+ 'info' => :Info,
16
+ 'notify' => :Notify,
17
+ 'resume' => :Resume,
18
+ 'reset' => :Reset,
19
+ 'status' => :Status,
20
+ 'stop' => :Stop,
21
+ 'takeover' => :Takeover,
22
+ }
23
23
 
24
24
  COMMANDS.each do |command, klass|
25
- autoload klass, dir + command
25
+ require dir + command
26
26
  end
27
27
 
28
28
  def self.invoke(argv)
@@ -15,7 +15,7 @@ module EY
15
15
  history << :check
16
16
 
17
17
  begin
18
- timeout(config.monitor_timeout) do
18
+ EY::Stonith::Timer.timeout(config.monitor_timeout) do
19
19
  open("http://#{config.monitor_host}#{config.monitor_path}").read
20
20
  end
21
21
  rescue StandardError, Timeout::Error => e
@@ -0,0 +1,15 @@
1
+ module EY
2
+ class Stonith
3
+ class Timer
4
+ def self.timeout(sec)
5
+ if RUBY_VERSION =~ /^1\.8/
6
+ require 'system_timer'
7
+ SystemTimer.timeout_after(sec) { yield }
8
+ else
9
+ require 'timeout'
10
+ Timeout.timeout(sec) { yield }
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ey_stonith
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
5
- prerelease:
4
+ version: 0.4.3.pre
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ezra Zygmuntowicz
@@ -13,11 +13,11 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2011-12-07 00:00:00.000000000 Z
16
+ date: 2012-02-10 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: json
20
- requirement: &2154567340 !ruby/object:Gem::Requirement
20
+ requirement: &2153272820 !ruby/object:Gem::Requirement
21
21
  none: false
22
22
  requirements:
23
23
  - - ! '>='
@@ -25,10 +25,10 @@ dependencies:
25
25
  version: '0'
26
26
  type: :runtime
27
27
  prerelease: false
28
- version_requirements: *2154567340
28
+ version_requirements: *2153272820
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: sinatra
31
- requirement: &2154549260 !ruby/object:Gem::Requirement
31
+ requirement: &2153271720 !ruby/object:Gem::Requirement
32
32
  none: false
33
33
  requirements:
34
34
  - - ~>
@@ -36,21 +36,10 @@ dependencies:
36
36
  version: '1.0'
37
37
  type: :runtime
38
38
  prerelease: false
39
- version_requirements: *2154549260
40
- - !ruby/object:Gem::Dependency
41
- name: system-timer19
42
- requirement: &2154426380 !ruby/object:Gem::Requirement
43
- none: false
44
- requirements:
45
- - - ~>
46
- - !ruby/object:Gem::Version
47
- version: 0.0.2
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: *2154426380
39
+ version_requirements: *2153271720
51
40
  - !ruby/object:Gem::Dependency
52
41
  name: ruby-debug19
53
- requirement: &2154360240 !ruby/object:Gem::Requirement
42
+ requirement: &2153270320 !ruby/object:Gem::Requirement
54
43
  none: false
55
44
  requirements:
56
45
  - - ! '>='
@@ -58,10 +47,10 @@ dependencies:
58
47
  version: '0'
59
48
  type: :development
60
49
  prerelease: false
61
- version_requirements: *2154360240
50
+ version_requirements: *2153270320
62
51
  - !ruby/object:Gem::Dependency
63
52
  name: rspec
64
- requirement: &2154260900 !ruby/object:Gem::Requirement
53
+ requirement: &2153268700 !ruby/object:Gem::Requirement
65
54
  none: false
66
55
  requirements:
67
56
  - - ! '>='
@@ -69,10 +58,10 @@ dependencies:
69
58
  version: '0'
70
59
  type: :development
71
60
  prerelease: false
72
- version_requirements: *2154260900
61
+ version_requirements: *2153268700
73
62
  - !ruby/object:Gem::Dependency
74
63
  name: cucumber
75
- requirement: &2154196420 !ruby/object:Gem::Requirement
64
+ requirement: &2153295920 !ruby/object:Gem::Requirement
76
65
  none: false
77
66
  requirements:
78
67
  - - ! '>='
@@ -80,10 +69,10 @@ dependencies:
80
69
  version: '0'
81
70
  type: :development
82
71
  prerelease: false
83
- version_requirements: *2154196420
72
+ version_requirements: *2153295920
84
73
  - !ruby/object:Gem::Dependency
85
74
  name: open4
86
- requirement: &2154104860 !ruby/object:Gem::Requirement
75
+ requirement: &2153294740 !ruby/object:Gem::Requirement
87
76
  none: false
88
77
  requirements:
89
78
  - - ! '>='
@@ -91,10 +80,10 @@ dependencies:
91
80
  version: '0'
92
81
  type: :development
93
82
  prerelease: false
94
- version_requirements: *2154104860
83
+ version_requirements: *2153294740
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: aruba
97
- requirement: &2154000940 !ruby/object:Gem::Requirement
86
+ requirement: &2153293180 !ruby/object:Gem::Requirement
98
87
  none: false
99
88
  requirements:
100
89
  - - =
@@ -102,10 +91,10 @@ dependencies:
102
91
  version: 0.3.2
103
92
  type: :development
104
93
  prerelease: false
105
- version_requirements: *2154000940
94
+ version_requirements: *2153293180
106
95
  - !ruby/object:Gem::Dependency
107
96
  name: rake
108
- requirement: &2153883280 !ruby/object:Gem::Requirement
97
+ requirement: &2153291660 !ruby/object:Gem::Requirement
109
98
  none: false
110
99
  requirements:
111
100
  - - ! '>='
@@ -113,10 +102,10 @@ dependencies:
113
102
  version: '0'
114
103
  type: :development
115
104
  prerelease: false
116
- version_requirements: *2153883280
105
+ version_requirements: *2153291660
117
106
  - !ruby/object:Gem::Dependency
118
107
  name: randexp
119
- requirement: &2153798620 !ruby/object:Gem::Requirement
108
+ requirement: &2153313960 !ruby/object:Gem::Requirement
120
109
  none: false
121
110
  requirements:
122
111
  - - ! '>='
@@ -124,10 +113,10 @@ dependencies:
124
113
  version: '0'
125
114
  type: :development
126
115
  prerelease: false
127
- version_requirements: *2153798620
116
+ version_requirements: *2153313960
128
117
  - !ruby/object:Gem::Dependency
129
118
  name: cucumber
130
- requirement: &2153522280 !ruby/object:Gem::Requirement
119
+ requirement: &2153309540 !ruby/object:Gem::Requirement
131
120
  none: false
132
121
  requirements:
133
122
  - - ! '>='
@@ -135,21 +124,10 @@ dependencies:
135
124
  version: '0'
136
125
  type: :development
137
126
  prerelease: false
138
- version_requirements: *2153522280
139
- - !ruby/object:Gem::Dependency
140
- name: rcov
141
- requirement: &2153610300 !ruby/object:Gem::Requirement
142
- none: false
143
- requirements:
144
- - - ! '>='
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- type: :development
148
- prerelease: false
149
- version_requirements: *2153610300
127
+ version_requirements: *2153309540
150
128
  - !ruby/object:Gem::Dependency
151
129
  name: realweb
152
- requirement: &2153059700 !ruby/object:Gem::Requirement
130
+ requirement: &2153307420 !ruby/object:Gem::Requirement
153
131
  none: false
154
132
  requirements:
155
133
  - - ~>
@@ -157,10 +135,10 @@ dependencies:
157
135
  version: 0.1.4
158
136
  type: :development
159
137
  prerelease: false
160
- version_requirements: *2153059700
138
+ version_requirements: *2153307420
161
139
  - !ruby/object:Gem::Dependency
162
140
  name: rack-client
163
- requirement: &2152879820 !ruby/object:Gem::Requirement
141
+ requirement: &2153330980 !ruby/object:Gem::Requirement
164
142
  none: false
165
143
  requirements:
166
144
  - - ! '>='
@@ -168,7 +146,7 @@ dependencies:
168
146
  version: '0'
169
147
  type: :development
170
148
  prerelease: false
171
- version_requirements: *2152879820
149
+ version_requirements: *2153330980
172
150
  description: Shoot The Other Node In The Head (with a nerf gun)
173
151
  email: awsmdev@engineyard.com
174
152
  executables:
@@ -240,6 +218,7 @@ files:
240
218
  - lib/ey_stonith/config.rb
241
219
  - lib/ey_stonith/history.rb
242
220
  - lib/ey_stonith/rackapp.rb
221
+ - lib/ey_stonith/timer.rb
243
222
  - spec/config_spec.rb
244
223
  - spec/fixtures/config.yml
245
224
  - spec/fixtures/empty.yml
@@ -262,9 +241,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
262
241
  required_rubygems_version: !ruby/object:Gem::Requirement
263
242
  none: false
264
243
  requirements:
265
- - - ! '>='
244
+ - - ! '>'
266
245
  - !ruby/object:Gem::Version
267
- version: '0'
246
+ version: 1.3.1
268
247
  requirements: []
269
248
  rubyforge_project:
270
249
  rubygems_version: 1.8.10