mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-20 10:50:08 +03:00
parent
f6a566b8f6
commit
74cb15642a
@ -433,7 +433,7 @@ class OneHostHelper < OpenNebulaHelper::OneHelper
|
||||
CLIHelper.print_header("WILD VIRTUAL MACHINES", false)
|
||||
puts
|
||||
|
||||
format = "%30s %36s %4s %10s"
|
||||
format = "%-30.30s %36s %4s %10s"
|
||||
CLIHelper.print_header(format % ["NAME", "IMPORT_ID", "CPU", "MEMORY"],
|
||||
true)
|
||||
|
||||
|
@ -244,7 +244,7 @@ cmd=CommandParser::CmdParser.new(ARGV) do
|
||||
Import VM to OpenNebula
|
||||
EOT
|
||||
|
||||
command :importvm, importvm_desc, :hostid, :import_id do
|
||||
command :importvm, importvm_desc, :hostid, :name do
|
||||
helper.perform_action(args[0], options, "imported") do |o|
|
||||
rc = o.info
|
||||
next rc if OpenNebula.is_error?(rc)
|
||||
|
@ -304,7 +304,7 @@ class SLDriver
|
||||
|
||||
vms_info << "VM=[\n"
|
||||
vms_info << " ID=#{one_id || -1},\n"
|
||||
vms_info << " VM_NAME=#{i['id']},\n"
|
||||
vms_info << " VM_NAME=#{i['fullyQualifiedDomainName']},\n"
|
||||
vms_info << " IMPORT_TEMPLATE=\"#{vm_template_to_one}\",\n"
|
||||
vms_info << " DEPLOY_ID=#{i['id']},\n"
|
||||
vms_info << " POLL=\"#{poll_data[0...-1]}\" ]\n"
|
||||
|
@ -143,6 +143,20 @@ class VIClient
|
||||
return conn
|
||||
end
|
||||
|
||||
########################################################################
|
||||
# The associated cluster for this connection
|
||||
########################################################################
|
||||
def cluster
|
||||
@cluster
|
||||
end
|
||||
|
||||
########################################################################
|
||||
# The associated cluster for this connection
|
||||
########################################################################
|
||||
def rp_confined?
|
||||
!@one_host["TEMPLATE/VCENTER_RESOURCE_POOL"].nil?
|
||||
end
|
||||
|
||||
########################################################################
|
||||
# The associated resource pool for this connection
|
||||
########################################################################
|
||||
@ -150,9 +164,11 @@ class VIClient
|
||||
rp_name = @one_host["TEMPLATE/VCENTER_RESOURCE_POOL"]
|
||||
|
||||
if rp_name.nil?
|
||||
@cluster.resourcePool
|
||||
rp_array = @cluster.resourcePool.resourcePool
|
||||
rp_array << @cluster.resourcePool
|
||||
rp_array
|
||||
else
|
||||
find_resource_pool(rp_name)
|
||||
[find_resource_pool(rp_name)]
|
||||
end
|
||||
end
|
||||
|
||||
@ -574,7 +590,7 @@ class VCenterHost < ::OpenNebula::Host
|
||||
@client = client
|
||||
@cluster = client.cluster
|
||||
|
||||
@resource_pool = client.resource_pool
|
||||
@resource_pools = client.resource_pool
|
||||
end
|
||||
|
||||
########################################################################
|
||||
@ -709,35 +725,38 @@ class VCenterHost < ::OpenNebula::Host
|
||||
|
||||
def monitor_vms
|
||||
str_info = ""
|
||||
@resource_pool.vm.each { |v|
|
||||
begin
|
||||
name = v.name
|
||||
number = -1
|
||||
@resource_pools.each{|rp|
|
||||
rp.vm.each { |v|
|
||||
begin
|
||||
name = v.name
|
||||
number = -1
|
||||
|
||||
matches = name.match(/^one-(\d*)(-(.*))?$/)
|
||||
number = matches[1] if matches
|
||||
matches = name.match(/^one-(\d*)(-(.*))?$/)
|
||||
number = matches[1] if matches
|
||||
|
||||
vm = VCenterVm.new(@client, v)
|
||||
vm.monitor
|
||||
vm = VCenterVm.new(@client, v)
|
||||
vm.monitor
|
||||
|
||||
next if !vm.vm.config
|
||||
next if !vm.vm.config
|
||||
|
||||
str_info << "\nVM = ["
|
||||
str_info << "ID=#{number},"
|
||||
str_info << "DEPLOY_ID=\"#{vm.vm.config.uuid}\","
|
||||
str_info << "VM_NAME=\"#{name}\","
|
||||
str_info << "\nVM = ["
|
||||
str_info << "ID=#{number},"
|
||||
str_info << "DEPLOY_ID=\"#{vm.vm.config.uuid}\","
|
||||
str_info << "VM_NAME=\"#{name} - "\
|
||||
"#{v.runtime.host.parent.name}\","
|
||||
|
||||
if number == -1
|
||||
vm_template_to_one =
|
||||
Base64.encode64(vm.vm_to_one).gsub("\n","")
|
||||
str_info << "IMPORT_TEMPLATE=\"#{vm_template_to_one}\","
|
||||
if number == -1
|
||||
vm_template_to_one =
|
||||
Base64.encode64(vm.vm_to_one).gsub("\n","")
|
||||
str_info << "IMPORT_TEMPLATE=\"#{vm_template_to_one}\","
|
||||
end
|
||||
|
||||
str_info << "POLL=\"#{vm.info}\"]"
|
||||
rescue Exception => e
|
||||
STDERR.puts e.inspect
|
||||
STDERR.puts e.backtrace
|
||||
end
|
||||
|
||||
str_info << "POLL=\"#{vm.info}\"]"
|
||||
rescue Exception => e
|
||||
STDERR.puts e.inspect
|
||||
STDERR.puts e.backtrace
|
||||
end
|
||||
}
|
||||
}
|
||||
|
||||
return str_info
|
||||
@ -1395,9 +1414,15 @@ private
|
||||
connection = VIClient.new(hid)
|
||||
vc_template = connection.find_vm_template(uuid)
|
||||
|
||||
if connection.rp_confined?
|
||||
rp = connection.cluster.resource_pool.first
|
||||
else
|
||||
rp = connection.cluster.resourcePool
|
||||
end
|
||||
|
||||
relocate_spec = RbVmomi::VIM.VirtualMachineRelocateSpec(
|
||||
:diskMoveType => :moveChildMostDiskBacking,
|
||||
:pool => connection.resource_pool)
|
||||
:pool => rp)
|
||||
|
||||
clone_parameters = {
|
||||
:location => relocate_spec,
|
||||
|
Loading…
x
Reference in New Issue
Block a user