Puppet Class: nova::compute::pci

Defined in:
manifests/compute/pci.pp

Overview

Class nova::compute::pci

Configures nova compute pci options

Parameters:

[*device_specs*]
 (optional) Specify the PCI devices available to VMs.
 Defaults to []
 Example of format:
 [ { "vendor_id" => "1234","product_id" => "5678" },
   { "vendor_id" => "4321","product_id" => "8765", "physical_network" => "default" } ]

[*report_in_placement*]
 (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

Parameters:

  • device_specs (Array[Hash]) (defaults to: [])
  • report_in_placement (Any) (defaults to: $facts['os_service_default'])
  • passthrough (Optional[Array[Hash]]) (defaults to: undef)


24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'manifests/compute/pci.pp', line 24

class nova::compute::pci(
  Array[Hash] $device_specs          = [],
  $report_in_placement               = $facts['os_service_default'],
  # DEPRECATED PARAMETERS
  Optional[Array[Hash]] $passthrough = undef,
) {
  include nova::deps

  if $passthrough != undef {
    warning('The passthrough parameter is deprecated. Use the device_specs parameter.')
    if empty($passthrough) {
      $device_specs_real = $facts['os_service_default']
    } else {
      $device_specs_real = to_array_of_json_strings($passthrough)
    }
  } else {
    if empty($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 => $device_specs_real;
    'pci/report_in_placement': value => $report_in_placement;
  }
}