80268a6ff2393cb1bd4dc296312a333bcd497f22
[yaml_builds.git] / site_type / sriov-a13 / templates / software / charts / osh / openstack-compute-kit / nova.j2
1 ---
2 ##############################################################################
3 # Copyright (c) 2019 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 # This file defines hardware-specific settings for nova. If you use the same
18 # hardware profile as this environment, you should not need to change this file.
19 # Otherwise, you should review the settings here and adjust for your hardware.
20 # In particular:
21 # 1. vcpu_pin_set will change if the number of logical CPUs on the hardware
22 #    changes.
23 # 2. pci alias / passthrough_whitelist could change if the NIC type or NIC
24 #    slotting changes.
25 # TODO: Should move to global layer and become tied to the hardware profile
26
27 schema: armada/Chart/v1
28 metadata:
29   schema: metadata/Document/v1
30   name: nova
31   layeringDefinition:
32     abstract: false
33     layer: site
34     parentSelector:
35       name: nova-global
36     actions:
37       - method: merge
38         path: .
39   storagePolicy: cleartext
40 data: {}
41 #data:
42 #  values:
43 #    network:
44 #      backend:
45 #        - openvswitch
46 #{% if 'sriov' in yaml %}
47 #        - sriov
48 #{% endif %}
49 #    conf:
50 #      nova:
51 #        filter_scheduler:
52 #          enabled_filters: "RetryFilter, AvailabilityZoneFilter, RamFilter, ComputeFilter, ComputeCapabilitiesFilter, ImagePropertiesFilter, ServerGroupAntiAffinityFilter, ServerGroupAffinityFilter, PciPassthroughFilter, NUMATopologyFilter, DifferentHostFilter, SameHostFilter"
53 #        libvirt:
54 #          virt_type: kvm
55 #        DEFAULT:
56 #          vcpu_pin_set: {% if 'platform' in yaml and 'vcpu_pin_set' in yaml.platform %}"{{yaml.platform.vcpu_pin_set}}"
57 #{% else %}"4-21,26-43,48-65,72-87"
58 #{% endif %}
59 #          vif_plugging_is_fatal: False
60 #          vif_plugging_timeout: 30
61 #        pci:
62 #{% if 'gpu' in yaml or 'sriov' in yaml %}
63 #          alias: |
64 #  {% if 'sriov' in yaml and 'alias' in yaml.sriov %}
65 #  {% for alias in yaml.sriov.alias %}
66 #            '{"name": "{{alias.name}}", "vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}", "capability_type": "pci", "device_type": "type-PCI", "numa_policy": "required"}'
67 #  {% endfor %}
68 #  {% endif %}
69 #  {% if 'gpu' in yaml and 'alias' in yaml.gpu %}
70 #  {% for alias in yaml.gpu.alias %}
71 #            '{"name":"{{alias.name}}", "vendor_id":"{{alias.vendor_id}}", "product_id":"{{alias.product_id}}", "device_type":"type-PCI"}'
72 #  {% endfor %}
73 #  {% endif %}
74 #          passthrough_whitelist: |
75 #            [
76 #  {%- if 'sriov' in yaml and 'nets' in yaml.sriov %}
77 #  {% for sriovnet in yaml.sriov.nets %}
78 #    {%- for vf in sriovnet.whitelists -%}{"address":"{{vf["address"]}}","physical_network":"{{sriovnet.physical}}"}{{',' if not loop.last else ''}}{% endfor %}{{',' if not loop.last else '' -}}
79 #  {%- endfor -%}
80 #  {%- if 'gpu' in yaml and 'sriov' in yaml %},{% endif -%}
81 #  {%- for alias in yaml.gpu.alias %}{"vendor_id": "{{alias.vendor_id}}", "product_id": "{{alias.product_id}}"}{{',' if not loop.last else ''}}{% endfor -%}
82 #            ]
83 #  {% endif %}
84 #{% endif %}
85 ...