X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=site_type%2Fsriov-a13%2Ftemplates%2Fnetworks%2Fphysical%2Fnetworks.j2;fp=site_type%2Fsriov-a13%2Ftemplates%2Fnetworks%2Fphysical%2Fnetworks.j2;h=22b8682ff8d60191579258a5252d2035c9670f10;hb=fbb206730195c6f03ded7658d08f1ef708ebf88b;hp=0000000000000000000000000000000000000000;hpb=3395a537e26721ec33a80f66686ca932f9328722;p=yaml_builds.git diff --git a/site_type/sriov-a13/templates/networks/physical/networks.j2 b/site_type/sriov-a13/templates/networks/physical/networks.j2 new file mode 100644 index 0000000..22b8682 --- /dev/null +++ b/site_type/sriov-a13/templates/networks/physical/networks.j2 @@ -0,0 +1,308 @@ +--- +# The purpose of this file is to define all of the NetworkLinks (i.e. layer 1 +# devices) and Networks (i.e. layer 3 configurations). The following is standard +# for the logical networks in Airship: +# +# +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+ +# | Network | | Per-rack or | | | VLAN tagged | +# | Name | Purpose | per-site CIDR? | Has gateway? | Bond | or untagged? | +# +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+ +# | oob | Out of Band devices (iDrac/iLo) | per-site CIDR | Has gateway | No bond, N/A | Untagged/Native | +# | pxe | PXE boot network | per-site CIDR | No gateway | No bond, no LACP fallback. Dedicated PXE interface | Untagged/Native | +# | oam | management network | per-site CIDR | Has gateway | member of bond0 | tagged | +# | storage | storage network | per-site CIDR | No gateway | member of bond0 | tagged | +# | calico | underlay calico net; k8s traffic | per-site CIDR | No gateway | member of bond0 | tagged | +# | overlay | overlay network for openstack SDN | per-site CIDR | No gateway | member of bond0 | tagged | +# +----------+-----------------------------------+----------------+--------------+----------------------------------------------------+-----------------+ +# +# For standard Airship deployments, you should not need to modify the number of +# NetworkLinks and Networks in this file. Only the IP addresses and CIDRs should +# need editing. +# +# TODO: Given that we expect all network broadcast domains to span all racks in +# Airship, we should choose network names that do not include the rack number. +# +# TODO: FQDN naming standards for hosts +# +schema: 'drydock/NetworkLink/v1' +metadata: + schema: 'metadata/Document/v1' + name: oob + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # MaaS doesnt own this network like it does the others, so the noconfig label + # is specified. + labels: + noconfig: enabled + bonding: + mode: disabled + mtu: 1500 + linkspeed: auto + trunking: + mode: disabled + default_network: oob + allowed_networks: + - oob +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: oob + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Update with the site's out-of-band CIDR + cidr: {{yaml.networks.oob.cidr}} + routes: + # NEWSITE-CHANGEME: Update with the site's out-of-band gateway IP + - subnet: '0.0.0.0/0' + gateway: {{yaml.networks.oob.routes.gateway}} + metric: 100 + # NEWSITE-CHANGEME: Update with the site's out-of-band IP allocation range + # FIXME: Is this IP range actually used/allocated for anything? The HW already + # has its OOB IPs assigned. None of the Ubuntu OS's should need IPs on OOB + # network either, as they should be routable via the default gw on OAM network + ranges: + - type: static + start: {{yaml.networks.oob.ranges.static.start}} + end: {{yaml.networks.oob.ranges.static.end}} +... +--- +schema: 'drydock/NetworkLink/v1' +metadata: + schema: 'metadata/Document/v1' + name: pxe + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + bonding: + mode: disabled + mtu: 1500 + linkspeed: auto + trunking: + mode: disabled + default_network: pxe + allowed_networks: + - pxe +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: pxe + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Update with the site's PXE network CIDR + # NOTE: The CIDR minimum size = (number of nodes * 2) + 10 + cidr: {{yaml.networks.pxe.cidr}} + routes: + - subnet: 0.0.0.0/0 + # NEWSITE-CHANGEME: Set the OAM network gateway IP address + gateway: {{yaml.networks.pxe.routes.gateway}} + metric: 100 + # NOTE: The first 10 IPs in the subnet are reserved for network infrastructure. + # The remainder of the range is divided between two subnets of equal size: + # one static, and one DHCP. + # The DHCP addresses are used when nodes perform a PXE boot (DHCP address gets + # assigned), and when a node is commissioning in MaaS (also uses DHCP to get + # its IP address). However, when MaaS installs the operating system + # ("Deploying/Deployed" states), it will write a static IP assignment to + # /etc/network/interfaces[.d] with IPs from the "static" subnet defined here. + ranges: + # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR + - type: reserved + start: {{yaml.networks.pxe.ranges.reserved.start}} + end: {{yaml.networks.pxe.ranges.reserved.end}} + # NEWSITE-CHANGEME: Update to the first half of the remaining range after + # excluding the 10 reserved IPs. + - type: static + start: {{yaml.networks.pxe.ranges.static.start}} + end: {{yaml.networks.pxe.ranges.static.end}} + # NEWSITE-CHANGEME: Update to the second half of the remaining range after + # excluding the 10 reserved IPs. + - type: dhcp + start: {{yaml.networks.pxe.ranges.dhcp.start}} + end: {{yaml.networks.pxe.ranges.dhcp.end}} + dns: + # NEWSITE-CHANGEME: FQDN for bare metal nodes. + # Choose FQDN according to the node FQDN naming conventions at the top of + # this document. + domain: {% if 'dns' in yaml.networks.pxe and 'domain' in yaml.networks.pxe.dns %}{{yaml.networks.pxe.dns.domain}} + {% else %}{{yaml.dns.domain}} + {% endif %} + # List of upstream DNS forwards. Verify you can reach them from your + # environment. If so, you should not need to change them. + # TODO: This should be populated via substitution from common-addresses + servers: '{% if 'dns' in yaml.networks.pxe %}{{yaml.networks.pxe.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}' +... +--- +schema: 'drydock/NetworkLink/v1' +metadata: + schema: 'metadata/Document/v1' + name: data + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + bonding: +{% if yaml.networks.bonded %} + mode: 802.3ad + hash: layer3+4 + peer_rate: fast + mon_rate: 100 + up_delay: 1000 + down_delay: 3000 +{% else %} + mode: disabled +{% endif %} + # NEWSITE-CHANGEME: Ensure the network switches in the environment are + # configured for this MTU or greater. Even if switches are configured for or + # can support a slightly higher MTU, there is no need (and negliable benefit) + # to squeeze every last byte into the MTU (e.g., 9216 vs 9100). Leave MTU at + # 9100 for maximum compatibility. + mtu: 9000 + linkspeed: auto + trunking: + mode: 802.1q + allowed_networks: + - oam + - storage + - overlay + - calico +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: oam + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Set the VLAN ID which the OAM network is on + vlan: '{{yaml.networks.host.vlan}}' + mtu: 9000 + # NEWSITE-CHANGEME: Set the CIDR for the OAM network + # NOTE: The CIDR minimum size = number of nodes + 10 + cidr: {{yaml.networks.host.cidr}} + routes: + - subnet: 0.0.0.0/0 + # NEWSITE-CHANGEME: Set the OAM network gateway IP address + gateway: {{yaml.networks.host.routes.gateway}} + metric: 100 + ranges: + # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR + - type: reserved + start: {{yaml.networks.host.ranges.reserved.start}} + end: {{yaml.networks.host.ranges.reserved.end}} + # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10 + # 10 reserved IPs. + - type: static + start: {{yaml.networks.host.ranges.static.start}} + end: {{yaml.networks.host.ranges.static.end}} + dns: + # NEWSITE-CHANGEME: FQDN for bare metal nodes. + # Choose FQDN according to the node FQDN naming conventions at the top of + # this document. + domain: {% if 'dns' in yaml.networks.host and 'domain' in yaml.networks.host.dns %}{{yaml.networks.host.dns.domain}} + {% else %}{{yaml.dns.domain}} + {% endif %} + # List of upstream DNS forwards. Verify you can reach them from your + # environment. If so, you should not need to change them. + # TODO: This should be populated via substitution from common-addresses + servers: '{% if 'dns' in yaml.networks.host %}{{yaml.networks.host.dns.servers}}{% else %}{{yaml.dns.upstream_servers|join(' ')}}{% endif %}' +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: storage + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Set the VLAN ID which the storage network is on + vlan: '{{yaml.networks.storage.vlan}}' + mtu: 9000 + # NEWSITE-CHANGEME: Set the CIDR for the storage network + # NOTE: The CIDR minimum size = number of nodes + 10 + cidr: {{yaml.networks.storage.cidr}} + ranges: + # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR + - type: reserved + start: {{yaml.networks.storage.ranges.reserved.start}} + end: {{yaml.networks.storage.ranges.reserved.end}} + # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10 + # 10 reserved IPs. + - type: static + start: {{yaml.networks.storage.ranges.static.start}} + end: {{yaml.networks.storage.ranges.static.end}} +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: overlay + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Set the VLAN ID which the overlay network is on + vlan: '{{yaml.networks.neutron.vlan}}' + mtu: 9000 + # NEWSITE-CHANGEME: Set the CIDR for the overlay network + # NOTE: The CIDR minimum size = number of nodes + 10 + cidr: {{yaml.networks.neutron.cidr}} + ranges: + # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR + - type: reserved + start: {{yaml.networks.neutron.ranges.reserved.start}} + end: {{yaml.networks.neutron.ranges.reserved.end}} + # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10 + # 10 reserved IPs. + - type: static + start: {{yaml.networks.neutron.ranges.static.start}} + end: {{yaml.networks.neutron.ranges.static.end}} +... +--- +schema: 'drydock/Network/v1' +metadata: + schema: 'metadata/Document/v1' + name: calico + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: Set the VLAN ID which the calico network is on + vlan: '{{yaml.networks.ksn.vlan}}' + mtu: 9000 + # NEWSITE-CHANGEME: Set the CIDR for the calico network + # NOTE: The CIDR minimum size = number of nodes + 10 + cidr: {{yaml.networks.ksn.cidr}} + ranges: + # NEWSITE-CHANGEME: Update to the first 10 IPs in the CIDR + - type: reserved + start: {{yaml.networks.ksn.ranges.reserved.start}} + end: {{yaml.networks.ksn.ranges.reserved.end}} + # NEWSITE-CHANGEME: Update to the remaining range after excluding the 10 + # 10 reserved IPs. + - type: static + start: {{yaml.networks.ksn.ranges.static.start}} + end: {{yaml.networks.ksn.ranges.static.end}} +...