ey_stonith 0.4.2 → 0.4.3.pre

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/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