86e444196ab218e7cae6c760db8bcbdb9f7a109a
[yaml_builds.git] / site_type / ovsdpdk / templates / networks / physical / rack.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: 'drydock/NetworkLink/v1'
19 metadata:
20   schema: 'metadata/Document/v1'
21   name: oob
22   layeringDefinition:
23     abstract: false
24     layer: site
25   storagePolicy: cleartext
26 data:
27   labels:
28     noconfig: enabled
29   bonding:
30     mode: disabled
31   mtu: 9000
32   linkspeed: auto
33   trunking:
34     mode: disabled
35     default_network: oob
36   allowed_networks:
37     - oob
38 ...
39 ---
40 schema: 'drydock/Network/v1'
41 metadata:
42   schema: 'metadata/Document/v1'
43   name: oob
44   layeringDefinition:
45     abstract: false
46     layer: site
47   storagePolicy: cleartext
48 data:
49   cidr: {{yaml.networks.oob.cidr}}
50   routes:
51   - subnet: '0.0.0.0/0'
52     gateway: {{yaml.networks.oob.routes.gateway}}
53   ranges:
54   - type: static
55     start: {{yaml.networks.oob.ranges.static.start}}
56     end: {{yaml.networks.oob.ranges.static.end}}
57 ...
58 ---
59 schema: 'drydock/NetworkLink/v1'
60 metadata:
61   schema: 'metadata/Document/v1'
62   name: pxe
63   layeringDefinition:
64     abstract: false
65     layer: site
66   storagePolicy: cleartext
67 data:
68   bonding:
69     mode: disabled
70   mtu: 9000
71   linkspeed: auto
72   trunking:
73     mode: disabled
74     default_network: pxe
75   allowed_networks:
76     - pxe
77 ...
78 ---
79 schema: 'drydock/Network/v1'
80 metadata:
81   schema: 'metadata/Document/v1'
82   name: pxe
83   layeringDefinition:
84     abstract: false
85     layer: site
86   storagePolicy: cleartext
87 data:
88   cidr: {{yaml.networks.pxe.cidr}}
89   routes:
90   - subnet: '0.0.0.0/0'
91     gateway: {{yaml.networks.pxe.routes.gateway}}
92   ranges:
93   - type: reserved
94     start: {{yaml.networks.pxe.ranges.reserved.start}}
95     end: {{yaml.networks.pxe.ranges.reserved.end}}
96   - type: static
97     start: {{yaml.networks.pxe.ranges.static.start}}
98     end: {{yaml.networks.pxe.ranges.static.end}}
99   - type: dhcp
100     start: {{yaml.networks.pxe.ranges.dhcp.start}}
101     end: {{yaml.networks.pxe.ranges.dhcp.end}}
102   dns:
103     domain: {% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
104             {% else %}{{yaml.dns.domain}}
105             {% endif %}
106     servers: '{% if 'dns' in yaml.networks.pxe %}{{yaml.networks.pxe.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}'
107 ...
108 ---
109 schema: 'drydock/NetworkLink/v1'
110 metadata:
111   schema: 'metadata/Document/v1'
112   name: bond0
113   layeringDefinition:
114     abstract: false
115     layer: site
116   storagePolicy: cleartext
117 data:
118   bonding:
119 {% if yaml.networks.bonded %}
120     mode: 802.3ad
121     hash: layer3+4
122     peer_rate: fast
123     mon_rate: 100
124     up_delay: 1000
125     down_delay: 3000
126 {% else %}
127     mode: disabled
128 {% endif %}
129   mtu: 9000
130   linkspeed: auto
131   trunking:
132     mode: 802.1q
133   allowed_networks:
134     - oam
135     - storage
136     - overlay
137     - calico
138 ...
139 ---
140 schema: 'drydock/Network/v1'
141 metadata:
142   schema: 'metadata/Document/v1'
143   name: oam
144   layeringDefinition:
145     abstract: false
146     layer: site
147   storagePolicy: cleartext
148 data:
149   vlan: '{{yaml.networks.host.vlan}}'
150   mtu: 9000
151   cidr: {{yaml.networks.host.cidr}}
152   routes:
153   - subnet: '0.0.0.0/0'
154     gateway: {{yaml.networks.host.routes.gateway}}
155   ranges:
156   - type: reserved
157     start: {{yaml.networks.host.ranges.reserved.start}}
158     end: {{yaml.networks.host.ranges.reserved.end}}
159   - type: static
160     start: {{yaml.networks.host.ranges.static.start}}
161     end: {{yaml.networks.host.ranges.static.end}}
162   dns:
163     domain: {% if 'dns' in yaml.networks.host and 'domain' in yaml.networks.host.dns %}{{yaml.networks.host.dns.domain}}
164             {% else %}{{yaml.dns.domain}}
165             {% endif %}
166     servers: '{% if 'dns' in yaml.networks.host %}{{yaml.networks.host.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}'
167 ...
168 ---
169 schema: 'drydock/Network/v1'
170 metadata:
171   schema: 'metadata/Document/v1'
172   name: storage
173   layeringDefinition:
174     abstract: false
175     layer: site
176   storagePolicy: cleartext
177 data:
178   vlan: '{{yaml.networks.storage.vlan}}'
179   mtu: 9000
180   cidr: {{yaml.networks.storage.cidr}}
181   ranges:
182   - type: static
183     start: {{yaml.networks.storage.ranges.static.start}}
184     end: {{yaml.networks.storage.ranges.static.end}}
185 ...
186 ---
187 schema: 'drydock/Network/v1'
188 metadata:
189   schema: 'metadata/Document/v1'
190   name: overlay
191   layeringDefinition:
192     abstract: false
193     layer: site
194   storagePolicy: cleartext
195 data:
196   vlan: '{{yaml.networks.neutron.vlan}}'
197   mtu: 9000
198   cidr: {{yaml.networks.neutron.cidr}}
199   ranges:
200   - type: static
201     start: {{yaml.networks.neutron.ranges.static.start}}
202     end: {{yaml.networks.neutron.ranges.static.end}}
203 ...
204 ---
205 schema: 'drydock/Network/v1'
206 metadata:
207   schema: 'metadata/Document/v1'
208   name: calico
209   layeringDefinition:
210     abstract: false
211     layer: site
212   storagePolicy: cleartext
213 data:
214   vlan: '{{yaml.networks.ksn.vlan}}'
215   mtu: 9000
216   cidr: {{yaml.networks.ksn.cidr}}
217   ranges:
218   - type: static
219     start: {{yaml.networks.ksn.ranges.static.start}}
220     end: {{yaml.networks.ksn.ranges.static.end}}
221 ...