summaryrefslogtreecommitdiffstats
path: root/network
diff options
context:
space:
mode:
Diffstat (limited to 'network')
-rw-r--r--network/external_v6.yaml76
-rw-r--r--network/internal_api_v6.yaml72
-rw-r--r--network/network.j2105
-rw-r--r--network/network.network.j2.yaml92
-rw-r--r--network/network_v6.network.j2.yaml2
-rw-r--r--network/storage_mgmt_v6.yaml72
-rw-r--r--network/storage_v6.yaml72
-rw-r--r--network/tenant_v6.yaml72
8 files changed, 108 insertions, 455 deletions
diff --git a/network/external_v6.yaml b/network/external_v6.yaml
deleted file mode 100644
index 9d1c3d00..00000000
--- a/network/external_v6.yaml
+++ /dev/null
@@ -1,76 +0,0 @@
-heat_template_version: pike
-
-description: >
- External network. Public traffic, Neutron l3router for floating IPs/SNAT, etc.
-
-parameters:
- # the defaults here work for static IP assignment (IPAM) only
- ExternalNetCidr:
- # OpenStack uses the EUI-64 address format, which requires a /64 prefix
- default: '2001:db8:fd00:1000::/64'
- description: Cidr for the external network.
- type: string
- ExternalNetValueSpecs:
- default: {'provider:physical_network': 'external', 'provider:network_type': 'flat'}
- description: Value specs for the external network.
- type: json
- ExternalNetAdminStateUp:
- default: false
- description: The admin state of the network.
- type: boolean
- ExternalNetShared:
- default: false
- description: Whether this network is shared across all tenants.
- type: boolean
- ExternalNetName:
- default: external
- description: The name of the external network.
- type: string
- ExternalSubnetName:
- default: external_subnet
- description: The name of the external subnet in Neutron.
- type: string
- ExternalAllocationPools:
- default: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
- description: Ip allocation pool range for the external 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
- ExternalInterfaceDefaultRoute:
- default: '2001:db8:fd00:1000::1'
- description: default route for the external network
- type: string
-
-resources:
- ExternalNetwork:
- type: OS::Neutron::Net
- properties:
- admin_state_up: {get_param: ExternalNetAdminStateUp}
- name: {get_param: ExternalNetName}
- shared: {get_param: ExternalNetShared}
- value_specs: {get_param: ExternalNetValueSpecs}
-
- ExternalSubnet:
- type: OS::Neutron::Subnet
- properties:
- ip_version: 6
- ipv6_address_mode: {get_param: IPv6AddressMode}
- ipv6_ra_mode: {get_param: IPv6RAMode}
- cidr: {get_param: ExternalNetCidr}
- name: {get_param: ExternalSubnetName}
- network: {get_resource: ExternalNetwork}
- allocation_pools: {get_param: ExternalAllocationPools}
- gateway_ip: {get_param: ExternalInterfaceDefaultRoute}
-
-outputs:
- OS::stack_id:
- description: Neutron external network
- value: {get_resource: ExternalNetwork}
- subnet_cidr:
- value: {get_attr: [ExternalSubnet, cidr]}
diff --git a/network/internal_api_v6.yaml b/network/internal_api_v6.yaml
deleted file mode 100644
index 6a0912e2..00000000
--- a/network/internal_api_v6.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-heat_template_version: pike
-
-description: >
- Internal API network. Used for most APIs, Database, RPC.
-
-parameters:
- # the defaults here work for static IP assignment (IPAM) only
- InternalApiNetCidr:
- # OpenStack uses the EUI-64 address format, which requires a /64 prefix
- default: 'fd00:fd00:fd00:2000::/64'
- description: Cidr for the internal_api network.
- type: string
- InternalApiNetValueSpecs:
- default: {'provider:physical_network': 'internal_api', 'provider:network_type': 'flat'}
- description: Value specs for the internal_api network.
- type: json
- InternalApiNetAdminStateUp:
- default: false
- description: The admin state of the network.
- type: boolean
- InternalApiNetShared:
- default: false
- description: Whether this network is shared across all tenants.
- type: boolean
- InternalApiNetName:
- default: internal_api
- description: The name of the internal_api network.
- type: string
- InternalApiSubnetName:
- default: internal_api_subnet
- description: The name of the internal_api subnet in Neutron.
- type: string
- InternalApiAllocationPools:
- default: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
- description: Ip allocation pool range for the internal_api 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:
- InternalApiNetwork:
- type: OS::Neutron::Net
- properties:
- admin_state_up: {get_param: InternalApiNetAdminStateUp}
- name: {get_param: InternalApiNetName}
- shared: {get_param: InternalApiNetShared}
- value_specs: {get_param: InternalApiNetValueSpecs}
-
- InternalApiSubnet:
- type: OS::Neutron::Subnet
- properties:
- ip_version: 6
- ipv6_address_mode: {get_param: IPv6AddressMode}
- ipv6_ra_mode: {get_param: IPv6RAMode}
- cidr: {get_param: InternalApiNetCidr}
- name: {get_param: InternalApiSubnetName}
- network: {get_resource: InternalApiNetwork}
- allocation_pools: {get_param: InternalApiAllocationPools}
- gateway_ip: null
-
-outputs:
- OS::stack_id:
- description: Neutron internal network
- value: {get_resource: InternalApiNetwork}
- subnet_cidr:
- value: {get_attr: [InternalApiSubnet, cidr]}
diff --git a/network/network.j2 b/network/network.j2
new file mode 100644
index 00000000..61a5b57c
--- /dev/null
+++ b/network/network.j2
@@ -0,0 +1,105 @@
+heat_template_version: pike
+
+description: >
+ {{network.name}} network definition (automatically generated).
+
+parameters:
+ # the defaults here work for static IP assignment (IPAM) only
+ {{network.name}}NetCidr:
+{%- if network.ipv6 or ipv6_override %}
+ default: "{{network.ipv6_subnet|default(network.ip_subnet|default(""))}}"
+{%- else %}
+ default: "{{network.ip_subnet|default("")}}"
+{%- endif %}
+ description: Cidr for the {{network.name_lower}} network.
+ type: string
+ {{network.name}}NetValueSpecs:
+ default: {'provider:physical_network': '{{network.name_lower}}', 'provider:network_type': 'flat'}
+ description: Value specs for the {{network.name_lower}} network.
+ type: json
+{%- if not ":" in network.ip_subnet and not network.ipv6 and not ipv6_override %}
+ {{network.name}}NetEnableDHCP:
+ default: false
+ description: Whether to enable DHCP on the associated subnet (IPv4 only).
+ type: boolean
+{%- endif %}
+ {{network.name}}NetAdminStateUp:
+ default: false
+ description: The admin state of the network.
+ type: boolean
+ {{network.name}}NetShared:
+ default: false
+ description: Whether this network is shared across all tenants.
+ type: boolean
+ {{network.name}}NetName:
+ default: {{network.name_lower}}
+ description: The name of the {{network.name_lower}} network.
+ type: string
+ {{network.name}}SubnetName:
+ default: {{network.name_lower}}_subnet
+ description: The name of the {{network.name_lower}} subnet in Neutron.
+ type: string
+ {{network.name}}AllocationPools:
+{%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
+ default: {{network.ipv6_allocation_pools|default(network.allocation_pools|default([]))}}
+{%- else %}
+ default: {{network.allocation_pools|default([])}}
+{%- endif %}
+ description: Ip allocation pool range for the {{network.name_lower}} network.
+ type: json
+{%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
+ 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
+{%- endif %}
+ {{network.name}}InterfaceDefaultRoute:
+{%- if network.ipv6 or ipv6_override %}
+ default: "{{network.gateway_ipv6|default(network.gateway_ip|default(''))}}"
+{%- else %}
+ default: "{{network.gateway_ip|default('')}}"
+{%- endif %}
+ description: default route for the {{network.name_lower}} network
+ type: string
+{%- if network.vlan %}
+ {{network.name}}NetworkVlanID:
+ default: {{network.vlan}}
+ description: Vlan ID for the {{network.name}} network traffic.
+ type: number
+{%- endif %}
+
+resources:
+ {{network.name}}Network:
+ type: OS::Neutron::Net
+ properties:
+ admin_state_up: {get_param: {{network.name}}NetAdminStateUp}
+ name: {get_param: {{network.name}}NetName}
+ shared: {get_param: {{network.name}}NetShared}
+ value_specs: {get_param: {{network.name}}NetValueSpecs}
+
+ {{network.name}}Subnet:
+ type: OS::Neutron::Subnet
+ properties:
+{%- if ":" in network.ip_subnet or network.ipv6 or ipv6_override %}
+ ip_version: 6
+ ipv6_address_mode: {get_param: IPv6AddressMode}
+ ipv6_ra_mode: {get_param: IPv6RAMode}
+{%- else %}
+ enable_dhcp: {get_param: {{network.name}}NetEnableDHCP}
+{%- endif %}
+ cidr: {get_param: {{network.name}}NetCidr}
+ name: {get_param: {{network.name}}SubnetName}
+ network: {get_resource: {{network.name}}Network}
+ allocation_pools: {get_param: {{network.name}}AllocationPools}
+ gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute}
+
+outputs:
+ OS::stack_id:
+ description: {{network.name_lower}} network
+ value: {get_resource: {{network.name}}Network}
+ subnet_cidr:
+ value: {get_attr: [{{network.name}}Subnet, cidr]}
diff --git a/network/network.network.j2.yaml b/network/network.network.j2.yaml
index 29d58cd5..d9ff6169 100644
--- a/network/network.network.j2.yaml
+++ b/network/network.network.j2.yaml
@@ -1,91 +1 @@
-heat_template_version: pike
-
-description: >
- {{network.name}} network definition (automatically generated).
-
-parameters:
- # the defaults here work for static IP assignment (IPAM) only
- {{network.name}}NetCidr:
- default: {{network.ip_subnet|default("")}}
- description: Cidr for the {{network.name_lower}} network.
- type: string
- {{network.name}}NetValueSpecs:
- default: {'provider:physical_network': '{{network.name_lower}}', 'provider:network_type': 'flat'}
- description: Value specs for the {{network.name_lower}} network.
- type: json
- {{network.name}}NetAdminStateUp:
- default: false
- description: The admin state of the network.
- type: boolean
- {{network.name}}NetEnableDHCP:
- default: false
- description: Whether to enable DHCP on the associated subnet.
- type: boolean
- {{network.name}}NetShared:
- default: false
- description: Whether this network is shared across all tenants.
- type: boolean
- {{network.name}}NetName:
- default: {{network.name_lower}}
- description: The name of the {{network.name_lower}} network.
- type: string
- {{network.name}}SubnetName:
- default: {{network.name_lower}}_subnet
- description: The name of the {{network.name_lower}} subnet in Neutron.
- type: string
- {{network.name}}AllocationPools:
- default: {{network.allocation_pools|default([])}}
- description: Ip allocation pool range for the {{network.name_lower}} network.
- type: json
- {{network.name}}InterfaceDefaultRoute:
- default: {{network.gateway_ip|default('""')}}
- description: default route for the {{network.name_lower}} network
- type: string
-{%- if network.vlan %}
- {{network.name}}NetworkVlanID:
- default: {{network.vlan}}
- description: Vlan ID for the {{network.name}} network traffic.
- type: number
-{%- endif %}
-{%- if network.ipv6 %}
- 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
-{%- endif %}
-
-resources:
- {{network.name}}Network:
- type: OS::Neutron::Net
- properties:
- admin_state_up: {get_param: {{network.name}}NetAdminStateUp}
- name: {get_param: {{network.name}}NetName}
- shared: {get_param: {{network.name}}NetShared}
- value_specs: {get_param: {{network.name}}NetValueSpecs}
-
- {{network.name}}Subnet:
- type: OS::Neutron::Subnet
- properties:
- cidr: {get_param: {{network.name}}NetCidr}
- name: {get_param: {{network.name}}SubnetName}
- network: {get_resource: {{network.name}}Network}
- allocation_pools: {get_param: {{network.name}}AllocationPools}
- gateway_ip: {get_param: {{network.name}}InterfaceDefaultRoute}
-{%- if network.ipv6 %}
- ip_version: 6
- ipv6_address_mode: {get_param: IPv6AddressMode}
- ipv6_ra_mode: {get_param: IPv6RAMode}
-{%- else %}
- enable_dhcp: {get_param: {{network.name}}NetEnableDHCP}
-{%- endif %}
-
-outputs:
- OS::stack_id:
- description: {{network.name_lower}} network
- value: {get_resource: {{network.name}}Network}
- subnet_cidr:
- value: {get_attr: [{{network.name}}Subnet, cidr]}
+{% include 'network.j2' %}
diff --git a/network/network_v6.network.j2.yaml b/network/network_v6.network.j2.yaml
new file mode 100644
index 00000000..809d145c
--- /dev/null
+++ b/network/network_v6.network.j2.yaml
@@ -0,0 +1,2 @@
+{% set ipv6_override = true -%}
+{% include 'network.j2' %}
diff --git a/network/storage_mgmt_v6.yaml b/network/storage_mgmt_v6.yaml
deleted file mode 100644
index 7ed4c92e..00000000
--- a/network/storage_mgmt_v6.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-heat_template_version: pike
-
-description: >
- Storage management network. Storage replication, etc.
-
-parameters:
- # the defaults here work for static IP assignment (IPAM) only
- StorageMgmtNetCidr:
- # OpenStack uses the EUI-64 address format, which requires a /64 prefix
- default: 'fd00:fd00:fd00:4000::/64'
- description: Cidr for the storage_mgmt network.
- type: string
- StorageMgmtNetValueSpecs:
- default: {'provider:physical_network': 'storage_mgmt', 'provider:network_type': 'flat'}
- description: Value specs for the storage_mgmt network.
- type: json
- StorageMgmtNetAdminStateUp:
- default: false
- description: The admin state of the network.
- type: boolean
- StorageMgmtNetShared:
- default: false
- description: Whether this network is shared across all tenants.
- type: boolean
- StorageMgmtNetName:
- default: storage_mgmt
- description: The name of the storage_mgmt network.
- type: string
- StorageMgmtSubnetName:
- default: storage_mgmt_subnet
- description: The name of the storage_mgmt subnet in Neutron.
- type: string
- StorageMgmtAllocationPools:
- default: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
- description: Ip allocation pool range for the storage_mgmt 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:
- StorageMgmtNetwork:
- type: OS::Neutron::Net
- properties:
- admin_state_up: {get_param: StorageMgmtNetAdminStateUp}
- name: {get_param: StorageMgmtNetName}
- shared: {get_param: StorageMgmtNetShared}
- value_specs: {get_param: StorageMgmtNetValueSpecs}
-
- StorageMgmtSubnet:
- type: OS::Neutron::Subnet
- properties:
- ip_version: 6
- ipv6_address_mode: {get_param: IPv6AddressMode}
- ipv6_ra_mode: {get_param: IPv6RAMode}
- cidr: {get_param: StorageMgmtNetCidr}
- name: {get_param: StorageMgmtSubnetName}
- network: {get_resource: StorageMgmtNetwork}
- allocation_pools: {get_param: StorageMgmtAllocationPools}
- gateway_ip: null
-
-outputs:
- OS::stack_id:
- description: Neutron storage management network
- value: {get_resource: StorageMgmtNetwork}
- subnet_cidr:
- value: {get_attr: [StorageMgmtSubnet, cidr]}
diff --git a/network/storage_v6.yaml b/network/storage_v6.yaml
deleted file mode 100644
index 51edd4b3..00000000
--- a/network/storage_v6.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-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]}
diff --git a/network/tenant_v6.yaml b/network/tenant_v6.yaml
deleted file mode 100644
index 9f139cb1..00000000
--- a/network/tenant_v6.yaml
+++ /dev/null
@@ -1,72 +0,0 @@
-heat_template_version: pike
-
-description: >
- Tenant IPv6 network.
-
-parameters:
- # the defaults here work for static IP assignment (IPAM) only
- TenantNetCidr:
- # OpenStack uses the EUI-64 address format, which requires a /64 prefix
- default: 'fd00:fd00:fd00:5000::/64'
- description: Cidr for the tenant network.
- type: string
- TenantNetValueSpecs:
- default: {'provider:physical_network': 'tenant', 'provider:network_type': 'flat'}
- description: Value specs for the tenant network.
- type: json
- TenantNetAdminStateUp:
- default: false
- description: The admin state of the network.
- type: boolean
- TenantNetShared:
- default: false
- description: Whether this network is shared across all tenants.
- type: boolean
- TenantNetName:
- default: tenant
- description: The name of the tenant network.
- type: string
- TenantSubnetName:
- default: tenant_subnet
- description: The name of the tenant subnet in Neutron.
- type: string
- TenantAllocationPools:
- default: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
- description: Ip allocation pool range for the tenant 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:
- TenantNetwork:
- type: OS::Neutron::Net
- properties:
- admin_state_up: {get_param: TenantNetAdminStateUp}
- name: {get_param: TenantNetName}
- shared: {get_param: TenantNetShared}
- value_specs: {get_param: TenantNetValueSpecs}
-
- TenantSubnet:
- type: OS::Neutron::Subnet
- properties:
- ip_version: 6
- ipv6_address_mode: {get_param: IPv6AddressMode}
- ipv6_ra_mode: {get_param: IPv6RAMode}
- cidr: {get_param: TenantNetCidr}
- name: {get_param: TenantSubnetName}
- network: {get_resource: TenantNetwork}
- allocation_pools: {get_param: TenantAllocationPools}
- gateway_ip: null
-
-outputs:
- OS::stack_id:
- description: Neutron tenant network
- value: {get_resource: TenantNetwork}
- subnet_cidr:
- value: {get_attr: [TenantSubnet, cidr]}