89c935f5993df613804a177b0b41c18ae2d9fdd9
[yaml_builds.git] / site_type / ovsdpdk / templates / software / charts / osh / openstack-compute-kit / nova.j2
1 ---
2 ##############################################################################
3 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
4 #                                                                            #
5 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
6 # not use this file except in compliance with the License.                   #
7 #                                                                            #
8 # You may obtain a copy of the License at                                    #
9 #       http://www.apache.org/licenses/LICENSE-2.0                           #
10 #                                                                            #
11 # Unless required by applicable law or agreed to in writing, software        #
12 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
13 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
14 # See the License for the specific language governing permissions and        #
15 # limitations under the License.                                             #
16 ##############################################################################
17
18 schema: armada/Chart/v1
19 metadata:
20   schema: metadata/Document/v1
21   name: nova
22   labels:
23     component: nova
24   layeringDefinition:
25     abstract: false
26     layer: site
27     parentSelector:
28       name: nova-global
29     actions:
30       - method: merge
31         path: .
32   storagePolicy: cleartext
33 data:
34   values:
35     network:
36       backend:
37         - openvswitch
38         - sriov
39     conf:
40       nova:
41         filter_scheduler:
42           enabled_filters: "RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter, PciPassthroughFilter, NUMATopologyFilter, DifferentHostFilter, SameHostFilter"
43         libvirt:
44           virt_type: kvm
45         DEFAULT:
46           vcpu_pin_set: {% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}"{{yaml.platform.vcpu_pin_set}}"
47 {% else %}"4-21,26-43,48-65,72-87"
48 {% endif %}
49           vif_plugging_is_fatal: False
50           vif_plugging_timeout: 30
51         pci:
52 {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
53 {% for alias in yaml.gpu.alias %}
54           alias: '{ "name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI" }'
55           passthrough_whitelist: '{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}'
56 {% endfor %}
57 {% endif %}
58 {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
59 {% for alias in yaml.sriov.alias %}
60           alias: '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}`'
61 {% endfor %}
62 {% endif %}
63 {% if 'sriov' in yaml and 'nets' in yaml.sriov %}
64 {% for sriovnet in yaml.sriov.nets %}
65           passthrough_whitelist: |
66             [{% for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}]
67 {% endfor %}
68 {% endif %}
69 ...