Configure the pci_passthrough_whitelist via THT
authorkarthik s <ksundara@redhat.com>
Tue, 14 Jun 2016 12:14:38 +0000 (17:44 +0530)
committerSaravanan KR <skramaja@redhat.com>
Sat, 27 Aug 2016 02:55:54 +0000 (08:25 +0530)
It allows the operator to configure pci_passthrough_whitelist
in nova.conf for each of the compute nodes.

implements: blueprint tripleo-sriov

Depends-On: I5ed53cfffe80dbbbb9dcee7c2ea6037afbed2382
Change-Id: Ic5e099fe788046363536f913272b2814abe165fa
Signed-off-by: karthik s <ksundara@redhat.com>
puppet/services/nova-compute.yaml

index 13ec03e..6bc1c18 100644 (file)
@@ -40,6 +40,19 @@ parameters:
     default: ''
     description: Libvirt VIF driver configuration for the network
     type: string
+  NovaPCIPassthrough:
+    description: >
+      List of PCI Passthrough whitelist parameters.
+      Example -
+      NovaPCIPassthrough:
+        - vendor_id: "8086"
+          product_id: "154c"
+          address: "0000:05:00.0"
+          physical_network: "datacentre"
+      For different formats, refer to the nova.conf documentation for
+      pci_passthrough_whitelist configuration
+    type: json
+    default: ''
   NovaVcpuPinSet:
     description: >
       A list or range of physical CPU cores to reserve for virtual machine
@@ -47,6 +60,7 @@ parameters:
       Ex. NovaVcpuPinSet: ['4-12','^8'] will reserve cores from 4-12 excluding 8
     type: comma_delimited_list
     default: []
+
 resources:
   NovaBase:
     type: ./nova-base.yaml
@@ -64,6 +78,11 @@ outputs:
         map_merge:
           - get_attr: [NovaBase, role_data, config_settings]
           - nova::compute::libvirt::manage_libvirt_services: false
+            nova::compute::pci_passthrough:
+              str_replace:
+                template: "'JSON_PARAM'"
+                params:
+                  JSON_PARAM: {get_param: NovaPCIPassthrough}
             nova::compute::vcpu_pin_set: {get_param: NovaVcpuPinSet}
             # we manage migration in nova common puppet profile
             nova::compute::libvirt::migration_support: false