From 9f346a829234d7cde26509be7fb7f937d6ae75cf Mon Sep 17 00:00:00 2001 From: Takashi Kajinami Date: Sun, 16 Mar 2025 23:59:36 +0900 Subject: [PATCH] Rename nova::compute::pci::paththrough ... to make the naming consistent with the actual option name in nova ([pci] device_spec). Change-Id: I7b5ec4669b47192a799f8dcc3672082547e25d76 --- manifests/compute/pci.pp | 33 ++++++++++++++----- ...eprecate-passthrough-cdb90e96a74b6b79.yaml | 5 +++ spec/classes/nova_compute_pci_spec.rb | 16 ++++----- 3 files changed, 38 insertions(+), 16 deletions(-) create mode 100644 releasenotes/notes/deprecate-passthrough-cdb90e96a74b6b79.yaml diff --git a/manifests/compute/pci.pp b/manifests/compute/pci.pp index 1375817e9..21c62b7e4 100644 --- a/manifests/compute/pci.pp +++ b/manifests/compute/pci.pp @@ -4,8 +4,8 @@ # # === Parameters: # -# [*passthrough*] -# (optional) Pci passthrough list of hash. +# [*device_specs*] +# (optional) Specify the PCI devices available to VMs. # Defaults to $facts['os_service_default'] # Example of format: # [ { "vendor_id" => "1234","product_id" => "5678" }, @@ -15,20 +15,37 @@ # (optional) Enable PCI resource inventory reporting to Placement. # Defaults to $facts['os_service_default'] # +# DEPRECATED PARAMETERS +# +# [*passthrough*] +# (optional) Pci passthrough list of hash. +# Defaults to undef +# class nova::compute::pci( - $passthrough = $facts['os_service_default'], - $report_in_placement = $facts['os_service_default'], + $device_specs = $facts['os_service_default'], + $report_in_placement = $facts['os_service_default'], + # DEPRECATED PARAMETERS + $passthrough = undef, ) { include nova::deps - if !is_service_default($passthrough) and !empty($passthrough) { - $passthrough_real = to_array_of_json_strings($passthrough) + if $passthrough != undef { + warning('The passthrough parameter is deprecated. Use the device_specs parameter.') + if empty($passthrough) or is_service_default($passthrough) { + $device_specs_real = $facts['os_service_default'] + } else { + $device_specs_real = to_array_of_json_strings($passthrough) + } } else { - $passthrough_real = $facts['os_service_default'] + if empty($device_specs) or is_service_default($device_specs) { + $device_specs_real = $facts['os_service_default'] + } else { + $device_specs_real = to_array_of_json_strings($device_specs) + } } nova_config { - 'pci/device_spec': value => $passthrough_real; + 'pci/device_spec': value => $device_specs_real; 'pci/report_in_placement': value => $report_in_placement; } } diff --git a/releasenotes/notes/deprecate-passthrough-cdb90e96a74b6b79.yaml b/releasenotes/notes/deprecate-passthrough-cdb90e96a74b6b79.yaml new file mode 100644 index 000000000..6b52cc705 --- /dev/null +++ b/releasenotes/notes/deprecate-passthrough-cdb90e96a74b6b79.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + The ``nova::compute::pci::passthrough`` parameter has been deprecated in + favor of the new ``device_specs`` parameter. diff --git a/spec/classes/nova_compute_pci_spec.rb b/spec/classes/nova_compute_pci_spec.rb index 026a846cc..f9b0d8930 100644 --- a/spec/classes/nova_compute_pci_spec.rb +++ b/spec/classes/nova_compute_pci_spec.rb @@ -22,10 +22,10 @@ describe 'nova::compute::pci' do end end - context 'with passthrough array' do + context 'with device_specs array' do let :params do { - :passthrough => [ + :device_specs => [ { "vendor_id" => "8086", "product_id" => "0126" @@ -45,10 +45,10 @@ describe 'nova::compute::pci' do end end - context 'with passthrough JSON encoded string' do + context 'with device_specs JSON encoded string' do let :params do { - :passthrough => "[{\"vendor_id\":\"8086\",\"product_id\":\"0126\"},{\"vendor_id\":\"9096\",\"product_id\":\"1520\",\"physical_network\":\"physnet1\"}]", + :device_specs => "[{\"vendor_id\":\"8086\",\"product_id\":\"0126\"},{\"vendor_id\":\"9096\",\"product_id\":\"1520\",\"physical_network\":\"physnet1\"}]", } end @@ -59,10 +59,10 @@ describe 'nova::compute::pci' do end end - context 'when passthrough is empty' do + context 'when device_specs is empty' do let :params do { - :passthrough => [] + :device_specs => [] } end @@ -71,10 +71,10 @@ describe 'nova::compute::pci' do end end - context 'when passthrough is empty string' do + context 'when device_specs is empty string' do let :params do { - :passthrough => "" + :device_specs => "" } end