Project

General

Profile

« Previous | Next » 

Revision 693391ba

Added by Dominic Cleal almost 10 years ago

fixes #5652 - run parse_args when calling new_vm for compute profiles

View differences:

app/models/compute_resources/foreman/model/vmware.rb
end
def parse_args args
dc_networks = networks
args["interfaces_attributes"].each do |key, interface|
# Convert network id into name
net = dc_networks.find { |n| n.id == interface["network"] }
raise "Unknown Network ID: #{interface["network"]}" if net.nil?
interface["network"] = net.name
end
args = args.symbolize_keys
# convert rails nested_attributes into a plain, symbolized hash
......
args
end
def create_vm controller_args = { }
args = parse_args controller_args.dup
# Change network IDs for names only at the point of creation, as IDs are
# used in the UI for select boxes etc.
def parse_networks args
args = args.deep_dup
dc_networks = networks
args["interfaces_attributes"].each do |key, interface|
# Convert network id into name
net = dc_networks.find { |n| [n.id, n.name].include?(interface["network"]) }
raise "Unknown Network ID: #{interface["network"]}" if net.nil?
interface["network"] = net.name
end if args["interfaces_attributes"]
args
end
def create_vm args = { }
test_connection
return unless errors.empty?
args = parse_networks(args)
if args[:image_id].present?
clone_vm(args)
else
......
end
def new_vm args
args = parse_args args
opts = vm_instance_defaults.symbolize_keys.merge(args.symbolize_keys)
client.servers.new opts
end
......
# +searchIndex.FindChild("Resources")+ in RbVmomi that then returns nil
# because it has no children.
def clone_vm args
args = parse_args args
path_replace = %r{/Datacenters/#{datacenter}/vm(/|)}
interfaces = client.list_vm_interfaces(args[:image_id])

Also available in: Unified diff