Appendix B. Custom NIC template
The following is a template to get you started with the configuring the network interface templates for spine leaf networking. Note that the resources
section is incomplete and requires your interface definitions.
heat_template_version: queens parameters: # Supernets StorageSupernet: type: string StorageMgmtSupernet: type: string InternalApiSupernet: type: string TenantSupernet: type: string ExternalSupernet: type: string # Default Routes ControlPlane0DefaultRoute: type: string ControlPlane1DefaultRoute: type: string ControlPlane2DefaultRoute: type: string StorageInterfaceDefaultRoute: type: string Storage1InterfaceDefaultRoute: type: string Storage2InterfaceDefaultRoute: type: string StorageMgmtInterfaceDefaultRoute: type: string StorageMgmt1InterfaceDefaultRoute: type: string StorageMgmt2InterfaceDefaultRoute: type: string InternalApiInterfaceDefaultRoute: type: string InternalApi1InterfaceDefaultRoute: type: string InternalApi2InterfaceDefaultRoute: type: string TenantInterfaceDefaultRoute: type: string Tenant1InterfaceDefaultRoute: type: string Tenant2InterfaceDefaultRoute: type: string ExternalInterfaceDefaultRoute: type: string # IP subnets StorageIpSubnet: default: '' type: string Storage1IpSubnet: default: '' type: string Storage2IpSubnet: default: '' type: string StorageMgmtIpSubnet: default: '' type: string StorageMgmt1IpSubnet: default: '' type: string StorageMgmt2IpSubnet: default: '' type: string InternalApiIpSubnet: default: '' type: string InternalApi1IpSubnet: default: '' type: string InternalApi2IpSubnet: default: '' type: string TenantIpSubnet: default: '' type: string Tenant1IpSubnet: default: '' type: string Tenant2IpSubnet: default: '' type: string ExternalIpSubnet: default: '' type: string ManagementIpSubnet: default: '' type: string # VLAN IDs StorageNetworkVlanID: type: number Storage1NetworkVlanID: type: number Storage2NetworkVlanID: type: number StorageMgmtNetworkVlanID: type: number StorageMgmt1NetworkVlanID: type: number StorageMgmt2NetworkVlanID: type: number InternalApiNetworkVlanID: type: number InternalApi1NetworkVlanID: type: number InternalApi1NetworkVlanID: type: number TenantNetworkVlanID: type: number Tenant1NetworkVlanID: type: number Tenant2NetworkVlanID: type: number ExternalNetworkVlanID: type: number ManagementNetworkVlanID: type: number # Subnet CIDR ControlPlane0SubnetCidr: type: string ControlPlane1SubnetCidr: type: string ControlPlane1SubnetCidr: type: string ControlPlaneIp: type: string DnsServers: type: comma_delimited_list # EC2 metadata server IPs Leaf0EC2MetadataIp: type: string Leaf1EC2MetadataIp: type: string Leaf2EC2MetadataIp: type: string resources: OsNetConfigImpl: type: OS::Heat::SoftwareConfig properties: group: script config: str_replace: template: get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh params: $network_config: network_config: [NETWORK CONFIG HERE] outputs: OS::stack_id: description: The OsNetConfigImpl resource. value: get_resource: OsNetConfigImpl