mirror of
https://github.com/OpenNebula/one.git
synced 2025-02-27 13:57:23 +03:00
F #1835: vCenter cache improvements
F #1835: Cache improvements over importer
This commit is contained in:
parent
dfcebe882c
commit
94dc0e920e
@ -374,6 +374,10 @@ class NetImporter < VCenterDriver::VcImporter
|
||||
def defaults
|
||||
{ size: "255", type: "ether" }
|
||||
end
|
||||
|
||||
def attr
|
||||
"TEMPLATE/VCENTER_NET_REF"
|
||||
end
|
||||
end
|
||||
end # module VCenterDriver
|
||||
|
||||
|
@ -27,6 +27,10 @@ module VCenterDriver
|
||||
def import(selected) raise MESS end
|
||||
########################################
|
||||
|
||||
def attr
|
||||
false
|
||||
end
|
||||
|
||||
public
|
||||
########################################
|
||||
# Constructors
|
||||
@ -136,6 +140,12 @@ module VCenterDriver
|
||||
id = resource['ID']
|
||||
@rollback << Raction.new(resource, :delete)
|
||||
rc = block.call(resource, id)
|
||||
|
||||
# update vCenter cache (future work)
|
||||
#if attr
|
||||
# VCenterDriver::VIHelper.add_ref_hash(attr, resource)
|
||||
# @rollback << Raction.new(VCenterDriver::VIHelper, :remove_ref_hash, [attr, resource])
|
||||
#end
|
||||
end
|
||||
|
||||
def list_empty?
|
||||
|
@ -122,11 +122,27 @@ class VIHelper
|
||||
hash
|
||||
end
|
||||
|
||||
def self.clean_ref_hash(attr = nil)
|
||||
if attr.nil?
|
||||
@ref_hash = {}
|
||||
else
|
||||
@ref_hash[attr] = {} unless @ref_hash.nil?
|
||||
def self.clean_ref_hash()
|
||||
@ref_hash = {}
|
||||
end
|
||||
|
||||
def self.add_ref_hash(attr, one_object)
|
||||
raise "cache is empty!" unless @ref_hash
|
||||
|
||||
refkey = get_ref_key(one_object, attr)
|
||||
|
||||
if @ref_hash[attr]
|
||||
@ref_hash[attr][refkey] = one_object
|
||||
end
|
||||
end
|
||||
|
||||
def self.remove_ref_hash(attr, one_object)
|
||||
raise "cache is empty!" unless @ref_hash
|
||||
|
||||
refkey = get_ref_key(one_object, attr)
|
||||
|
||||
if @ref_hash[attr]
|
||||
@ref_hash[attr].delete(refkey)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -3339,8 +3339,8 @@ class VmImporter < VCenterDriver::VcImporter
|
||||
@rollback.unshift(Raction.new(n, :delete))
|
||||
end
|
||||
raise error if !error.empty?
|
||||
working_template[:one] << template_nics
|
||||
|
||||
working_template[:one] << template_nics
|
||||
working_template[:one] << rp_opts(opts[:type], opts[:resourcepool])
|
||||
|
||||
one_object.update(working_template[:one])
|
||||
@ -3360,5 +3360,9 @@ class VmImporter < VCenterDriver::VcImporter
|
||||
}
|
||||
end
|
||||
|
||||
def attr
|
||||
"TEMPLATE/VCENTER_TEMPLATE_REF"
|
||||
end
|
||||
|
||||
end
|
||||
end # module VCenterDriver
|
||||
|
Loading…
x
Reference in New Issue
Block a user