vmc 0.4.0.beta.65 → 0.4.0.beta.66
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/vmc-ng/lib/vmc/cli/app.rb +83 -18
- data/vmc-ng/lib/vmc/version.rb +1 -1
- metadata +7 -7
data/vmc-ng/lib/vmc/cli/app.rb
CHANGED
@@ -269,7 +269,7 @@ module VMC
|
|
269
269
|
desc "List an app's instances"
|
270
270
|
group :apps, :info, :hidden => true
|
271
271
|
input :apps, :argument => :splat, :singular => :app,
|
272
|
-
:desc => "Applications to
|
272
|
+
:desc => "Applications whose instances to list",
|
273
273
|
:from_given => by_name("app")
|
274
274
|
def instances
|
275
275
|
apps = input[:apps]
|
@@ -293,6 +293,33 @@ module VMC
|
|
293
293
|
end
|
294
294
|
|
295
295
|
|
296
|
+
desc "List an app's crashed "
|
297
|
+
group :apps, :info, :hidden => true
|
298
|
+
input :apps, :argument => :splat, :singular => :app,
|
299
|
+
:desc => "Applications whose crashed instances to list",
|
300
|
+
:from_given => by_name("app")
|
301
|
+
def crashes
|
302
|
+
apps = input[:apps]
|
303
|
+
fail "No applications given." if apps.empty?
|
304
|
+
|
305
|
+
spaced(apps) do |app|
|
306
|
+
instances =
|
307
|
+
with_progress("Getting crashed instances for #{c(app.name, :name)}") do
|
308
|
+
app.crashes
|
309
|
+
end
|
310
|
+
|
311
|
+
spaced(instances) do |i|
|
312
|
+
if quiet?
|
313
|
+
line i.id
|
314
|
+
else
|
315
|
+
line
|
316
|
+
display_crashed_instance(i)
|
317
|
+
end
|
318
|
+
end
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
|
296
323
|
desc "Update the instances/memory limit for an application"
|
297
324
|
group :apps, :info, :hidden => true
|
298
325
|
input :app, :argument => true, :desc => "Application to update",
|
@@ -384,24 +411,25 @@ module VMC
|
|
384
411
|
end
|
385
412
|
|
386
413
|
spaced(instances) do |i|
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
c("\##{i.id}", :instance)) do
|
391
|
-
i.files("logs")
|
392
|
-
end
|
414
|
+
show_instance_logs(app, i)
|
415
|
+
end
|
416
|
+
end
|
393
417
|
|
394
|
-
line unless quiet?
|
395
418
|
|
396
|
-
|
397
|
-
|
398
|
-
|
399
|
-
|
400
|
-
|
419
|
+
desc "Print out the logs for an app's crashed instances"
|
420
|
+
group :apps, :info, :hidden => true
|
421
|
+
input :app, :argument => true,
|
422
|
+
:desc => "Application to get the logs of",
|
423
|
+
:from_given => by_name("app")
|
424
|
+
def crashlogs
|
425
|
+
app = input[:app]
|
401
426
|
|
402
|
-
|
403
|
-
|
404
|
-
|
427
|
+
crashes = app.crashes
|
428
|
+
|
429
|
+
fail "No crashed instances found." if crashes.empty?
|
430
|
+
|
431
|
+
spaced(crashes) do |i|
|
432
|
+
show_instance_logs(app, i)
|
405
433
|
end
|
406
434
|
end
|
407
435
|
|
@@ -511,7 +539,7 @@ module VMC
|
|
511
539
|
|
512
540
|
table(
|
513
541
|
%w{instance cpu memory disk},
|
514
|
-
stats.sort_by
|
542
|
+
stats.sort_by { |idx, _| idx.to_i }.collect { |idx, info|
|
515
543
|
idx = c("\##{idx}", :instance)
|
516
544
|
|
517
545
|
if info[:state] == "DOWN"
|
@@ -1056,7 +1084,7 @@ module VMC
|
|
1056
1084
|
|
1057
1085
|
indented do
|
1058
1086
|
if s = i.since
|
1059
|
-
line "started: #{c(s.strftime("%F %r"), :
|
1087
|
+
line "started: #{c(s.strftime("%F %r"), :neutral)}"
|
1060
1088
|
end
|
1061
1089
|
|
1062
1090
|
if d = i.debugger
|
@@ -1069,6 +1097,43 @@ module VMC
|
|
1069
1097
|
end
|
1070
1098
|
end
|
1071
1099
|
|
1100
|
+
def display_crashed_instance(i)
|
1101
|
+
start_line "instance #{c("\##{i.id}", :instance)}: "
|
1102
|
+
puts "#{b(c("crashed", :error))} "
|
1103
|
+
|
1104
|
+
indented do
|
1105
|
+
if s = i.since
|
1106
|
+
line "since: #{c(s.strftime("%F %r"), :neutral)}"
|
1107
|
+
end
|
1108
|
+
end
|
1109
|
+
end
|
1110
|
+
|
1111
|
+
def show_instance_logs(app, i)
|
1112
|
+
return unless i.id
|
1113
|
+
|
1114
|
+
logs =
|
1115
|
+
with_progress(
|
1116
|
+
"Getting logs for #{c(app.name, :name)} " +
|
1117
|
+
c("\##{i.id}", :instance)) do
|
1118
|
+
i.files("logs")
|
1119
|
+
end
|
1120
|
+
|
1121
|
+
line unless quiet?
|
1122
|
+
|
1123
|
+
spaced(logs) do |log|
|
1124
|
+
begin
|
1125
|
+
body =
|
1126
|
+
with_progress("Reading " + b(log.join("/"))) do |s|
|
1127
|
+
i.file(*log)
|
1128
|
+
end
|
1129
|
+
|
1130
|
+
lines body
|
1131
|
+
line unless body.empty?
|
1132
|
+
rescue CFoundry::NotFound
|
1133
|
+
end
|
1134
|
+
end
|
1135
|
+
end
|
1136
|
+
|
1072
1137
|
def find_orphaned_services(apps, others = [])
|
1073
1138
|
orphaned = Set.new
|
1074
1139
|
|
data/vmc-ng/lib/vmc/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vmc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: -614476860
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
9
|
- 0
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 0.4.0.beta.
|
11
|
+
- 66
|
12
|
+
version: 0.4.0.beta.66
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- VMware
|
@@ -17,7 +17,7 @@ autorequire:
|
|
17
17
|
bindir: bin
|
18
18
|
cert_chain: []
|
19
19
|
|
20
|
-
date: 2012-10-
|
20
|
+
date: 2012-10-15 00:00:00 Z
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
23
23
|
name: json_pure
|
@@ -265,12 +265,12 @@ dependencies:
|
|
265
265
|
requirements:
|
266
266
|
- - ~>
|
267
267
|
- !ruby/object:Gem::Version
|
268
|
-
hash:
|
268
|
+
hash: 71
|
269
269
|
segments:
|
270
270
|
- 0
|
271
271
|
- 3
|
272
|
-
-
|
273
|
-
version: 0.3.
|
272
|
+
- 42
|
273
|
+
version: 0.3.42
|
274
274
|
type: :runtime
|
275
275
|
version_requirements: *id015
|
276
276
|
- !ruby/object:Gem::Dependency
|