diff --git a/src/onegate/onegate-server.rb b/src/onegate/onegate-server.rb index 7fde043bdb6..52dd9358788 100644 --- a/src/onegate/onegate-server.rb +++ b/src/onegate/onegate-server.rb @@ -381,7 +381,7 @@ def update(object, params) end end -NIC_VALID_KEYS = %w(IP IP6_LINK IP6_SITE IP6_GLOBAL NETWORK MAC) +NIC_VALID_KEYS = %w(IP IP6_LINK IP6_SITE IP6_GLOBAL NETWORK MAC NAME PARENT) USER_TEMPLATE_INVALID_KEYS = %w(SCHED_MESSAGE) def build_vm_hash(vm_hash) @@ -393,6 +393,14 @@ def build_vm_hash(vm_hash) end end + alias_nics = [] + + if vm_hash["TEMPLATE"]["NIC_ALIAS"] + [vm_hash["TEMPLATE"]["NIC_ALIAS"]].flatten.each do |nic| + alias_nics << Hash[nic.select{|k,v| NIC_VALID_KEYS.include?(k)}] + end + end + OpenNebula::VirtualMachine::EXTERNAL_IP_ATTRS.each do |attr| external_ip = vm_hash["MONITORING"][attr] @@ -411,7 +419,8 @@ def build_vm_hash(vm_hash) !USER_TEMPLATE_INVALID_KEYS.include?(k) }], "TEMPLATE" => { - "NIC" => nics + "NIC" => nics, + "NIC_ALIAS" => alias_nics } } }