novawhiz 0.0.1 → 0.0.2
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/lib/novawhiz.rb +27 -0
- metadata +51 -53
data/lib/novawhiz.rb
CHANGED
@@ -43,6 +43,7 @@ class NovaWhiz
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def run_command(creds, cmd)
|
46
|
+
=begin
|
46
47
|
Net::SSH::Simple.sync do
|
47
48
|
r = ssh(
|
48
49
|
creds[:ip],
|
@@ -55,6 +56,32 @@ class NovaWhiz
|
|
55
56
|
puts r.stdout
|
56
57
|
puts r.stderr
|
57
58
|
end
|
59
|
+
=end
|
60
|
+
|
61
|
+
res = Net::SSH::Simple.sync do
|
62
|
+
ssh(creds[:ip], '/bin/sh', :user => creds[:user], :key_data => [creds[:key]]) do |e,c,d|
|
63
|
+
case e
|
64
|
+
when :start
|
65
|
+
c.send_data "#{cmd}\n"
|
66
|
+
c.eof!
|
67
|
+
when :stdout
|
68
|
+
# read the input line-wise (it *will* arrive fragmented!)
|
69
|
+
(@buf ||= '') << d
|
70
|
+
while line = @buf.slice!(/(.*)\r?\n/)
|
71
|
+
yield line if block_given?
|
72
|
+
end
|
73
|
+
when :stderr
|
74
|
+
(@buf ||= '') << d
|
75
|
+
while line = @buf.slice!(/(.*)\r?\n/)
|
76
|
+
yield line if block_given?
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
end
|
81
|
+
if res.exit_code != 0
|
82
|
+
raise "command #{cmd} failed on #{creds[:ip]}:\n#{res.stdout}\n#{res.stderr}"
|
83
|
+
end
|
84
|
+
res
|
58
85
|
end
|
59
86
|
|
60
87
|
# boot an instance and return creds
|
metadata
CHANGED
@@ -1,77 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: novawhiz
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1
|
3
|
+
version: !ruby/object:Gem::Version
|
5
4
|
prerelease:
|
5
|
+
version: 0.0.2
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
8
|
-
- tim miller
|
7
|
+
authors:
|
8
|
+
- tim miller
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
12
|
+
|
13
|
+
date: 2012-09-11 00:00:00 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: openstack
|
17
|
+
prerelease: false
|
18
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
19
|
+
none: false
|
20
|
+
requirements:
|
21
|
+
- - ">="
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: "0"
|
24
|
+
type: :runtime
|
25
|
+
version_requirements: *id001
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: net-ssh-simple
|
28
|
+
prerelease: false
|
29
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
30
|
+
none: false
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
type: :runtime
|
36
|
+
version_requirements: *id002
|
46
37
|
description: library and command line tool for simplifying openstack nova operations
|
47
38
|
email: none@example.com
|
48
39
|
executables: []
|
40
|
+
|
49
41
|
extensions: []
|
42
|
+
|
50
43
|
extra_rdoc_files: []
|
51
|
-
|
52
|
-
|
44
|
+
|
45
|
+
files:
|
46
|
+
- lib/novawhiz.rb
|
53
47
|
homepage: http://rubygems.org/gems/novawhiz
|
54
48
|
licenses: []
|
49
|
+
|
55
50
|
post_install_message:
|
56
51
|
rdoc_options: []
|
57
|
-
|
58
|
-
|
59
|
-
|
52
|
+
|
53
|
+
require_paths:
|
54
|
+
- lib
|
55
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
60
56
|
none: false
|
61
|
-
requirements:
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: "0"
|
61
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
62
|
none: false
|
67
|
-
requirements:
|
68
|
-
|
69
|
-
|
70
|
-
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: "0"
|
71
67
|
requirements: []
|
68
|
+
|
72
69
|
rubyforge_project:
|
73
70
|
rubygems_version: 1.8.24
|
74
71
|
signing_key:
|
75
72
|
specification_version: 3
|
76
73
|
summary: simplify nova operations
|
77
74
|
test_files: []
|
75
|
+
|