mirror of
https://github.com/OpenNebula/one.git
synced 2025-01-10 01:17:40 +03:00
B #5869: Filter out unsupported CPU models
Decided to format it as a patch than an entire rewrite of the probe script. This could be rewritten to populate the models array with the supported only.
This commit is contained in:
parent
542fb9873d
commit
7961ae2416
@ -28,7 +28,7 @@ begin
|
|||||||
models = []
|
models = []
|
||||||
|
|
||||||
cmd = 'virsh -r -c qemu:///system capabilities'
|
cmd = 'virsh -r -c qemu:///system capabilities'
|
||||||
capabilities, e, s = Open3.capture3(cmd)
|
capabilities, _e, s = Open3.capture3(cmd)
|
||||||
exit(-1) unless s.success?
|
exit(-1) unless s.success?
|
||||||
|
|
||||||
cap_xml = REXML::Document.new(capabilities)
|
cap_xml = REXML::Document.new(capabilities)
|
||||||
@ -87,7 +87,8 @@ begin
|
|||||||
end
|
end
|
||||||
|
|
||||||
cmd = "virsh -r -c qemu:///system cpu-models #{a}"
|
cmd = "virsh -r -c qemu:///system cpu-models #{a}"
|
||||||
cpu_models, e, s = Open3.capture3(cmd)
|
cpu_models, _e, s = Open3.capture3(cmd)
|
||||||
|
|
||||||
break unless s.success?
|
break unless s.success?
|
||||||
|
|
||||||
cpu_models.each_line do |l|
|
cpu_models.each_line do |l|
|
||||||
@ -98,6 +99,21 @@ begin
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Filter out the unsupported CPU models
|
||||||
|
cmd = 'virsh -c qemu:///system domcapabilities kvm'
|
||||||
|
domcapabilities, _e, s = Open3.capture3(cmd)
|
||||||
|
|
||||||
|
if s.success?
|
||||||
|
domcap_xml = REXML::Document.new(domcapabilities)
|
||||||
|
domcap_xml = domcap_xml.root
|
||||||
|
|
||||||
|
cpu_mode_custom_elem = domcap_xml.elements["cpu/mode[@name='custom',@supported='yes']"]
|
||||||
|
|
||||||
|
cpu_mode_custom_elem.elements.each("model[@usable='no']") do |m|
|
||||||
|
models.delete(m.text)
|
||||||
|
end if cpu_mode_custom_elem
|
||||||
|
end
|
||||||
|
|
||||||
machines.uniq!
|
machines.uniq!
|
||||||
models.uniq!
|
models.uniq!
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user