update ceph-common to 10.2.11-0ubuntu0.16.04.2
[yaml_builds.git] / site_type / sriov-a13 / templates / networks / physical / networks.j2
1 ---
2 # The purpose of this file is to define all of the NetworkLinks (i.e. layer 1
3 # devices) and Networks (i.e. layer 3 configurations). The following is standard
4 # for the logical networks in Airship:
5 #
6 # +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+
7 # | Network  |                                   | Per-rack or    |              |                                                    |   VLAN tagged   |
8 # |   Name   |             Purpose               | per-site CIDR? | Has gateway? |                    Bond                            |  or untagged?   |
9 # +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+
10 # |   oob    | Out of Band devices (iDrac/iLo)   | per-site CIDR  | Has gateway  |                No bond, N/A                        | Untagged/Native |
11 # |   pxe    | PXE boot network                  | per-site CIDR  | No gateway   | No bond, no LACP fallback. Dedicated PXE interface | Untagged/Native |
12 # |   oam    | management network                | per-site CIDR  | Has gateway  |               member of bond0                      |     tagged      |
13 # | storage  | storage network                   | per-site CIDR  | No gateway   |               member of bond0                      |     tagged      |
14 # |  calico  | underlay calico net; k8s traffic  | per-site CIDR  | No gateway   |               member of bond0                      |     tagged      |
15 # | overlay  | overlay network for openstack SDN | per-site CIDR  | No gateway   |               member of bond0                      |     tagged      |
16 # +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+
17 #
18 # For standard Airship deployments, you should not need to modify the number of
19 # NetworkLinks and Networks in this file. Only the IP addresses and CIDRs should
20 # need editing.
21 #
22 # TODO: Given that we expect all network broadcast domains to span all racks in
23 # Airship, we should choose network names that do not include the rack number.
24 #
25 # TODO: FQDN naming standards for hosts
26 #
27 schema: 'drydock/NetworkLink/v1'
28 metadata:
29   schema: 'metadata/Document/v1'
30   name: oob
31   layeringDefinition:
32     abstract: false
33     layer: site
34   storagePolicy: cleartext
35 data:
36   # MaaS doesnt own this network like it does the others, so the noconfig label
37   # is specified.
38   labels:
39     noconfig: enabled
40   bonding:
41     mode: disabled
42   mtu: 1500
43   linkspeed: auto
44   trunking:
45     mode: disabled
46     default_network: oob
47   allowed_networks:
48     - oob
49 ...
50 ---
51 schema: 'drydock/Network/v1'
52 metadata:
53   schema: 'metadata/Document/v1'
54   name: oob
55   layeringDefinition:
56     abstract: false
57     layer: site
58   storagePolicy: cleartext
59 data:
60   # NEWSITE-CHANGEME: Update with the site's out-of-band CIDR
61   cidr: {{yaml.networks.oob.cidr}}
62   routes:
63     # NEWSITE-CHANGEME: Update with the site's out-of-band gateway IP
64     - subnet: '0.0.0.0/0'
65       gateway: {{yaml.networks.oob.routes.gateway}}
66       metric: 100
67   # NEWSITE-CHANGEME: Update with the site's out-of-band IP allocation range
68   # FIXME: Is this IP range actually used/allocated for anything? The HW already
69   # has its OOB IPs assigned. None of the Ubuntu OS's should need IPs on OOB
70   # network either, as they should be routable via the default gw on OAM network
71   ranges:
72     - type: static
73       start: {{yaml.networks.oob.ranges.static.start}}
74       end: {{yaml.networks.oob.ranges.static.end}}
75 ...
76 ---
77 schema: 'drydock/NetworkLink/v1'
78 metadata:
79   schema: 'metadata/Document/v1'
80   name: pxe
81   layeringDefinition:
82     abstract: false
83     layer: site
84   storagePolicy: cleartext
85 data:
86   bonding:
87     mode: disabled
88   mtu: 1500
89   linkspeed: auto
90   trunking:
91     mode: disabled
92     default_network: pxe
93   allowed_networks:
94     - pxe
95 ...
96 ---
97 schema: 'drydock/Network/v1'
98 metadata:
99   schema: 'metadata/Document/v1'
100   name: pxe
101   layeringDefinition:
102     abstract: false
103     layer: site
104   storagePolicy: cleartext
105 data:
106   # NEWSITE-CHANGEME: Update with the site's PXE network CIDR
107   # NOTE: The CIDR minimum size = (number of nodes * 2) + 10
108   cidr: {{yaml.networks.pxe.cidr}}
109   routes:
110     - subnet: 0.0.0.0/0
111       # NEWSITE-CHANGEME: Set the OAM network gateway IP address
112       gateway: {{yaml.networks.pxe.routes.gateway}}
113       metric: 100
114   # NOTE: The first 10 IPs in the subnet are reserved for network infrastructure.
115   # The remainder of the range is divided between two subnets of equal size:
116   # one static, and one DHCP.
117   # The DHCP addresses are used when nodes perform a PXE boot (DHCP address gets
118   # assigned), and when a node is commissioning in MaaS (also uses DHCP to get
119   # its IP address). However, when MaaS installs the operating system
120   # ("Deploying/Deployed" states), it will write a static IP assignment to
121   # /etc/network/interfaces[.d] with IPs from the "static" subnet defined here.
122   ranges:
123     # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR
124     - type: reserved
125       start: {{yaml.networks.pxe.ranges.reserved.start}}
126       end: {{yaml.networks.pxe.ranges.reserved.end}}
127     # NEWSITE-CHANGEME: Update to the first half of the remaining range after
128     # excluding the 10 reserved IPs.
129     - type: static
130       start: {{yaml.networks.pxe.ranges.static.start}}
131       end: {{yaml.networks.pxe.ranges.static.end}}
132     # NEWSITE-CHANGEME: Update to the second half of the remaining range after
133     # excluding the 10 reserved IPs.
134     - type: dhcp
135       start: {{yaml.networks.pxe.ranges.dhcp.start}}
136       end: {{yaml.networks.pxe.ranges.dhcp.end}}
137   dns:
138     # NEWSITE-CHANGEME: FQDN for bare metal nodes.
139     # Choose FQDN according to the node FQDN naming conventions at the top of
140     # this document.
141     domain: {% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}}
142             {% else %}{{yaml.dns.domain}}
143             {% endif %}
144     # List of upstream DNS forwards. Verify you can reach them from your
145     # environment. If so, you should not need to change them.
146     # TODO: This should be populated via substitution from common-addresses
147     servers: '{% if 'dns' in yaml.networks.pxe %}{{yaml.networks.pxe.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}'
148 ...
149 ---
150 schema: 'drydock/NetworkLink/v1'
151 metadata:
152   schema: 'metadata/Document/v1'
153   name: data
154   layeringDefinition:
155     abstract: false
156     layer: site
157   storagePolicy: cleartext
158 data:
159   bonding:
160 {% if yaml.networks.bonded %}
161     mode: 802.3ad
162     hash: layer3+4
163     peer_rate: fast
164     mon_rate: 100
165     up_delay: 1000
166     down_delay: 3000
167 {% else %}
168     mode: disabled
169 {% endif %}
170   # NEWSITE-CHANGEME: Ensure the network switches in the environment are
171   # configured for this MTU or greater. Even if switches are configured for or
172   # can support a slightly higher MTU, there is no need (and negliable benefit)
173   # to squeeze every last byte into the MTU (e.g., 9216 vs 9100). Leave MTU at
174   # 9100 for maximum compatibility.
175   mtu: 9000
176   linkspeed: auto
177   trunking:
178     mode: 802.1q
179   allowed_networks:
180     - oam
181     - storage
182     - overlay
183     - calico
184 ...
185 ---
186 schema: 'drydock/Network/v1'
187 metadata:
188   schema: 'metadata/Document/v1'
189   name: oam
190   layeringDefinition:
191     abstract: false
192     layer: site
193   storagePolicy: cleartext
194 data:
195   # NEWSITE-CHANGEME: Set the VLAN ID which the OAM network is on
196   vlan: '{{yaml.networks.host.vlan}}'
197   mtu: 9000
198   # NEWSITE-CHANGEME: Set the CIDR for the OAM network
199   # NOTE: The CIDR minimum size = number of nodes + 10
200   cidr: {{yaml.networks.host.cidr}}
201   routes:
202     - subnet: 0.0.0.0/0
203       # NEWSITE-CHANGEME: Set the OAM network gateway IP address
204       gateway: {{yaml.networks.host.routes.gateway}}
205       metric: 100
206   ranges:
207     # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR
208     - type: reserved
209       start: {{yaml.networks.host.ranges.reserved.start}}
210       end: {{yaml.networks.host.ranges.reserved.end}}
211     # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10
212     # 10 reserved IPs.
213     - type: static
214       start: {{yaml.networks.host.ranges.static.start}}
215       end: {{yaml.networks.host.ranges.static.end}}
216   dns:
217     # NEWSITE-CHANGEME: FQDN for bare metal nodes.
218     # Choose FQDN according to the node FQDN naming conventions at the top of
219     # this document.
220     domain: {% if 'dns' in yaml.networks.host and 'domain' in yaml.networks.host.dns %}{{yaml.networks.host.dns.domain}}
221             {% else %}{{yaml.dns.domain}}
222             {% endif %}
223     # List of upstream DNS forwards. Verify you can reach them from your
224     # environment. If so, you should not need to change them.
225     # TODO: This should be populated via substitution from common-addresses
226     servers: '{% if 'dns' in yaml.networks.host %}{{yaml.networks.host.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}'
227 ...
228 ---
229 schema: 'drydock/Network/v1'
230 metadata:
231   schema: 'metadata/Document/v1'
232   name: storage
233   layeringDefinition:
234     abstract: false
235     layer: site
236   storagePolicy: cleartext
237 data:
238   # NEWSITE-CHANGEME: Set the VLAN ID which the storage network is on
239   vlan: '{{yaml.networks.storage.vlan}}'
240   mtu: 9000
241   # NEWSITE-CHANGEME: Set the CIDR for the storage network
242   # NOTE: The CIDR minimum size = number of nodes + 10
243   cidr: {{yaml.networks.storage.cidr}}
244   ranges:
245     # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR
246     - type: reserved
247       start: {{yaml.networks.storage.ranges.reserved.start}}
248       end: {{yaml.networks.storage.ranges.reserved.end}}
249     # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10
250     # 10 reserved IPs.
251     - type: static
252       start: {{yaml.networks.storage.ranges.static.start}}
253       end: {{yaml.networks.storage.ranges.static.end}}
254 ...
255 ---
256 schema: 'drydock/Network/v1'
257 metadata:
258   schema: 'metadata/Document/v1'
259   name: overlay
260   layeringDefinition:
261     abstract: false
262     layer: site
263   storagePolicy: cleartext
264 data:
265   # NEWSITE-CHANGEME: Set the VLAN ID which the overlay network is on
266   vlan: '{{yaml.networks.neutron.vlan}}'
267   mtu: 9000
268   # NEWSITE-CHANGEME: Set the CIDR for the overlay network
269   # NOTE: The CIDR minimum size = number of nodes + 10
270   cidr: {{yaml.networks.neutron.cidr}}
271   ranges:
272     # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR
273     - type: reserved
274       start: {{yaml.networks.neutron.ranges.reserved.start}}
275       end: {{yaml.networks.neutron.ranges.reserved.end}}
276     # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10
277     # 10 reserved IPs.
278     - type: static
279       start: {{yaml.networks.neutron.ranges.static.start}}
280       end: {{yaml.networks.neutron.ranges.static.end}}
281 ...
282 ---
283 schema: 'drydock/Network/v1'
284 metadata:
285   schema: 'metadata/Document/v1'
286   name: calico
287   layeringDefinition:
288     abstract: false
289     layer: site
290   storagePolicy: cleartext
291 data:
292   # NEWSITE-CHANGEME: Set the VLAN ID which the calico network is on
293   vlan: '{{yaml.networks.ksn.vlan}}'
294   mtu: 9000
295   # NEWSITE-CHANGEME: Set the CIDR for the calico network
296   # NOTE: The CIDR minimum size = number of nodes + 10
297   cidr: {{yaml.networks.ksn.cidr}}
298   ranges:
299     # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR
300     - type: reserved
301       start: {{yaml.networks.ksn.ranges.reserved.start}}
302       end: {{yaml.networks.ksn.ranges.reserved.end}}
303     # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10
304     # 10 reserved IPs.
305     - type: static
306       start: {{yaml.networks.ksn.ranges.static.start}}
307       end: {{yaml.networks.ksn.ranges.static.end}}
308 ...