085420f75add3dbc2e9abf9e0693dacaaa5c3f70
[yaml_builds.git] / site_type / ovsdpdk / templates / baremetal / rack.j2
1 {% for server in yaml.masters %}
2 ---
3 ##############################################################################
4 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.        #
5 #                                                                            #
6 # Licensed under the Apache License, Version 2.0 (the "License"); you may    #
7 # not use this file except in compliance with the License.                   #
8 #                                                                            #
9 # You may obtain a copy of the License at                                    #
10 #       http://www.apache.org/licenses/LICENSE-2.0                           #
11 #                                                                            #
12 # Unless required by applicable law or agreed to in writing, software        #
13 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT  #
14 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.           #
15 # See the License for the specific language governing permissions and        #
16 # limitations under the License.                                             #
17 ##############################################################################
18 schema: 'drydock/BaremetalNode/v1'
19 metadata:
20   schema: 'metadata/Document/v1'
21   name: {{server.name}}
22   layeringDefinition:
23     abstract: false
24     layer: site
25   storagePolicy: cleartext
26 data:
27   host_profile: ControlPlane
28   # the hostname for a server, could be used in multiple DNS domains to
29   # represent different interfaces
30   addressing:
31       # Which network the address applies to. If a network appears in addressing
32       # that isn't assigned to an interface, design validation will fail
33     - network: oob
34       address: {{server.oob}}
35     - network: pxe
36       # The address assigned. Either a explicit IPv4 or IPv6 address
37       # or dhcp or slaac
38       address: {{server.pxe}}
39     - network: oam
40       address: {{server.host}}
41     - network: storage
42       address: {{server.storage}}
43     - network: overlay
44       address: {{server.neutron}}
45     - network: calico
46       address: {{server.ksn}}
47     - network: dpdk
48       address: {{server.vxlan}}
49   metadata:
50     rack: RACK01
51     tags:
52       - 'masters'
53   platform:
54     kernel_params:
55       hugepagesz: '1G'
56       hugepages: 32
57       default_hugepagesz: '1G'
58       iommu: 'pt'
59       intel_iommu: 'on'
60 ...
61 {% endfor %}
62 {% if 'workers' in yaml %}{% for server in yaml.workers %}
63 ---
64 schema: 'drydock/BaremetalNode/v1'
65 metadata:
66   schema: 'metadata/Document/v1'
67   name: {{server.name}}
68   layeringDefinition:
69     abstract: false
70     layer: site
71   storagePolicy: cleartext
72 data:
73   host_profile: ComputePlane
74   # the hostname for a server, could be used in multiple DNS domains to
75   # represent different interfaces
76   addressing:
77       # Which network the address applies to. If a network appears in addressing
78       # that isn't assigned to an interface, design validation will fail
79     - network: oob
80       address: {{server.oob}}
81     - network: pxe
82       # The address assigned. Either a explicit IPv4 or IPv6 address
83       # or dhcp or slaac
84       address: {{server.pxe}}
85     - network: oam
86       address: {{server.host}}
87     - network: storage
88       address: {{server.storage}}
89     - network: overlay
90       address: {{server.neutron}}
91     - network: calico
92       address: {{server.ksn}}
93     - network: dpdk
94       address: {{server.vxlan}}
95   metadata:
96     rack: RACK01
97     tags:
98       - 'workers'
99   platform:
100     kernel_params:
101       hugepagesz: '1G'
102       hugepages: 32
103       default_hugepagesz: '1G'
104       iommu: 'pt'
105       intel_iommu: 'on'
106 ...
107 {% endfor %}{% endif %}