Project

General

Profile

« Previous | Next » 

Revision 7e27bdf3

Added by Dominic Cleal about 10 years ago

fixes #4590 - convert VMware SCSI controller type during creation

View differences:

app/models/compute_resources/foreman/model/vmware.rb
args[collection] = nested_attributes_for(collection, nested_attrs) if nested_attrs
end
if args[:scsi_controller_type].present?
args[:scsi_controller] = {:type => args.delete(:scsi_controller_type)}
end
args.reject! { |k, v| v.nil? }
args
end
app/models/concerns/fog_extensions/vsphere/server.rb
scsi_controller.type
end
def scsi_controller_type= type
scsi_controller[:type] = type
end
end
end
end
test/unit/compute_resources/vmware_test.rb
class VmwareTest < ActiveSupport::TestCase
test "#create_vm calls new_vm when network provisioning" do
attrs_in = HashWithIndifferentAccess.new("cpus"=>"1", "interfaces_attributes"=>{"new_interfaces"=>{"type"=>"VirtualE1000", "network"=>"network-17", "_delete"=>""}, "0"=>{"type"=>"VirtualVmxnet3", "network"=>"network-17", "_delete"=>""}}, "volumes_attributes"=>{"new_volumes"=>{"size_gb"=>"10", "_delete"=>""}, "0"=>{"size_gb"=>"1", "_delete"=>""}})
attrs_in = HashWithIndifferentAccess.new("cpus"=>"1", "scsi_controller_type"=>"ParaVirtualSCSIController", "interfaces_attributes"=>{"new_interfaces"=>{"type"=>"VirtualE1000", "network"=>"network-17", "_delete"=>""}, "0"=>{"type"=>"VirtualVmxnet3", "network"=>"network-17", "_delete"=>""}}, "volumes_attributes"=>{"new_volumes"=>{"size_gb"=>"10", "_delete"=>""}, "0"=>{"size_gb"=>"1", "_delete"=>""}})
# All keys must be symbolized
attrs_out = {:cpus=>"1", :interfaces=>[{:type=>"VirtualVmxnet3", :network=>"Test network", :_delete=>""}], :volumes=>[{:size_gb=>"1", :_delete=>""}]}
attrs_out = {:cpus=>"1", :interfaces=>[{:type=>"VirtualVmxnet3", :network=>"Test network", :_delete=>""}], :volumes=>[{:size_gb=>"1", :_delete=>""}], :scsi_controller=>{:type=>"ParaVirtualSCSIController"}}
mock_vm = mock('vm')
mock_vm.expects(:save).returns(mock_vm)

Also available in: Unified diff