heat_template_version: wallaby description: Create networks to split out Overcloud traffic parameters: CtlplaneNetworkCidrs: type: json description: Cidrs for the ctlplane network. CtlplaneNetworkAttributes: type: json default: {} description: > A map containing attributes of the undercloud ctlplane network and subnets. NOTE: The value for this parameter is automatically populated in the plan environment by tripleoclient. resources: StorageNetwork: type: OS::TripleO::Network::Storage StorageMgmtNetwork: type: OS::TripleO::Network::StorageMgmt InternalApiNetwork: type: OS::TripleO::Network::InternalApi TenantNetwork: type: OS::TripleO::Network::Tenant ExternalNetwork: type: OS::TripleO::Network::External NetworkExtraConfig: type: OS::TripleO::Network::ExtraConfig outputs: net_cidr_map: value: # NOTE(hjensas): If a network does not have any network_cidrs, fall back # to the ctlplane (provisioning) network. storage: yaql: data: network_cidrs: {get_attr: [StorageNetwork, network_cidrs]} ctlplane_cidrs: {get_param: CtlplaneNetworkCidrs} expression: switch(not isList($.data.network_cidrs) => $.data.ctlplane_cidrs, $.data.network_cidrs => $.data.network_cidrs) storage_mgmt: yaql: data: network_cidrs: {get_attr: [StorageMgmtNetwork, network_cidrs]} ctlplane_cidrs: {get_param: CtlplaneNetworkCidrs} expression: switch(not isList($.data.network_cidrs) => $.data.ctlplane_cidrs, $.data.network_cidrs => $.data.network_cidrs) internal_api: yaql: data: network_cidrs: {get_attr: [InternalApiNetwork, network_cidrs]} ctlplane_cidrs: {get_param: CtlplaneNetworkCidrs} expression: switch(not isList($.data.network_cidrs) => $.data.ctlplane_cidrs, $.data.network_cidrs => $.data.network_cidrs) tenant: yaql: data: network_cidrs: {get_attr: [TenantNetwork, network_cidrs]} ctlplane_cidrs: {get_param: CtlplaneNetworkCidrs} expression: switch(not isList($.data.network_cidrs) => $.data.ctlplane_cidrs, $.data.network_cidrs => $.data.network_cidrs) external: yaql: data: network_cidrs: {get_attr: [ExternalNetwork, network_cidrs]} ctlplane_cidrs: {get_param: CtlplaneNetworkCidrs} expression: switch(not isList($.data.network_cidrs) => $.data.ctlplane_cidrs, $.data.network_cidrs => $.data.network_cidrs) net_ip_version_map: value: storage: {get_attr: [StorageNetwork, ip_version]} storage_mgmt: {get_attr: [StorageMgmtNetwork, ip_version]} internal_api: {get_attr: [InternalApiNetwork, ip_version]} tenant: {get_attr: [TenantNetwork, ip_version]} external: {get_attr: [ExternalNetwork, ip_version]} net_attributes_map: value: ctlplane: {get_param: CtlplaneNetworkAttributes} storage: network: {get_attr: [StorageNetwork, network_attrs]} subnets: {get_attr: [StorageNetwork, subnet_attrs]} storage_mgmt: network: {get_attr: [StorageMgmtNetwork, network_attrs]} subnets: {get_attr: [StorageMgmtNetwork, subnet_attrs]} internal_api: network: {get_attr: [InternalApiNetwork, network_attrs]} subnets: {get_attr: [InternalApiNetwork, subnet_attrs]} tenant: network: {get_attr: [TenantNetwork, network_attrs]} subnets: {get_attr: [TenantNetwork, subnet_attrs]} external: network: {get_attr: [ExternalNetwork, network_attrs]} subnets: {get_attr: [ExternalNetwork, subnet_attrs]}