knife-oraclevm 0.0.1 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
@@ -269,6 +269,32 @@ class Chef
|
|
269
269
|
end
|
270
270
|
return current
|
271
271
|
end
|
272
|
+
#
|
273
|
+
# list_vm, display all vm's
|
274
|
+
#
|
275
|
+
def list_vm
|
276
|
+
current = {:errormsg => "", :status => "", :time => "", :vmstatus => ""}
|
277
|
+
|
278
|
+
conn_opts=get_cli_connection
|
279
|
+
Chef::Log.debug("#{conn_opts[:host]}...list vm")
|
280
|
+
Net::SSH.start( conn_opts[:host], conn_opts[:user], :password => conn_opts[:password], :port => conn_opts[:port] ) do|ssh|
|
281
|
+
output = ssh.exec!("list vm")
|
282
|
+
output.each_line do |line|
|
283
|
+
if line.match(/Status:/)
|
284
|
+
current[:status]=line.split[1].strip
|
285
|
+
elsif line.match(/Time:/)
|
286
|
+
line["Time: "]=""
|
287
|
+
current[:time]=line.strip
|
288
|
+
elsif line.match(/ id:/)
|
289
|
+
puts line.split(':')[2].strip
|
290
|
+
elsif line.match(/Error Msg:/)
|
291
|
+
line["Error Msg: "]=""
|
292
|
+
current[:errormsg]=line.strip
|
293
|
+
end
|
294
|
+
end
|
295
|
+
end
|
296
|
+
return current
|
297
|
+
end
|
272
298
|
|
273
299
|
end
|
274
300
|
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Geoff O'Callaghan (<geoffocallaghan@gmail.com>)
|
3
|
+
# License:: Apache License, Version 2.0
|
4
|
+
#
|
5
|
+
|
6
|
+
require 'chef/knife'
|
7
|
+
require 'chef/knife/BaseOraclevmCommand'
|
8
|
+
require 'netaddr'
|
9
|
+
require 'net/ssh'
|
10
|
+
|
11
|
+
# Manage power state of a virtual machine
|
12
|
+
class Chef::Knife::OraclevmVmList < Chef::Knife::BaseOraclevmCommand
|
13
|
+
|
14
|
+
banner "knife oraclevm vm list (options)"
|
15
|
+
|
16
|
+
get_common_options
|
17
|
+
|
18
|
+
def run
|
19
|
+
|
20
|
+
$stdout.sync = true
|
21
|
+
|
22
|
+
vmname = @name_args[0]
|
23
|
+
|
24
|
+
list_vm
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
@@ -75,6 +75,21 @@ class Chef::Knife::OraclevmVmState < Chef::Knife::BaseOraclevmCommand
|
|
75
75
|
else
|
76
76
|
show_usage
|
77
77
|
end
|
78
|
+
when 'Stopping'
|
79
|
+
case state
|
80
|
+
when 'on'
|
81
|
+
puts "Cannot power on virtual machine #{vmname} as it is Stopping"
|
82
|
+
when 'off'
|
83
|
+
puts "Cannot power off virtual machine #{vmname} as it is Stopping"
|
84
|
+
when 'suspend'
|
85
|
+
puts "Cannot Suspend virtual machine #{vmname} as it is Stopping"
|
86
|
+
when 'restart'
|
87
|
+
puts "Cannot Restrt virtual machine #{vmname} as it is Stopping"
|
88
|
+
when 'resume'
|
89
|
+
puts "Cannot Resume virtual machine #{vmname} as it is Stopping"
|
90
|
+
else
|
91
|
+
show_usage
|
92
|
+
end
|
78
93
|
when 'Suspended'
|
79
94
|
case state
|
80
95
|
when 'on'
|
@@ -92,7 +107,7 @@ class Chef::Knife::OraclevmVmState < Chef::Knife::BaseOraclevmCommand
|
|
92
107
|
show_usage
|
93
108
|
end
|
94
109
|
else
|
95
|
-
puts "I don't know what a state of #{
|
110
|
+
puts "I don't know what a state of #{current[:vmstatus]} is on #{vmname}"
|
96
111
|
end
|
97
112
|
end
|
98
113
|
else
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: knife-oraclevm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Geoff O'Callaghan
|
@@ -62,6 +62,7 @@ files:
|
|
62
62
|
- lib/knife-oraclevm/version.rb
|
63
63
|
- lib/chef/knife/BaseOraclevmCommand.rb
|
64
64
|
- lib/chef/knife/oraclevm_vm_state.rb
|
65
|
+
- lib/chef/knife/oraclevm_vm_list.rb
|
65
66
|
has_rdoc: true
|
66
67
|
homepage: http://github.com/gocallag/knife-oraclevm
|
67
68
|
licenses: []
|