heat_template_version: pike description: > Storage network. parameters: # the defaults here work for static IP assignment (IPAM) only StorageNetCidr: # OpenStack uses the EUI-64 address format, which requires a /64 prefix default: 'fd00:fd00:fd00:3000::/64' description: Cidr for the storage network. type: string StorageNetValueSpecs: default: {'provider:physical_network': 'storage', 'provider:network_type': 'flat'} description: Value specs for the storage network. type: json StorageNetAdminStateUp: default: false description: The admin state of the network. type: boolean StorageNetShared: default: false description: Whether this network is shared across all tenants. type: boolean StorageNetName: default: storage description: The name of the storage network. type: string StorageSubnetName: default: storage_subnet description: The name of the storage subnet in Neutron. type: string StorageAllocationPools: default: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] description: Ip allocation pool range for the storage network. type: json IPv6AddressMode: default: dhcpv6-stateful description: Neutron subnet IPv6 address mode type: string IPv6RAMode: default: dhcpv6-stateful description: Neutron subnet IPv6 router advertisement mode type: string resources: StorageNetwork: type: OS::Neutron::Net properties: admin_state_up: {get_param: StorageNetAdminStateUp} name: {get_param: StorageNetName} shared: {get_param: StorageNetShared} value_specs: {get_param: StorageNetValueSpecs} StorageSubnet: type: OS::Neutron::Subnet properties: ip_version: 6 ipv6_address_mode: {get_param: IPv6AddressMode} ipv6_ra_mode: {get_param: IPv6RAMode} cidr: {get_param: StorageNetCidr} name: {get_param: StorageSubnetName} network: {get_resource: StorageNetwork} allocation_pools: {get_param: StorageAllocationPools} gateway_ip: null outputs: OS::stack_id: description: Neutron storage network value: {get_resource: StorageNetwork} subnet_cidr: value: {get_attr: [StorageSubnet, cidr]}