ff259a4cb517b2fd65d6a3c693a4faacfbe550e4
[yaml_builds.git] / 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: {{yaml.networks.pxe.dns.domain}}
104     servers: '{{yaml.networks.pxe.dns.servers}}'
105 ...
106 ---
107 schema: 'drydock/NetworkLink/v1'
108 metadata:
109   schema: 'metadata/Document/v1'
110   name: bond0
111   layeringDefinition:
112     abstract: false
113     layer: site
114   storagePolicy: cleartext
115 data:
116   bonding:
117 {% if yaml.networks.bonded %}
118     mode: 802.3ad
119     hash: layer3+4
120     peer_rate: fast
121     mon_rate: 100
122     up_delay: 1000
123     down_delay: 3000
124 {% else %}
125     mode: disabled
126 {% endif %}
127   mtu: 9000
128   linkspeed: auto
129   trunking:
130     mode: 802.1q
131   allowed_networks:
132     - oam
133     - storage
134     - overlay
135     - calico
136 ...
137 ---
138 schema: 'drydock/Network/v1'
139 metadata:
140   schema: 'metadata/Document/v1'
141   name: oam
142   layeringDefinition:
143     abstract: false
144     layer: site
145   storagePolicy: cleartext
146 data:
147   vlan: '{{yaml.networks.host.vlan}}'
148   mtu: 9000
149   cidr: {{yaml.networks.host.cidr}}
150   routes:
151   - subnet: '0.0.0.0/0'
152     gateway: {{yaml.networks.host.routes.gateway}}
153   ranges:
154   - type: reserved
155     start: {{yaml.networks.host.ranges.reserved.start}}
156     end: {{yaml.networks.host.ranges.reserved.end}}
157   - type: static
158     start: {{yaml.networks.host.ranges.static.start}}
159     end: {{yaml.networks.host.ranges.static.end}}
160   dns:
161     domain: {{yaml.networks.host.dns.domain}}
162     servers: '{{yaml.networks.host.dns.servers}}'
163 ...
164 ---
165 schema: 'drydock/Network/v1'
166 metadata:
167   schema: 'metadata/Document/v1'
168   name: storage
169   layeringDefinition:
170     abstract: false
171     layer: site
172   storagePolicy: cleartext
173 data:
174   vlan: '{{yaml.networks.storage.vlan}}'
175   mtu: 9000
176   cidr: {{yaml.networks.storage.cidr}}
177   ranges:
178   - type: static
179     start: {{yaml.networks.storage.ranges.static.start}}
180     end: {{yaml.networks.storage.ranges.static.end}}
181 ...
182 ---
183 schema: 'drydock/Network/v1'
184 metadata:
185   schema: 'metadata/Document/v1'
186   name: overlay
187   layeringDefinition:
188     abstract: false
189     layer: site
190   storagePolicy: cleartext
191 data:
192   vlan: '{{yaml.networks.neutron.vlan}}'
193   mtu: 9000
194   cidr: {{yaml.networks.neutron.cidr}}
195   ranges:
196   - type: static
197     start: {{yaml.networks.neutron.ranges.static.start}}
198     end: {{yaml.networks.neutron.ranges.static.end}}
199 ...
200 ---
201 schema: 'drydock/Network/v1'
202 metadata:
203   schema: 'metadata/Document/v1'
204   name: calico
205   layeringDefinition:
206     abstract: false
207     layer: site
208   storagePolicy: cleartext
209 data:
210   vlan: '{{yaml.networks.ksn.vlan}}'
211   mtu: 9000
212   cidr: {{yaml.networks.ksn.cidr}}
213   ranges:
214   - type: static
215     start: {{yaml.networks.ksn.ranges.static.start}}
216     end: {{yaml.networks.ksn.ranges.static.end}}
217 ...