Merge branch 'master' into pci_network

This commit is contained in:
Dmitry Vasilets
2018-02-02 17:48:00 +01:00
committed by GitHub
8 changed files with 48 additions and 0 deletions

View File

@@ -34,6 +34,7 @@ module VagrantPlugins
@uuid = config.uuid
@cpus = config.cpus.to_i
@cpu_features = config.cpu_features
@cpu_topology = config.cpu_topology
@features = config.features
@cpu_mode = config.cpu_mode
@cpu_model = config.cpu_model
@@ -176,6 +177,10 @@ module VagrantPlugins
env[:ui].info(" -- Forced UUID: #{@uuid}") if @uuid != ''
env[:ui].info(" -- Domain type: #{@domain_type}")
env[:ui].info(" -- Cpus: #{@cpus}")
if not @cpu_topology.empty?
env[:ui].info(" -- CPU topology: sockets=#{@cpu_topology[:sockets]}, cores=#{@cpu_topology[:cores]}, threads=#{@cpu_topology[:threads]}")
end
env[:ui].info("")
@cpu_features.each do |cpu_feature|
env[:ui].info(" -- CPU Feature: name=#{cpu_feature[:name]}, policy=#{cpu_feature[:policy]}")
end

View File

@@ -47,6 +47,11 @@ module VagrantPlugins
message_attributes
))
if fp[:protocol] == 'udp'
env[:ui].warn I18n.t('vagrant_libvirt.warnings.forwarding_udp')
next
end
ssh_pid = redirect_port(
@env[:machine],
fp[:host_ip] || 'localhost',
@@ -95,6 +100,7 @@ module VagrantPlugins
StrictHostKeyChecking=no
PasswordAuthentication=no
ForwardX11=#{ssh_info[:forward_x11] ? 'yes' : 'no'}
IdentitiesOnly=#{ssh_info[:keys_only] ? 'yes' : 'no'}
) + ssh_info[:private_key_path].map do |pk|
"IdentityFile='\"#{pk}\"'"
end).map { |s| s.prepend('-o ') }.join(' ')

View File

@@ -67,6 +67,7 @@ module VagrantPlugins
attr_accessor :cpu_model
attr_accessor :cpu_fallback
attr_accessor :cpu_features
attr_accessor :cpu_topology
attr_accessor :features
attr_accessor :numa_nodes
attr_accessor :loader
@@ -175,6 +176,7 @@ module VagrantPlugins
@cpu_model = UNSET_VALUE
@cpu_fallback = UNSET_VALUE
@cpu_features = UNSET_VALUE
@cpu_topology = UNSET_VALUE
@features = UNSET_VALUE
@numa_nodes = UNSET_VALUE
@loader = UNSET_VALUE
@@ -319,6 +321,20 @@ module VagrantPlugins
policy: options[:policy])
end
def cputopology(options = {})
if options[:sockets].nil? || options[:cores].nil? || options[:threads].nil?
raise 'CPU topology must have all of sockets, cores and threads specified'
end
if @cpu_topology == UNSET_VALUE
@cpu_topology = {}
end
@cpu_topology[:sockets] = options[:sockets]
@cpu_topology[:cores] = options[:cores]
@cpu_topology[:threads] = options[:threads]
end
def memorybacking(option, config = {})
case option
when :source
@@ -600,6 +616,7 @@ module VagrantPlugins
elsif @cpu_mode != 'custom'
''
end
@cpu_topology = {} if @cpu_topology == UNSET_VALUE
@cpu_fallback = 'allow' if @cpu_fallback == UNSET_VALUE
@cpu_features = [] if @cpu_features == UNSET_VALUE
@features = ['acpi','apic','pae'] if @features == UNSET_VALUE

View File

@@ -15,6 +15,10 @@
<% @cpu_features.each do |cpu_feature| %>
<feature name='<%= cpu_feature[:name] %>' policy='<%= cpu_feature[:policy] %>'/>
<% end %>
<% unless @cpu_topology.empty? %>
<%# CPU topology -%>
<topology sockets='<%= @cpu_topology[:sockets] %>' cores='<%= @cpu_topology[:cores] %>' threads='<%= @cpu_topology[:threads] %>'/>
<% end %>
<% end %>
<% if @numa_nodes %>
<numa>