network:
backend:
- openvswitch
+{% if 'sriov' in yaml %}
- sriov
+{% endif %}
conf:
nova:
filter_scheduler:
vif_plugging_is_fatal: False
vif_plugging_timeout: 30
pci:
-{% if 'gpu' in yaml and 'alias' in yaml.gpu %}
-{% for alias in yaml.gpu.alias %}
- alias: '{ "name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI" }'
- passthrough_whitelist: '{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}'
-{% endfor %}
-{% endif %}
-{% if 'sriov' in yaml and 'alias' in yaml.sriov %}
-{% for alias in yaml.sriov.alias %}
- alias: '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}`'
-{% endfor %}
-{% endif %}
-{% if 'sriov' in yaml and 'nets' in yaml.sriov %}
-{% for sriovnet in yaml.sriov.nets %}
+{% if 'gpu' in yaml or 'sriov' in yaml %}
+ alias: |
+ {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
+ {% for alias in yaml.sriov.alias %}
+ '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}'
+ {% endfor %}
+ {% endif %}
+ {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
+ {% for alias in yaml.gpu.alias %}
+ '{"name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI"}'
+ {% endfor %}
+ {% endif %}
passthrough_whitelist: |
- [{% for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}]
-{% endfor %}
+ [
+ {%- if 'sriov' in yaml and 'nets' in yaml.sriov %}
+ {% for sriovnet in yaml.sriov.nets %}
+ {%- for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}{{',' if not loop.last else '' -}}
+ {%- endfor -%}
+ {%- if 'gpu' in yaml and 'sriov' in yaml %},{% endif -%}
+ {%- for alias in yaml.gpu.alias %}{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}{{',' if not loop.last else ''}}{% endfor -%}
+ ]
+ {% endif %}
{% endif %}
...