Merge "Revert "Remove parameter nova::compute::pci_passthrough"" into stable/ussuri
This commit is contained in:
commit
9b1f29fe93
|
@ -284,6 +284,14 @@
|
|||
# this should be set in the api.pp class instead.
|
||||
# Defaults to undef
|
||||
#
|
||||
# [*pci_passthrough*]
|
||||
# DEPRECATED. Use nova::compute::pci::passthrough instead.
|
||||
# (optional) Pci passthrough list of hash.
|
||||
# Defaults to undef
|
||||
# Example of format:
|
||||
# [ { "vendor_id" => "1234","product_id" => "5678" },
|
||||
# { "vendor_id" => "4321","product_id" => "8765", "physical_network" => "default" } ]
|
||||
#
|
||||
class nova::compute (
|
||||
$enabled = true,
|
||||
$manage_service = true,
|
||||
|
@ -340,6 +348,7 @@ class nova::compute (
|
|||
$install_bridge_utils = undef,
|
||||
$vcpu_pin_set = undef,
|
||||
$allow_resize_to_same_host = undef,
|
||||
$pci_passthrough = undef,
|
||||
) {
|
||||
|
||||
include nova::deps
|
||||
|
@ -350,6 +359,12 @@ class nova::compute (
|
|||
$cpu_dedicated_set_real = pick(join(any2array($cpu_dedicated_set), ','), $::os_service_default)
|
||||
|
||||
include nova::pci
|
||||
if $pci_passthrough {
|
||||
# Note: also remove the pick from nova::compute::pci
|
||||
warning('The pci_passthrough parameter is deprecated and will be removed in X. Please use nova::compute::pci::passthrough instead.')
|
||||
}
|
||||
include nova::compute::pci
|
||||
|
||||
include nova::compute::vgpu
|
||||
include nova::vendordata
|
||||
|
||||
|
|
|
@ -90,6 +90,11 @@ describe 'nova::compute' do
|
|||
is_expected.to contain_package('genisoimage').that_requires('Anchor[nova::install::begin]')
|
||||
is_expected.to contain_package('genisoimage').that_comes_before('Anchor[nova::install::end]')
|
||||
end
|
||||
|
||||
it 'configures nova pci_passthrough_whitelist' do
|
||||
is_expected.to contain_class('nova::compute::pci')
|
||||
is_expected.to contain_nova_config('pci/passthrough_whitelist').with(:value => '<SERVICE DEFAULT>')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with overridden parameters' do
|
||||
|
@ -221,6 +226,56 @@ describe 'nova::compute' do
|
|||
end
|
||||
end
|
||||
|
||||
context 'with pci params array' do
|
||||
let :params do
|
||||
{
|
||||
:pci_passthrough => [
|
||||
{
|
||||
"vendor_id" => "8086",
|
||||
"product_id" => "0126"
|
||||
},
|
||||
{
|
||||
"vendor_id" => "9096",
|
||||
"product_id" => "1520",
|
||||
"physical_network" => "physnet1"
|
||||
}
|
||||
],
|
||||
}
|
||||
end
|
||||
|
||||
it 'configures nova pci_passthrough_whitelist entries' do
|
||||
is_expected.to contain_class('nova::compute::pci')
|
||||
is_expected.to contain_nova_config('pci/passthrough_whitelist').with(
|
||||
'value' => ['{"vendor_id":"8086","product_id":"0126"}','{"vendor_id":"9096","product_id":"1520","physical_network":"physnet1"}']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'with pci params JSON encoded string (deprecated)' do
|
||||
let :params do
|
||||
{
|
||||
:pci_passthrough => "[{\"vendor_id\":\"8086\",\"product_id\":\"0126\"},{\"vendor_id\":\"9096\",\"product_id\":\"1520\",\"physical_network\":\"physnet1\"}]",
|
||||
}
|
||||
end
|
||||
|
||||
it 'configures nova pci_passthrough_whitelist entries' do
|
||||
is_expected.to contain_class('nova::compute::pci')
|
||||
is_expected.to contain_nova_config('pci/passthrough_whitelist').with(
|
||||
'value' => ['{"vendor_id":"8086","product_id":"0126"}','{"vendor_id":"9096","product_id":"1520","physical_network":"physnet1"}']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
context 'when vcpu_pin_set and pci params are empty' do
|
||||
let :params do
|
||||
{ :pci_passthrough => ""}
|
||||
end
|
||||
it 'clears pci_passthrough configuration' do
|
||||
is_expected.to contain_class('nova::compute::pci')
|
||||
is_expected.to contain_nova_config('pci/passthrough_whitelist').with(:value => '<SERVICE DEFAULT>')
|
||||
end
|
||||
end
|
||||
|
||||
context 'with reserved_huge_pages array' do
|
||||
let :params do
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue