cluster 0.5.40 → 0.5.50

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,7 +2,6 @@
2
2
  # This will run periodically to do appropriate backups and cleanups.
3
3
  # run as a crontab so the environment is minimal
4
4
 
5
- export GEM_PATH=$(gem env gempath)
6
5
  export CREDENTIALS=${HOME}/.cluster/credentials.yml
7
6
 
8
7
  mysql_user=
@@ -114,8 +114,9 @@ class Cluster
114
114
  @sub.new_instance(size, services)
115
115
  end
116
116
  rescue => err
117
- puts "#{Cluster::NAME} cannot start new instance: #{err.message}\n\t#{err.backtrace.join("\n\t")}"
118
- exit 2
117
+ msg ="#{Cluster::NAME} cannot start new instance: #{err.message}\n\t#{err.backtrace.join("\n\t")}"
118
+ $stderr.puts msg
119
+ raise RuntimeError.new(msg)
119
120
  end
120
121
  end
121
122
 
@@ -126,33 +127,37 @@ class Cluster
126
127
 
127
128
  def current(*params)
128
129
  unless @sub.in_cluster?
129
- puts "#{Cluster::NAME} says that we aren't in the cluster?"
130
- exit 2
130
+ msg = "#{Cluster::NAME} says that we aren't in the cluster?"
131
+ $stderr.puts msg
132
+ raise RuntimeError.new(msg)
131
133
  end
132
134
 
133
135
  unless params.length > 0
134
- puts "#{Cluster::NAME} current needs to know what to do?\n\t* services\n\t* name (|| dns)\n\t* ip\n\t* enable\n\t* disable"
135
- exit 2
136
+ msg = "#{Cluster::NAME} current needs to know what to do?\n\t* services\n\t* name (|| dns)\n\t* ip\n\t* enable\n\t* disable"
137
+ $stderr.puts msg
138
+ raise ArgumentError.new(msg)
136
139
  end
137
140
 
141
+ current = @sub.current_instance
138
142
  cmd = params.shift
139
143
 
140
144
  case cmd.downcase
141
145
  when 'services'
142
- @sub.current_instance.services
146
+ current.services - current.disabled_services
143
147
  when /^(n|dn)/
144
- @sub.current_instance.dns
148
+ current.dns
145
149
  when /^i/
146
- @sub.current_instance.ip
150
+ current.ip
147
151
  when /^e/
148
- @sub.alter_instances!(@sub.current_instance) {|i| i.enable *params }
152
+ @sub.alter_instances!(current) {|i| i.enable *params }
149
153
  when /^di/
150
- @sub.alter_instances!(@sub.current_instance) {|i| i.disable *params }
154
+ @sub.alter_instances!(current) {|i| i.disable *params }
151
155
  when /^s/
152
- @sub.alter_instances!(@sub.current_instance) {|i| i.set_state *params }
156
+ @sub.alter_instances!(current) {|i| i.set_state *params }
153
157
  else
154
- puts "${Cluster::NAME} current did not understand '#{params.join(' ')}'"
155
- exit 1
158
+ msg = "#{Cluster::NAME} curent did not understand '#{params.join(' ')}'"
159
+ $stderr.puts msg
160
+ raise ArgumentError.new(msg)
156
161
  end
157
162
  end
158
163
  alias :instance :current
@@ -170,8 +175,9 @@ class Cluster
170
175
  elsif File.readable? File.basename(full_key)
171
176
  File.open(File.basename(full_key))
172
177
  else
173
- puts "#{Cluster::NAME} cannot open a file for storage with key: #{full_key}"
174
- exit 2
178
+ msg = "#{Cluster::NAME} cannot open a file for storage with key: #{full_key}"
179
+ $stderr.puts msg
180
+ raise RuntimeError.new(msg)
175
181
  end
176
182
  @sub.store full_key, file
177
183
  end
@@ -180,12 +186,11 @@ class Cluster
180
186
  res = @sub.retrieve File.join(service, key)
181
187
  if output
182
188
  begin
183
- File.open(output, 'w') {|f|
184
- f.write res
185
- }
189
+ File.open(output, 'w') {|f| f.write res }
186
190
  rescue => err
187
- puts "#{Cluster::NAME} cannot open #{output} for writing."
188
- exit 2
191
+ msg = "#{Cluster::NAME} cannot open #{output} for writing."
192
+ $stderr.puts msg
193
+ raise RuntimeError.new(msg)
189
194
  end
190
195
  else
191
196
  res
@@ -205,16 +210,18 @@ class Cluster
205
210
  def save_monitor(filename, key = nil)
206
211
  file = open(filename)
207
212
  unless file
208
- puts "#{Cluster::NAME} cannot open file '#{filename}' for reading."
209
- exit 2
213
+ msg = "#{Cluster::NAME} cannot open file '#{filename}' for reading."
214
+ $stderr.puts msg
215
+ raise RuntimeError.new(msg)
210
216
  end
211
217
 
212
218
  key ||= File.basename(filename)
213
219
  begin
214
220
  @sub.save_monitor file, key
215
221
  rescue => err
216
- puts "#{Cluster::NAME} could not save monitor configuration: #{err.message}\n\t#{err.backtrace.join("\n\t")}"
217
- exit 2
222
+ msg = "#{Cluster::NAME} could not save monitor configuration: #{err.message}\n\t#{err.backtrace.join("\n\t")}"
223
+ $stderr.puts msg
224
+ raise RuntimeError.new(msg)
218
225
  end
219
226
  end
220
227
 
@@ -224,8 +231,9 @@ class Cluster
224
231
 
225
232
  def fetch_credentials(url)
226
233
  unless Cluster::Configuration.credentials?
227
- puts "Need to know where to save the incoming credentials."
228
- exit 2
234
+ msg = "Need to know where to save the incoming credentials."
235
+ $stderr.puts msg
236
+ raise RuntimeError.new(msg)
229
237
  end
230
238
 
231
239
  out = File.open(Cluster::Configuration[:credentials_file], 'w')
@@ -236,8 +244,9 @@ class Cluster
236
244
  def fetch_monitor(output)
237
245
  monitor = @sub.fetch_monitor
238
246
  unless monitor
239
- puts "#{Cluster::NAME} cannot find any monitor information."
240
- exit 1
247
+ msg = "#{Cluster::NAME} cannot find any monitor information."
248
+ $stderr.puts msg
249
+ raise RuntimeError.new(msg)
241
250
  end
242
251
 
243
252
  File.open(output, 'w') {|f|
@@ -193,7 +193,7 @@ class AmazonInstance < Instance
193
193
  chmod 600 $MONITOR
194
194
  chown $CLUSTER_USER $MONITOR
195
195
  mv $MONITOR /etc/god/init.d/cluster.god
196
- $GOD load /etc/god/init.d/cluster.god
196
+ $GOD load /etc/god/init.d/010_cluster.god
197
197
  else
198
198
  echo "NO MONITOR FILE!"
199
199
  exit 1
@@ -12,7 +12,7 @@ class Cluster
12
12
  class Version < Net::SSH::Version
13
13
  MAJOR = 0
14
14
  MINOR = 5
15
- TINY = 40
15
+ TINY = 50
16
16
 
17
17
  # The current version, as a Version instance
18
18
  CURRENT = new(MAJOR, MINOR, TINY)
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 5
8
- - 40
9
- version: 0.5.40
8
+ - 50
9
+ version: 0.5.50
10
10
  platform: ruby
11
11
  authors:
12
12
  - Simon de Boer
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-04-28 00:00:00 -04:00
17
+ date: 2011-11-03 00:00:00 +00:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -148,22 +148,22 @@ extensions: []
148
148
  extra_rdoc_files: []
149
149
 
150
150
  files:
151
- - lib/cluster/cli.rb
152
- - lib/cluster/configuration.rb
151
+ - lib/cluster/release.rb
153
152
  - lib/cluster/infrastructure.rb
154
- - lib/cluster/infrastructures/amazon.rb
155
- - lib/cluster/infrastructures/amazon_instance.rb
156
- - lib/cluster/infrastructures/amazon_release.rb
157
153
  - lib/cluster/instance.rb
158
- - lib/cluster/release.rb
159
154
  - lib/cluster/version.rb
155
+ - lib/cluster/configuration.rb
156
+ - lib/cluster/infrastructures/amazon_instance.rb
157
+ - lib/cluster/infrastructures/amazon_release.rb
158
+ - lib/cluster/infrastructures/amazon.rb
159
+ - lib/cluster/cli.rb
160
160
  - lib/cluster.rb
161
161
  - lib/ext/array.rb
162
162
  - lib/ext/cluster_extensions.rb
163
- - bin/cluster
164
163
  - bin/periodic.sh
165
- - Rakefile
164
+ - bin/cluster
166
165
  - VERSION
166
+ - Rakefile
167
167
  has_rdoc: true
168
168
  homepage: http://oven.s3.amazonaws.com/cluster.gem
169
169
  licenses: []