File: pci.pp

package info (click to toggle)
puppet-module-nova 25.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,100 kB
  • sloc: ruby: 11,433; python: 38; sh: 10; makefile: 10
file content (34 lines) | stat: -rw-r--r-- 1,015 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# Class nova::compute::pci
#
# Configures nova compute pci options
#
# === Parameters:
#
#  [*passthrough*]
#   (optional) Pci passthrough list of hash.
#   Defaults to $facts['os_service_default']
#   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']
#
class nova::compute::pci(
  $passthrough         = $facts['os_service_default'],
  $report_in_placement = $facts['os_service_default'],
) {
  include nova::deps

  if !is_service_default($passthrough) and !empty($passthrough) {
    $passthrough_real = to_array_of_json_strings($passthrough)
  } else {
    $passthrough_real = $facts['os_service_default']
  }

  nova_config {
    'pci/device_spec':         value => $passthrough_real;
    'pci/report_in_placement': value => $report_in_placement;
  }
}