Skip to content

Commit c3552c4

Browse files
committed
more tweaks to how params are passed to the xmlrpc caller; refining start_vm/server. create_vm now automatically starts the newly cloned vm.
1 parent e98ded8 commit c3552c4

6 files changed

Lines changed: 15 additions & 12 deletions

File tree

‎lib/fog/xenserver.rb‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,17 @@ module Xenserver
2222
request 'create_server'
2323
request 'create_vif'
2424
request 'create_vm'
25-
request 'get_vm'
26-
request 'get_vms'
2725
request 'get_host'
2826
request 'get_hosts'
29-
request 'get_sr'
30-
request 'get_srs'
3127
request 'get_network'
3228
request 'get_networks'
29+
request 'get_sr'
30+
request 'get_srs'
3331
request 'get_vif'
3432
request 'get_vifs'
35-
request 'start_server'
33+
request 'get_vm'
34+
request 'get_vms'
35+
request 'start_vm'
3636

3737
class Real
3838
include Collections

‎lib/fog/xenserver/connection.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def request(options, *params)
2727
if params.length.eql?(1) and params.first.is_a?(Hash)
2828
response = @factory.call(method, @credentials, params.first)
2929
else
30-
response = eval("@factory.call('#{method}', '#{@credentials}', #{params.map {|p| "'#{p}'"}.join(',')})")
30+
response = eval("@factory.call('#{method}', '#{@credentials}', #{params.map {|p| p.is_a?(String) ? "'#{p}'" : p}.join(',')})")
3131
end
3232
end
3333

‎lib/fog/xenserver/models/vm.rb‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ def halted?
8686

8787
# operations
8888
def start
89-
requires :reference
9089
return false if halted?
9190
connection.start_server( @reference )
9291
true

‎lib/fog/xenserver/requests/create_vm.rb‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ def create_vm( name_label, image = nil, network = nil )
1414

1515
raise Fog::Xenserver::OperationFailed unless new_vm.allowed_operations.include?('provision')
1616
@connection.request({:parser => Fog::Parsers::Xenserver::Base.new, :method => 'VM.provision'}, new_vm.reference)
17-
get_vm_by_ref( new_vm.reference )
17+
start_vm( new_vm.reference )
18+
19+
new_vm
1820
end
1921
end
2022

‎lib/fog/xenserver/requests/start_server.rb‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ module Fog
22
module Xenserver
33
class Real
44

5-
def start_server( vm_ref, force = false )
6-
start_vm( vm_ref, force )
5+
def start_server( vm_ref )
6+
start_vm( vm_ref )
77
end
88

99
end

‎lib/fog/xenserver/requests/start_vm.rb‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ module Fog
22
module Xenserver
33
class Real
44

5-
def start_vm( vm_ref, force = false )
6-
@connection.request({:parser => Fog::Parsers::Xenserver::Base.new, :method => 'VM.start'}, vm_ref, force)
5+
# http://bit.ly/8ZPyCN
6+
# VM.start( session, VM_ref, start_paused, force)
7+
def start_vm( vm_ref )
8+
@connection.request({:parser => Fog::Parsers::Xenserver::Base.new, :method => 'VM.start'}, vm_ref, false, false)
79
end
810

911
end

0 commit comments

Comments
 (0)