Project

General

Profile

« Previous | Next » 

Revision d5f47458

Added by Timo Goebel over 7 years ago

fixes #4166 - vmware: update cpus, memory for vms

View differences:

app/helpers/compute_resources_vms_helper.rb
host.try(:new_record?)
end
def vsphere_resource_pools(form, compute_resource)
def vsphere_resource_pools(form, compute_resource, new_host = false)
resource_pools = compute_resource.available_resource_pools(:cluster_id => form.object.cluster) rescue []
selectable_f form, :resource_pool, resource_pools, { }, :class => "col-md-2", :label => _('Resource pool')
selectable_f form, :resource_pool, resource_pools, { }, :class => "col-md-2", :label => _('Resource pool'), :disabled => !new_host
end
def vms_table
app/models/compute_resources/foreman/model/vmware.rb
true
end
def supports_update?
true
end
def capabilities
[:build, :image]
end
......
true
end
def update_required?(old_attrs, new_attrs)
super(old_attrs.deep_merge(old_attrs) {|_,_,v| v.to_s}, new_attrs)
end
# === Power on
#
# Foreman will try and start this vm after clone in a seperate request.
app/views/compute_resources_vms/form/vmware/_base.html.erb
<%= javascript 'compute_resource' %>
<%= javascript_tag("$(document).on('ContentLoad', tfm.numFields.initCounter)"); %>
<%= text_f f, :name, :label => _('Name'), :disabled => !new_host if show_vm_name? %>
<%= counter_f f, :cpus, :disabled => !new_host, :label => _('CPUs'), :label_size => 'col-md-2', :'data-soft-max' => compute_resource.max_cpu_count %>
<%= counter_f f, :cpus, :label => _('CPUs'), :label_size => 'col-md-2', :'data-soft-max' => compute_resource.max_cpu_count %>
<%= counter_f f, :corespersocket, :disabled => !new_host, :label => _('Cores per socket'), :label_size => 'col-md-2', :'data-soft-max' => compute_resource.max_cpu_count, :value => f.object.corespersocket || 1 %>
<%= text_f f, :memory_mb, :class => "col-md-2", :disabled => !new_host, :label => _("Memory (MB)") %>
<%= counter_f f, :corespersocket, :label => _('Cores per socket'), :label_size => 'col-md-2', :'data-soft-max' => compute_resource.max_cpu_count, :value => f.object.corespersocket || 1 %>
<%= text_f f, :memory_mb, :class => "col-md-2", :label => _("Memory (MB)") %>
<%= field(f, :firmware, :label => _('Firmware'), :label_size => "col-md-2") do
compute_resource.firmware_types.collect do |type, name|
radio_button_f f, :firmware, {:disabled => !new_host, :value => type, :text => _(name)}
......
:label => _('Cluster'), :onchange => 'vsphereGetResourcePools(this)',
:help_inline => :indicator,
:data => {:url => resource_pools_compute_resource_path(compute_resource)} %>
<%= vsphere_resource_pools(f, compute_resource)%>
<%= vsphere_resource_pools(f, compute_resource, new_host) %>
<%= select_f f, :path, compute_resource.folders, :path, :to_label , {}, { :label => _("Folder"), :class => "col-md-2", :disabled => !new_host } %>
<%= select_f f, :guest_id, compute_resource.guest_types, :first, :last, {}, { :label => _("Guest OS"), :class => "col-md-2", :disabled => !new_host } %>
<%= select_f f, :scsi_controller_type, compute_resource.scsi_controller_types, :first, :last, {}, { :label => _("SCSI controller"), :class => "col-md-2", :disabled => !new_host } %>
app/views/compute_resources_vms/form/vmware/_network.html.erb
<%= select_f f, :type, compute_resource.nictypes, :first, :last, { },
:class => "col-md-3 vmware_type",
:label => _('NIC type'), :label_size => "col-md-3"
:label => _('NIC type'), :label_size => "col-md-3", :disabled => !new_host
%>
<% if new_host %>
<%= select_f f, :network, vsphere_networks(compute_resource), :first, :last, { },
......
:label => _('Network'), :label_size => "col-md-3"
%>
<% else %>
<%= text_f f, :network, :class => 'col-md-3 vmware_network', :label => _("Network"), :label_size => "col-md-3" %>
<%= text_f f, :network, :class => 'col-md-3 vmware_network', :label => _("Network"), :label_size => "col-md-3", :disabled => true %>
<% end %>
app/views/compute_resources_vms/form/vmware/_volume.html.erb
<% if new_host %>
<%= selectable_f f, :datastore, vsphere_datastores(compute_resource), { }, :class => "span5", :label => _("Data store"), :label_size => "col-md-2" %>
<% else %>
<%= text_f f, :datastore, :class => "span5", :label => _("Data store"), :label_size => "col-md-2" %>
<%= text_f f, :datastore, :class => "span5", :label => _("Data store"), :label_size => "col-md-2", :disabled => true %>
<% end %>
<%= text_f f, :name, :class => "col-md-2", :label => _("Name"), :label_size => "col-md-2" %>
<%= text_f f, :name, :class => "col-md-2", :label => _("Name"), :label_size => "col-md-2", :disabled => !new_host %>
<%= text_f f, :size_gb,
:class => "col-md-2",
:label => _("Size (GB)"), :label_size => "col-md-2" %>
:label => _("Size (GB)"), :label_size => "col-md-2", :disabled => !new_host %>
<%= checkbox_f f, :thin, {
:label => _("Thin provision"), :label_size => "col-md-2"},
:label => _("Thin provision"), :label_size => "col-md-2", :disabled => !new_host},
"true",
"false" %>
<%= checkbox_f f, :eager_zero, {
:label => _("Eager zero"), :label_size => "col-md-2"},
:label => _("Eager zero"), :label_size => "col-md-2", :disabled => !new_host},
"true",
"false" %>
bundler.d/vmware.rb
group :vmware do
gem 'fog-vsphere', '>= 0.6.2'
gem 'fog-vsphere', '>= 1.6.0'
end

Also available in: Unified diff