X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=blobdiff_plain;f=site_type%2Fovsdpdk-a13%2Ftemplates%2Fbaremetal%2Fnodes.j2;fp=site_type%2Fovsdpdk-a13%2Ftemplates%2Fbaremetal%2Fnodes.j2;h=04280bf4725b011fc82c4d2f47abe5c552ee3054;hb=4ef0e0a733df21b39be32c773be73c688d4466af;hp=0000000000000000000000000000000000000000;hpb=267230d53447c489d10905f260f503f2e71d414f;p=yaml_builds.git diff --git a/site_type/ovsdpdk-a13/templates/baremetal/nodes.j2 b/site_type/ovsdpdk-a13/templates/baremetal/nodes.j2 new file mode 100644 index 0000000..04280bf --- /dev/null +++ b/site_type/ovsdpdk-a13/templates/baremetal/nodes.j2 @@ -0,0 +1,219 @@ +--- +# # Drydock BaremetalNode resources for a specific rack are stored in this file. +# # +# # NOTE: For new sites, you should complete the networks/physical/networks.yaml +# # file before working on this file. +# # +# # In this file, you should make the number of `drydock/BaremetalNode/v1` +# # resources equal the number of bare metal nodes you have, either by deleting +# # excess BaremetalNode definitions (if there are too many), or by copying and +# # pasting the last BaremetalNode in the file until you have the correct number +# # of baremetal nodes (if there are too few). +# # +# # Then in each file, address all additional NEWSITE-CHANGEME markers to update +# # the data in these files with the right values for your new site. +# # +# # *NOTE: The Genesis node is counted as one of the control plane nodes. Note +# # that the Genesis node does not appear on this bare metal list, because the +# # procedure to reprovision the Genesis host with MaaS has not yet been +# # implemented. Therefore there will be only three bare metal nodes in this file +# # with the 'masters' tag, as the genesis roles are assigned in a difference +# # place (profiles/genesis.yaml). +# # NOTE: The host profiles for the control plane are further divided into two +# # variants: primary and secondary. The only significance this has is that the +# # "primary" nodes are active Ceph nodes, whereas the "secondary" nodes are Ceph +# # standby nodes. For Ceph quorum, this means that the control plane split will +# # be 3 primary + 1 standby host profile, and the Genesis node counts toward one +# # of the 3 primary profiles. Other control plane services are not affected by +# # primary vs secondary designation. +# # +# # TODO: Include the hostname naming convention +# # +# schema: 'drydock/BaremetalNode/v1' +# metadata: + # schema: 'metadata/Document/v1' + # # NEWSITE-CHANGEME: Replace with the hostname of the first node in the rack, + # # after (excluding) genesis. + # name: cab23-r720-12 + # layeringDefinition: + # abstract: false + # layer: site + # storagePolicy: cleartext +# data: + # # NEWSITE-CHANGEME: The IPv4 address assigned to each logical network on this + # # node. In the reference Airship deployment, this is all logical Networks defined + # # in networks/physical/networks.yaml. IP addresses are manually assigned, by-hand. + # # (what could possibly go wrong!) The instructions differ for each logical + # # network, which are laid out below. + # addressing: + # # The iDrac/iLo IP of the node. It's important that this match up with the + # # node's hostname above, so that the rack number and node position encoded + # # in the hostname are accurate and matching the node that IPMI operations + # # will be performed against (for poweron, poweroff, PXE boot to wipe disk or + # # reconfigure identity, etc - very important to get right for these reasons). + # # These addresses should already be assigned to nodes racked and stacked in + # # the environment; these are not addresses which MaaS assigns. + # - network: oob + # address: 10.23.104.12 + # # The IP of the node on the PXE network. Refer to the static IP range + # # defined for the PXE network in networks/physical/networks.yaml. Begin allocating + # # IPs from this network, starting with the second IP (inclusive) from the + # # allocation range of this subnet (Genesis node will have the first IP). + # # Ex: If the start IP for the PXE "static" network is 10.23.20.11, then + # # genesis will have 10.23.20.11, this node will have 10.23.20.12, and + # # so on with incrementing IP addresses with each additional node. + # - network: pxe + # address: 10.23.20.12 + # # Genesis node gets first IP, all other nodes increment IPs from there + # # within the allocation range defined for the network in + # # networks/physical/networks.yaml + # - network: oam + # address: 10.23.21.12 + # # Genesis node gets first IP, all other nodes increment IPs from there + # # within the allocation range defined for the network in + # # networks/physical/networks.yaml + # - network: storage + # address: 10.23.23.12 + # # Genesis node gets first IP, all other nodes increment IPs from there + # # within the allocation range defined for the network in + # # networks/physical/networks.yaml + # - network: overlay + # address: 10.23.24.12 + # # Genesis node gets first IP, all other nodes increment IPs from there + # # within the allocation range defined for the network in + # # networks/physical/networks.yaml + # - network: calico + # address: 10.23.22.12 + # # NEWSITE-CHANGEME: Set the host profile for the node. + # # Note that there are different host profiles depending if this is a control + # # plane vs data plane node, and different profiles that map to different types + # # hardware. Control plane host profiles are further broken down into "primary" + # # and "secondary" profiles (refer to the Notes section at the top of this doc). + # # Select the host profile that matches up to your type of + # # hardware and function. E.g., the r720 here refers to Dell R720 hardware, the + # # 'cp' refers to a control plane profile, and the "primary" means it will be + # # an active member in the ceph quorum. Refer to profiles/host/ for the list + # # of available host profiles specific to this site (otherwise, you may find + # # a general set of host profiles at the "type" or "global" layers/folders. + # # If you have hardware that is not on this list of profiles, you may need to + # # create a new host profile for that hardware. + # # Regarding control plane vs other data plane profiles, refer to the notes at + # # the beginning of this file. There should be one control plane node per rack, + # # including Genesis. Note Genesis won't actually be listed in this file as a + # # BaremetalNode, but the rest are. + # # This is the second "primary" control plane node after Genesis. + # host_profile: cp_r720-primary + # metadata: + # tags: + # # NEWSITE-CHANGEME: See previous comment. Apply 'masters' tag for control + # # plane node, and 'workers' tag for data plane hosts. + # - 'masters' + # # NEWSITE-CHANGEME: Refer to site engineering package or other supporting + # # documentation for the specific rack name. This should be a rack name that + # # is meaningful to data center personnel (i.e. a rack they could locate if + # # you gave them this rack designation). + # rack: cab23 +# ... +{% for server in yaml.masters %} +{% if loop.index > 1 %} +--- +{% endif %} +schema: 'drydock/BaremetalNode/v1' +metadata: + schema: 'metadata/Document/v1' + # NEWSITE-CHANGEME: The next node's hostname + name: {{server.name}} + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: The next node's IPv4 addressing + addressing: + - network: oob + address: {{server.oob}} + - network: pxe + address: {{server.pxe}} + - network: oam + address: {{server.host}} + - network: storage + address: {{server.storage}} + - network: overlay + address: {{server.neutron}} + - network: calico + address: {{server.ksn}} + - network: dpdk + address: {{server.vxlan}} + # NEWSITE-CHANGEME: The next node's host profile +{% if loop.index < 3 %} + host_profile: cp_r720-primary +{% else %} + host_profile: cp_r720-secondary +{% endif %} + metadata: + # NEWSITE-CHANGEME: The next node's rack designation + rack: cab23 + # NEWSITE-CHANGEME: The next node's role desigatnion + tags: + - 'masters' +{% if 'platform' in yaml %} + platform: + kernel_params: +{% for key, value in yaml.platform.kernel_params.items() %} + {{key}}: '{{value}}' +{% endfor %} +{% if 'vcpu_pin_set' in yaml.platform %} + isolcpus: '{{yaml.platform.vcpu_pin_set}}' +{% endif %} +{% endif %} +... +{% endfor %} +{% if 'workers' in yaml %}{% for server in yaml.workers %} +--- +schema: 'drydock/BaremetalNode/v1' +metadata: + schema: 'metadata/Document/v1' + # NEWSITE-CHANGEME: The next node's hostname + name: cab23-r720-14 + layeringDefinition: + abstract: false + layer: site + storagePolicy: cleartext +data: + # NEWSITE-CHANGEME: The next node's IPv4 addressing + addressing: + - network: oob + address: {{server.oob}} + - network: pxe + address: {{server.pxe}} + - network: oam + address: {{server.host}} + - network: storage + address: {{server.storage}} + - network: overlay + address: {{server.neutron}} + - network: calico + address: {{server.ksn}} + - network: dpdk + address: {{server.vxlan}} + # NEWSITE-CHANGEME: The next node's host profile + # This is the third "primary" control plane profile after genesis + host_profile: dp_r720 + metadata: + # NEWSITE-CHANGEME: The next node's rack designation + rack: cab23 + # NEWSITE-CHANGEME: The next node's role desigatnion + tags: + - 'workers' +{% if 'platform' in yaml %} + platform: + kernel_params: +{% for key, value in yaml.platform.kernel_params.items() %} + {{key}}: '{{value}}' +{% endfor %} +{% if 'vcpu_pin_set' in yaml.platform %} + isolcpus: '{{yaml.platform.vcpu_pin_set}}' +{% endif %} +{% endif %} +... +{% endfor %}{% endif %}