diff --git a/bond-network-templates/DEPRECATED b/bond-network-templates/DEPRECATED new file mode 100644 index 0000000..f10f688 --- /dev/null +++ b/bond-network-templates/DEPRECATED @@ -0,0 +1,3 @@ +WARNING: This directory is deprecated and may be removed in the future. +A duplicate copy of these network templates can be found in the +overcloud-templates directory in a sub-directory with the same name as this one. diff --git a/ipv6-network-templates/DEPRECATED b/ipv6-network-templates/DEPRECATED new file mode 100644 index 0000000..f10f688 --- /dev/null +++ b/ipv6-network-templates/DEPRECATED @@ -0,0 +1,3 @@ +WARNING: This directory is deprecated and may be removed in the future. +A duplicate copy of these network templates can be found in the +overcloud-templates directory in a sub-directory with the same name as this one. diff --git a/network-templates/DEPRECATED b/network-templates/DEPRECATED new file mode 100644 index 0000000..f10f688 --- /dev/null +++ b/network-templates/DEPRECATED @@ -0,0 +1,3 @@ +WARNING: This directory is deprecated and may be removed in the future. +A duplicate copy of these network templates can be found in the +overcloud-templates directory in a sub-directory with the same name as this one. diff --git a/overcloud-templates/bond-network-templates/README b/overcloud-templates/bond-network-templates/README new file mode 100644 index 0000000..189bfb5 --- /dev/null +++ b/overcloud-templates/bond-network-templates/README @@ -0,0 +1,23 @@ +Generated Network Isolation Templates +------------------------------------- +These templates were generated by the UI tool at +https://github.com/cybertron/tripleo-scripts#net-iso-genpy + +ui-settings.pickle is specific to the tool. TripleO will not use it when +doing deployments with these templates, but it is needed to be able to +load the templates into the UI again. Note that the UI only reads this file, +so any changes made by hand to the templates will not be reflected in the UI. + +The network-isolation.yaml file needs to reference the port files shipped with +tripleo-heat-templates, so by default the tool generates the paths assuming +network-isolation.yaml will be copied into the environments/ directory of +tripleo-heat-templates. + +If the standard tripleo-heat-templates are in use, then the +network-isolation-absolute.yaml file can be used instead. It has hard-coded +references to the port files in /usr/share/openstack-tripleo-heat-templates. + +If the generated network isolation templates are at ~/generated-templates, an +example deployment command would look like: + +openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/bond-network-templates/network-environment.yaml b/overcloud-templates/bond-network-templates/network-environment.yaml new file mode 100644 index 0000000..3d81639 --- /dev/null +++ b/overcloud-templates/bond-network-templates/network-environment.yaml @@ -0,0 +1,26 @@ + +resource_registry: + OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml + OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml + OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml + OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml + OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml + +parameter_defaults: + ControlPlaneSubnetCidr: '24' + ControlPlaneDefaultRoute: 192.0.2.1 + EC2MetadataIp: 192.0.2.1 + ExternalNetCidr: 10.0.0.0/24 + ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] + ExternalInterfaceDefaultRoute: 10.0.0.1 + NeutronExternalNetworkBridge: "''" + InternalApiNetCidr: 172.17.0.0/24 + InternalApiAllocationPools: [{"start": "172.17.0.10", "end": "172.17.0.250"}] + StorageNetCidr: 172.18.0.0/24 + StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}] + StorageMgmtNetCidr: 172.19.0.0/24 + StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}] + TenantNetCidr: 172.16.0.0/24 + TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] + DnsServers: ["8.8.8.8", "8.8.4.4"] + BondInterfaceOvsOptions: bond_mode=balance-slb diff --git a/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml b/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml new file mode 100644 index 0000000..7fede9d --- /dev/null +++ b/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml @@ -0,0 +1,28 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml + # External + OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml + OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml + OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml + # InternalApi + OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + # Storage + OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage.yaml + OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + # Tenant + OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml diff --git a/overcloud-templates/bond-network-templates/network-isolation.yaml b/overcloud-templates/bond-network-templates/network-isolation.yaml new file mode 100644 index 0000000..2c18f2f --- /dev/null +++ b/overcloud-templates/bond-network-templates/network-isolation.yaml @@ -0,0 +1,28 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml + # External + OS::TripleO::Network::External: ../network/external.yaml + OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml + OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml + # InternalApi + OS::TripleO::Network::InternalApi: ../network/internal_api.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml + OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml + OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml + # Storage + OS::TripleO::Network::Storage: ../network/storage.yaml + OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml + OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml + OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml + OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml + # Tenant + OS::TripleO::Network::Tenant: ../network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml diff --git a/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml new file mode 100644 index 0000000..5500ebc --- /dev/null +++ b/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml @@ -0,0 +1,119 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - default: true + next_hop: {get_param: ControlPlaneDefaultRoute} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic6 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/compute.yaml b/overcloud-templates/bond-network-templates/nic-configs/compute.yaml new file mode 100644 index 0000000..3edec60 --- /dev/null +++ b/overcloud-templates/bond-network-templates/nic-configs/compute.yaml @@ -0,0 +1,130 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - default: true + next_hop: {get_param: ControlPlaneDefaultRoute} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic7 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/controller.yaml b/overcloud-templates/bond-network-templates/nic-configs/controller.yaml new file mode 100644 index 0000000..b817058 --- /dev/null +++ b/overcloud-templates/bond-network-templates/nic-configs/controller.yaml @@ -0,0 +1,156 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - type: ovs_bridge + name: br-ex + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: ExternalIpSubnet} + routes: + - ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ExternalInterfaceDefaultRoute} + members: + - type: ovs_bond + name: bond1 + ovs_options: {get_param: BondInterfaceOvsOptions} + members: + - type: interface + name: nic2 + mtu: 1350 + primary: true + - type: interface + name: nic3 + mtu: 1350 + primary: false + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic6 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic7 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/ui-settings.pickle b/overcloud-templates/bond-network-templates/ui-settings.pickle new file mode 100644 index 0000000..74ec540 --- /dev/null +++ b/overcloud-templates/bond-network-templates/ui-settings.pickle @@ -0,0 +1,699 @@ +(dp0 +S'global_data' +p1 +(dp2 +S'control' +p3 +(dp4 +S'route' +p5 +V192.0.2.1 +p6 +sS'mask' +p7 +I24 +sS'ec2' +p8 +V192.0.2.1 +p9 +ssS'major' +p10 +I1 +sS'management' +p11 +(dp12 +S'start' +p13 +V172.20.0.10 +p14 +sS'cidr' +p15 +V172.20.0.0/24 +p16 +sS'vlan' +p17 +I6 +sS'end' +p18 +V172.20.0.250 +p19 +ssS'dns2' +p20 +V8.8.4.4 +p21 +sS'dns1' +p22 +V8.8.8.8 +p23 +sS'storage' +p24 +(dp25 +g13 +V172.18.0.10 +p26 +sg15 +V172.18.0.0/24 +p27 +sg17 +I3 +sg18 +V172.18.0.250 +p28 +ssS'auto_routes' +p29 +I01 +sS'bond_options' +p30 +Vbond_mode=balance-slb +p31 +sS'version' +p32 +I1 +sS'external' +p33 +(dp34 +S'bridge' +p35 +V'' +p36 +sg18 +V10.0.0.50 +p37 +sg17 +I1 +sg13 +V10.0.0.10 +p38 +sg15 +V10.0.0.0/24 +p39 +sS'gateway' +p40 +V10.0.0.1 +p41 +ssS'internal_api' +p42 +(dp43 +g13 +V172.17.0.10 +p44 +sg15 +V172.17.0.0/24 +p45 +sg17 +I2 +sg18 +V172.17.0.250 +p46 +ssS'ipv6' +p47 +I00 +sS'storage_mgmt' +p48 +(dp49 +g13 +V172.19.0.10 +p50 +sg15 +V172.19.0.0/24 +p51 +sg17 +I4 +sg18 +V172.19.0.250 +p52 +ssS'minor' +p53 +I2 +sS'tenant' +p54 +(dp55 +g13 +V172.16.0.10 +p56 +sg15 +V172.16.0.0/24 +p57 +sg17 +I5 +sg18 +V172.16.0.250 +p58 +sssS'data' +p59 +(dp60 +S'cinder-storage.yaml' +p61 +(lp62 +sS'ceph-storage.yaml' +p63 +(lp64 +(dp65 +Vaddresses +p66 +(lp67 +sVnetwork +p68 +VControlPlane +p69 +sVprimary +p70 +I01 +sVmtu +p71 +I1350 +sS'members' +p72 +(lp73 +sVroutes +p74 +(lp75 +sVuse_dhcp +p76 +I00 +sVtype +p77 +Vinterface +p78 +sVname +p79 +Vnic1 +p80 +sa(dp81 +Vaddresses +p82 +(lp83 +sVnetwork +p84 +VStorage +p85 +sVprimary +p86 +I01 +sVmtu +p87 +I1350 +sg72 +(lp88 +sVroutes +p89 +(lp90 +sVuse_dhcp +p91 +I00 +sVtype +p92 +Vinterface +p93 +sVname +p94 +Vnic5 +p95 +sa(dp96 +Vaddresses +p97 +(lp98 +sVnetwork +p99 +VStorageMgmt +p100 +sVprimary +p101 +I01 +sVmtu +p102 +I1350 +sg72 +(lp103 +sVroutes +p104 +(lp105 +sVuse_dhcp +p106 +I00 +sVtype +p107 +Vinterface +p108 +sVname +p109 +Vnic6 +p110 +sasS'controller.yaml' +p111 +(lp112 +(dp113 +Vaddresses +p114 +(lp115 +sVnetwork +p116 +VControlPlane +p117 +sVprimary +p118 +I01 +sVmtu +p119 +I1350 +sg72 +(lp120 +sVroutes +p121 +(lp122 +sVuse_dhcp +p123 +I00 +sVtype +p124 +Vinterface +p125 +sVname +p126 +Vnic1 +p127 +sa(dp128 +Vdns_servers +p129 +V{get_param: DnsServers} +p130 +sVaddresses +p131 +(lp132 +sVnetwork +p133 +VExternal +p134 +sVmtu +p135 +I-1 +sg72 +(lp136 +(dp137 +Vnetwork +p138 +VNone +p139 +sVbond_type +p140 +Vovs +p141 +sVovs_options +p142 +V{get_param: BondInterfaceOvsOptions} +p143 +sVmtu +p144 +I-1 +sg72 +(lp145 +(dp146 +Vaddresses +p147 +(lp148 +sVnetwork +p149 +VNone +p150 +sVprimary +p151 +I01 +sVmtu +p152 +I1350 +sVroutes +p153 +(lp154 +sVuse_dhcp +p155 +I00 +sVtype +p156 +Vinterface +p157 +sVname +p158 +Vnic2 +p159 +sa(dp160 +Vaddresses +p161 +(lp162 +sVnetwork +p163 +VNone +p164 +sVprimary +p165 +I00 +sVmtu +p166 +I1350 +sVroutes +p167 +(lp168 +sVuse_dhcp +p169 +I00 +sVtype +p170 +Vinterface +p171 +sVname +p172 +Vnic3 +p173 +sasVroutes +p174 +(lp175 +sVtype +p176 +Vovs_bond +p177 +sVname +p178 +Vbond1 +p179 +sasVroutes +p180 +(lp181 +sVuse_dhcp +p182 +I00 +sVtype +p183 +Vovs_bridge +p184 +sVname +p185 +Vbr-ex +p186 +sa(dp187 +Vaddresses +p188 +(lp189 +sVnetwork +p190 +VInternalApi +p191 +sVprimary +p192 +I01 +sVmtu +p193 +I1350 +sg72 +(lp194 +sVroutes +p195 +(lp196 +sVuse_dhcp +p197 +I00 +sVtype +p198 +Vinterface +p199 +sVname +p200 +Vnic4 +p201 +sa(dp202 +Vaddresses +p203 +(lp204 +sVnetwork +p205 +VStorage +p206 +sVprimary +p207 +I01 +sVmtu +p208 +I1350 +sg72 +(lp209 +sVroutes +p210 +(lp211 +sVuse_dhcp +p212 +I00 +sVtype +p213 +Vinterface +p214 +sVname +p215 +Vnic5 +p216 +sa(dp217 +Vaddresses +p218 +(lp219 +sVnetwork +p220 +VStorageMgmt +p221 +sVprimary +p222 +I01 +sVmtu +p223 +I1350 +sg72 +(lp224 +sVroutes +p225 +(lp226 +sVuse_dhcp +p227 +I00 +sVtype +p228 +Vinterface +p229 +sVname +p230 +Vnic6 +p231 +sa(dp232 +Vdns_servers +p233 +V{get_param: DnsServers} +p234 +sVaddresses +p235 +(lp236 +sVnetwork +p237 +VTenant +p238 +sVmtu +p239 +I-1 +sg72 +(lp240 +(dp241 +Vaddresses +p242 +(lp243 +sVnetwork +p244 +VNone +p245 +sVprimary +p246 +I01 +sVmtu +p247 +I1350 +sg72 +(lp248 +sVroutes +p249 +(lp250 +sVuse_dhcp +p251 +I00 +sVtype +p252 +Vinterface +p253 +sVname +p254 +Vnic7 +p255 +sasVroutes +p256 +(lp257 +sVuse_dhcp +p258 +I00 +sVtype +p259 +Vovs_bridge +p260 +sVname +p261 +Vbr-tenant +p262 +sasS'swift-storage.yaml' +p263 +(lp264 +sS'compute.yaml' +p265 +(lp266 +(dp267 +Vaddresses +p268 +(lp269 +sVnetwork +p270 +VControlPlane +p271 +sVprimary +p272 +I01 +sVmtu +p273 +I1350 +sg72 +(lp274 +sVroutes +p275 +(lp276 +sVuse_dhcp +p277 +I00 +sVtype +p278 +Vinterface +p279 +sVname +p280 +Vnic1 +p281 +sa(dp282 +Vaddresses +p283 +(lp284 +sVnetwork +p285 +VInternalApi +p286 +sVprimary +p287 +I01 +sVmtu +p288 +I1350 +sg72 +(lp289 +sVroutes +p290 +(lp291 +sVuse_dhcp +p292 +I00 +sVtype +p293 +Vinterface +p294 +sVname +p295 +Vnic4 +p296 +sa(dp297 +Vaddresses +p298 +(lp299 +sVnetwork +p300 +VStorage +p301 +sVprimary +p302 +I01 +sVmtu +p303 +I1350 +sg72 +(lp304 +sVroutes +p305 +(lp306 +sVuse_dhcp +p307 +I00 +sVtype +p308 +Vinterface +p309 +sVname +p310 +Vnic5 +p311 +sa(dp312 +Vdns_servers +p313 +V{get_param: DnsServers} +p314 +sVaddresses +p315 +(lp316 +sVnetwork +p317 +VTenant +p318 +sVmtu +p319 +I-1 +sg72 +(lp320 +(dp321 +Vaddresses +p322 +(lp323 +sVnetwork +p324 +VNone +p325 +sVprimary +p326 +I01 +sVmtu +p327 +I1350 +sg72 +(lp328 +sVroutes +p329 +(lp330 +sVuse_dhcp +p331 +I00 +sVtype +p332 +Vinterface +p333 +sVname +p334 +Vnic7 +p335 +sasVroutes +p336 +(lp337 +sVuse_dhcp +p338 +I00 +sVtype +p339 +Vovs_bridge +p340 +sVname +p341 +Vbr-tenant +p342 +sass. \ No newline at end of file diff --git a/overcloud-templates/ipv6-network-templates/README b/overcloud-templates/ipv6-network-templates/README new file mode 100644 index 0000000..189bfb5 --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/README @@ -0,0 +1,23 @@ +Generated Network Isolation Templates +------------------------------------- +These templates were generated by the UI tool at +https://github.com/cybertron/tripleo-scripts#net-iso-genpy + +ui-settings.pickle is specific to the tool. TripleO will not use it when +doing deployments with these templates, but it is needed to be able to +load the templates into the UI again. Note that the UI only reads this file, +so any changes made by hand to the templates will not be reflected in the UI. + +The network-isolation.yaml file needs to reference the port files shipped with +tripleo-heat-templates, so by default the tool generates the paths assuming +network-isolation.yaml will be copied into the environments/ directory of +tripleo-heat-templates. + +If the standard tripleo-heat-templates are in use, then the +network-isolation-absolute.yaml file can be used instead. It has hard-coded +references to the port files in /usr/share/openstack-tripleo-heat-templates. + +If the generated network isolation templates are at ~/generated-templates, an +example deployment command would look like: + +openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/ipv6-network-templates/network-environment.yaml b/overcloud-templates/ipv6-network-templates/network-environment.yaml new file mode 100644 index 0000000..824081a --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/network-environment.yaml @@ -0,0 +1,25 @@ + +resource_registry: + OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml + OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml + OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml + OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml + OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml + +parameter_defaults: + ControlPlaneSubnetCidr: '24' + ControlPlaneDefaultRoute: 192.0.2.1 + EC2MetadataIp: 192.0.2.1 + ExternalNetCidr: 2001:db8:fd00:1000::/64 + ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}] + ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1 + NeutronExternalNetworkBridge: "''" + InternalApiNetCidr: fd00:fd00:fd00:2000::/64 + InternalApiAllocationPools: [{"start": "fd00:fd00:fd00:2000::10", "end": "fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe"}] + StorageNetCidr: fd00:fd00:fd00:3000::/64 + StorageAllocationPools: [{"start": "fd00:fd00:fd00:3000::10", "end": "fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe"}] + StorageMgmtNetCidr: fd00:fd00:fd00:4000::/64 + StorageMgmtAllocationPools: [{"start": "fd00:fd00:fd00:4000::10", "end": "fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe"}] + TenantNetCidr: 172.16.0.0/24 + TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] + DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml b/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml new file mode 100644 index 0000000..e5c8ccf --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml @@ -0,0 +1,35 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip_v6.yaml + # External + OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external_v6.yaml + OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml + OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml + # InternalApi + OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api_v6.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml + OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml + OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml + # Storage + OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage_v6.yaml + OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml + OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml + OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml + OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt_v6.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml + # Tenant + OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml +parameter_defaults: + CephIPv6: True + CorosyncIPv6: True + MongoDbIPv6: True + NovaIPv6: True + RabbitIPv6: True + MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates/network-isolation.yaml b/overcloud-templates/ipv6-network-templates/network-isolation.yaml new file mode 100644 index 0000000..08c7685 --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/network-isolation.yaml @@ -0,0 +1,35 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml + # External + OS::TripleO::Network::External: ../network/external_v6.yaml + OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml + OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml + # InternalApi + OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml + OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml + OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml + # Storage + OS::TripleO::Network::Storage: ../network/storage_v6.yaml + OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml + OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_v6.yaml + OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_v6.yaml + OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt_v6.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml + # Tenant + OS::TripleO::Network::Tenant: ../network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml +parameter_defaults: + CephIPv6: True + CorosyncIPv6: True + MongoDbIPv6: True + NovaIPv6: True + RabbitIPv6: True + MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml new file mode 100644 index 0000000..593533b --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml @@ -0,0 +1,120 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - default: true + ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ControlPlaneDefaultRoute} + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml new file mode 100644 index 0000000..ebe9f69 --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml @@ -0,0 +1,131 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - default: true + ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ControlPlaneDefaultRoute} + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - type: interface + name: nic3 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic6 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml new file mode 100644 index 0000000..500fbbd --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml @@ -0,0 +1,152 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - default: true + ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ControlPlaneDefaultRoute} + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - type: ovs_bridge + name: br-ex + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: ExternalIpSubnet} + routes: + - default: true + ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ExternalInterfaceDefaultRoute} + members: + - type: interface + name: nic2 + mtu: 1350 + primary: true + - type: interface + name: nic3 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic6 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/ui-settings.pickle b/overcloud-templates/ipv6-network-templates/ui-settings.pickle new file mode 100644 index 0000000..bc3ac5a --- /dev/null +++ b/overcloud-templates/ipv6-network-templates/ui-settings.pickle @@ -0,0 +1,729 @@ +(dp0 +S'global_data' +p1 +(dp2 +S'control' +p3 +(dp4 +S'route' +p5 +V192.0.2.1 +p6 +sS'mask' +p7 +I24 +sS'ec2' +p8 +V192.0.2.1 +p9 +ssS'major' +p10 +I1 +sS'management' +p11 +(dp12 +S'start' +p13 +V172.20.0.10 +p14 +sS'cidr' +p15 +V172.20.0.0/24 +p16 +sS'vlan' +p17 +I6 +sS'end' +p18 +V172.20.0.250 +p19 +ssS'dns2' +p20 +V8.8.4.4 +p21 +sS'dns1' +p22 +V8.8.8.8 +p23 +sS'storage' +p24 +(dp25 +g13 +Vfd00:fd00:fd00:3000::10 +p26 +sg15 +Vfd00:fd00:fd00:3000::/64 +p27 +sg17 +I3 +sg18 +Vfd00:fd00:fd00:3000:ffff:ffff:ffff:fffe +p28 +ssS'auto_routes' +p29 +I00 +sS'bond_options' +p30 +V +p31 +sS'external' +p32 +(dp33 +S'bridge' +p34 +V'' +p35 +sg18 +V2001:db8:fd00:1000:ffff:ffff:ffff:fffe +p36 +sg17 +I1 +sg13 +V2001:db8:fd00:1000::10 +p37 +sg15 +V2001:db8:fd00:1000::/64 +p38 +sS'gateway' +p39 +V2001:db8:fd00:1000::1 +p40 +ssS'internal_api' +p41 +(dp42 +g13 +Vfd00:fd00:fd00:2000::10 +p43 +sg15 +Vfd00:fd00:fd00:2000::/64 +p44 +sg17 +I2 +sg18 +Vfd00:fd00:fd00:2000:ffff:ffff:ffff:fffe +p45 +ssS'ipv6' +p46 +I01 +sS'storage_mgmt' +p47 +(dp48 +g13 +Vfd00:fd00:fd00:4000::10 +p49 +sg15 +Vfd00:fd00:fd00:4000::/64 +p50 +sg17 +I4 +sg18 +Vfd00:fd00:fd00:4000:ffff:ffff:ffff:fffe +p51 +ssS'minor' +p52 +I2 +sS'tenant' +p53 +(dp54 +g13 +V172.16.0.10 +p55 +sg15 +V172.16.0.0/24 +p56 +sg17 +I5 +sg18 +V172.16.0.250 +p57 +sssS'data' +p58 +(dp59 +S'cinder-storage.yaml' +p60 +(lp61 +sS'ceph-storage.yaml' +p62 +(lp63 +(dp64 +Vaddresses +p65 +(lp66 +sVnetwork +p67 +VControlPlane +p68 +sVprimary +p69 +I01 +sVmtu +p70 +I1350 +sS'members' +p71 +(lp72 +(dp73 +Vip_netmask +p74 +V0.0.0.0/0 +p75 +sVname +p76 +VRoute +p77 +sVdefault +p78 +I01 +sVnext_hop +p79 +V{get_param: ControlPlaneDefaultRoute} +p80 +sg71 +(lp81 +sVtype +p82 +Vroute +p83 +sasVroutes +p84 +(lp85 +sVuse_dhcp +p86 +I00 +sVtype +p87 +Vinterface +p88 +sVname +p89 +Vnic1 +p90 +sa(dp91 +Vaddresses +p92 +(lp93 +sVnetwork +p94 +VStorage +p95 +sVprimary +p96 +I01 +sVmtu +p97 +I1350 +sg71 +(lp98 +sVroutes +p99 +(lp100 +sVuse_dhcp +p101 +I00 +sVtype +p102 +Vinterface +p103 +sVname +p104 +Vnic4 +p105 +sa(dp106 +Vaddresses +p107 +(lp108 +sVnetwork +p109 +VStorageMgmt +p110 +sVprimary +p111 +I01 +sVmtu +p112 +I1350 +sg71 +(lp113 +sVroutes +p114 +(lp115 +sVuse_dhcp +p116 +I00 +sVtype +p117 +Vinterface +p118 +sVname +p119 +Vnic5 +p120 +sasS'controller.yaml' +p121 +(lp122 +(dp123 +Vaddresses +p124 +(lp125 +sVnetwork +p126 +VControlPlane +p127 +sVprimary +p128 +I01 +sVmtu +p129 +I1350 +sg71 +(lp130 +(dp131 +Vip_netmask +p132 +V0.0.0.0/0 +p133 +sVname +p134 +VRoute +p135 +sVdefault +p136 +I01 +sVnext_hop +p137 +V{get_param: ControlPlaneDefaultRoute} +p138 +sg71 +(lp139 +sVtype +p140 +Vroute +p141 +sasVroutes +p142 +(lp143 +sVuse_dhcp +p144 +I00 +sVtype +p145 +Vinterface +p146 +sVname +p147 +Vnic1 +p148 +sa(dp149 +Vdns_servers +p150 +V{get_param: DnsServers} +p151 +sVaddresses +p152 +(lp153 +sVnetwork +p154 +VExternal +p155 +sVmtu +p156 +I-1 +sg71 +(lp157 +(dp158 +Vaddresses +p159 +(lp160 +sVnetwork +p161 +VNone +p162 +sVprimary +p163 +I01 +sVmtu +p164 +I1350 +sg71 +(lp165 +sVroutes +p166 +(lp167 +sVuse_dhcp +p168 +I00 +sVtype +p169 +Vinterface +p170 +sVname +p171 +Vnic2 +p172 +sa(dp173 +Vip_netmask +p174 +V0.0.0.0/0 +p175 +sVname +p176 +VRoute +p177 +sVdefault +p178 +I01 +sVnext_hop +p179 +V{get_param: ExternalInterfaceDefaultRoute} +p180 +sg71 +(lp181 +sVtype +p182 +Vroute +p183 +sasVroutes +p184 +(lp185 +sVuse_dhcp +p186 +I00 +sVtype +p187 +Vovs_bridge +p188 +sVname +p189 +Vbr-ex +p190 +sa(dp191 +Vaddresses +p192 +(lp193 +sVnetwork +p194 +VInternalApi +p195 +sVprimary +p196 +I01 +sVmtu +p197 +I1350 +sg71 +(lp198 +sVroutes +p199 +(lp200 +sVuse_dhcp +p201 +I00 +sVtype +p202 +Vinterface +p203 +sVname +p204 +Vnic3 +p205 +sa(dp206 +Vaddresses +p207 +(lp208 +sVnetwork +p209 +VStorage +p210 +sVprimary +p211 +I01 +sVmtu +p212 +I1350 +sg71 +(lp213 +sVroutes +p214 +(lp215 +sVuse_dhcp +p216 +I00 +sVtype +p217 +Vinterface +p218 +sVname +p219 +Vnic4 +p220 +sa(dp221 +Vaddresses +p222 +(lp223 +sVnetwork +p224 +VStorageMgmt +p225 +sVprimary +p226 +I01 +sVmtu +p227 +I1350 +sg71 +(lp228 +sVroutes +p229 +(lp230 +sVuse_dhcp +p231 +I00 +sVtype +p232 +Vinterface +p233 +sVname +p234 +Vnic5 +p235 +sa(dp236 +Vdns_servers +p237 +V{get_param: DnsServers} +p238 +sVaddresses +p239 +(lp240 +sVnetwork +p241 +VTenant +p242 +sVmtu +p243 +I-1 +sg71 +(lp244 +(dp245 +Vaddresses +p246 +(lp247 +sVnetwork +p248 +VNone +p249 +sVprimary +p250 +I01 +sVmtu +p251 +I1350 +sg71 +(lp252 +sVroutes +p253 +(lp254 +sVuse_dhcp +p255 +I00 +sVtype +p256 +Vinterface +p257 +sVname +p258 +Vnic6 +p259 +sasVroutes +p260 +(lp261 +sVuse_dhcp +p262 +I00 +sVtype +p263 +Vovs_bridge +p264 +sVname +p265 +Vbr-tenant +p266 +sasS'swift-storage.yaml' +p267 +(lp268 +sS'compute.yaml' +p269 +(lp270 +(dp271 +Vaddresses +p272 +(lp273 +sVnetwork +p274 +VControlPlane +p275 +sVprimary +p276 +I01 +sVmtu +p277 +I1350 +sg71 +(lp278 +(dp279 +Vip_netmask +p280 +V0.0.0.0/0 +p281 +sVname +p282 +VRoute +p283 +sVdefault +p284 +I01 +sVnext_hop +p285 +V{get_param: ControlPlaneDefaultRoute} +p286 +sg71 +(lp287 +sVtype +p288 +Vroute +p289 +sasVroutes +p290 +(lp291 +sVuse_dhcp +p292 +I00 +sVtype +p293 +Vinterface +p294 +sVname +p295 +Vnic1 +p296 +sa(dp297 +Vaddresses +p298 +(lp299 +sVnetwork +p300 +VInternalApi +p301 +sVprimary +p302 +I01 +sVmtu +p303 +I1350 +sg71 +(lp304 +sVroutes +p305 +(lp306 +sVuse_dhcp +p307 +I00 +sVtype +p308 +Vinterface +p309 +sVname +p310 +Vnic3 +p311 +sa(dp312 +Vaddresses +p313 +(lp314 +sVnetwork +p315 +VStorage +p316 +sVprimary +p317 +I01 +sVmtu +p318 +I1350 +sg71 +(lp319 +sVroutes +p320 +(lp321 +sVuse_dhcp +p322 +I00 +sVtype +p323 +Vinterface +p324 +sVname +p325 +Vnic4 +p326 +sa(dp327 +Vdns_servers +p328 +V{get_param: DnsServers} +p329 +sVaddresses +p330 +(lp331 +sVnetwork +p332 +VTenant +p333 +sVmtu +p334 +I-1 +sg71 +(lp335 +(dp336 +Vaddresses +p337 +(lp338 +sVnetwork +p339 +VNone +p340 +sVprimary +p341 +I01 +sVmtu +p342 +I1350 +sg71 +(lp343 +sVroutes +p344 +(lp345 +sVuse_dhcp +p346 +I00 +sVtype +p347 +Vinterface +p348 +sVname +p349 +Vnic6 +p350 +sasVroutes +p351 +(lp352 +sVuse_dhcp +p353 +I00 +sVtype +p354 +Vovs_bridge +p355 +sVname +p356 +Vbr-tenant +p357 +sass. \ No newline at end of file diff --git a/overcloud-templates/network-templates/README b/overcloud-templates/network-templates/README new file mode 100644 index 0000000..189bfb5 --- /dev/null +++ b/overcloud-templates/network-templates/README @@ -0,0 +1,23 @@ +Generated Network Isolation Templates +------------------------------------- +These templates were generated by the UI tool at +https://github.com/cybertron/tripleo-scripts#net-iso-genpy + +ui-settings.pickle is specific to the tool. TripleO will not use it when +doing deployments with these templates, but it is needed to be able to +load the templates into the UI again. Note that the UI only reads this file, +so any changes made by hand to the templates will not be reflected in the UI. + +The network-isolation.yaml file needs to reference the port files shipped with +tripleo-heat-templates, so by default the tool generates the paths assuming +network-isolation.yaml will be copied into the environments/ directory of +tripleo-heat-templates. + +If the standard tripleo-heat-templates are in use, then the +network-isolation-absolute.yaml file can be used instead. It has hard-coded +references to the port files in /usr/share/openstack-tripleo-heat-templates. + +If the generated network isolation templates are at ~/generated-templates, an +example deployment command would look like: + +openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/network-templates/ips-from-pool-all.yaml b/overcloud-templates/network-templates/ips-from-pool-all.yaml new file mode 100644 index 0000000..e71e4a4 --- /dev/null +++ b/overcloud-templates/network-templates/ips-from-pool-all.yaml @@ -0,0 +1,82 @@ +resource_registry: + OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool.yaml + OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml + OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml + OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant_from_pool.yaml + + OS::TripleO::Compute::Ports::ExternalPort: ../network/ports/noop.yaml + OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml + OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_from_pool.yaml + OS::TripleO::Compute::Ports::StorageMgmtPort: ../network/ports/noop.yaml + OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant_from_pool.yaml + + OS::TripleO::CephStorage::Ports::ExternalPort: ../network/ports/noop.yaml + OS::TripleO::CephStorage::Ports::InternalApiPort: ../network/ports/noop.yaml + OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml + OS::TripleO::CephStorage::Ports::TenantPort: ../network/ports/noop.yaml + + OS::TripleO::SwiftStorage::Ports::ExternalPort: ../network/ports/noop.yaml + OS::TripleO::SwiftStorage::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml + OS::TripleO::SwiftStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml + OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml + OS::TripleO::SwiftStorage::Ports::TenantPort: ../network/ports/noop.yaml + + OS::TripleO::BlockStorage::Ports::ExternalPort: ../network/ports/noop.yaml + OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml + OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml + OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml + OS::TripleO::BlockStorage::Ports::TenantPort: ../network/ports/noop.yaml + + OS::TripleO::Network::Ports::NetVipMap: ../network/ports/net_vip_map_external.yaml + OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/noop.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/noop.yaml + OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/noop.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/noop.yaml + OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/from_service.yaml + +parameter_defaults: + ControlPlaneIP: 192.168.24.200 + ExternalNetworkVip: 10.0.0.9 + InternalApiNetworkVip: 172.17.0.9 + StorageNetworkVip: 172.18.0.9 + StorageMgmtNetworkVip: 172.19.0.9 + ServiceVips: + redis: 172.17.0.8 + ControllerIPs: + # Each controller will get an IP from the lists below, first controller, first IP + external: + - 10.0.0.251 + - 10.0.0.252 + - 10.0.0.253 + internal_api: + - 172.17.0.251 + - 172.17.0.252 + - 172.17.0.253 + storage: + - 172.18.0.251 + - 172.18.0.252 + - 172.18.0.253 + storage_mgmt: + - 172.19.0.251 + - 172.19.0.252 + - 172.19.0.253 + tenant: + - 172.16.0.251 + - 172.16.0.252 + - 172.16.0.253 + NovaComputeIPs: + # Each compute will get an IP from the lists below, first compute, first IP + internal_api: + - 172.17.0.249 + storage: + - 172.18.0.249 + tenant: + - 172.16.0.249 + CephStorageIPs: + # Each ceph node will get an IP from the lists below, first node, first IP + storage: + - 172.18.0.248 + storage_mgmt: + - 172.19.0.248 diff --git a/overcloud-templates/network-templates/network-environment.yaml b/overcloud-templates/network-templates/network-environment.yaml new file mode 100644 index 0000000..05b0d1f --- /dev/null +++ b/overcloud-templates/network-templates/network-environment.yaml @@ -0,0 +1,25 @@ + +resource_registry: + OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml + OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml + OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml + OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml + OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml + +parameter_defaults: + ControlPlaneSubnetCidr: '24' + ControlPlaneDefaultRoute: 192.0.2.1 + EC2MetadataIp: 192.0.2.1 + ExternalNetCidr: 10.0.0.0/24 + ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] + ExternalInterfaceDefaultRoute: 10.0.0.1 + NeutronExternalNetworkBridge: "''" + InternalApiNetCidr: 172.17.0.0/24 + InternalApiAllocationPools: [{"start": "172.17.0.10", "end": "172.17.0.250"}] + StorageNetCidr: 172.18.0.0/24 + StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}] + StorageMgmtNetCidr: 172.19.0.0/24 + StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}] + TenantNetCidr: 172.16.0.0/24 + TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] + DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/network-templates/network-isolation-absolute.yaml b/overcloud-templates/network-templates/network-isolation-absolute.yaml new file mode 100644 index 0000000..7fede9d --- /dev/null +++ b/overcloud-templates/network-templates/network-isolation-absolute.yaml @@ -0,0 +1,28 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml + # External + OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml + OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml + OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml + # InternalApi + OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml + # Storage + OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage.yaml + OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml + # Tenant + OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates/network-isolation.yaml b/overcloud-templates/network-templates/network-isolation.yaml new file mode 100644 index 0000000..2c18f2f --- /dev/null +++ b/overcloud-templates/network-templates/network-isolation.yaml @@ -0,0 +1,28 @@ +resource_registry: + # Redis + OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml + # External + OS::TripleO::Network::External: ../network/external.yaml + OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml + OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml + # InternalApi + OS::TripleO::Network::InternalApi: ../network/internal_api.yaml + OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml + OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml + OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml + # Storage + OS::TripleO::Network::Storage: ../network/storage.yaml + OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml + OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml + OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml + OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage.yaml + # StorageMgmt + OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml + OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml + OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml + OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml + # Tenant + OS::TripleO::Network::Tenant: ../network/tenant.yaml + OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml + OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml + OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml new file mode 100644 index 0000000..a71f40a --- /dev/null +++ b/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml @@ -0,0 +1,119 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - default: true + next_hop: {get_param: ControlPlaneDefaultRoute} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/compute.yaml b/overcloud-templates/network-templates/nic-configs/compute.yaml new file mode 100644 index 0000000..fa2d33f --- /dev/null +++ b/overcloud-templates/network-templates/nic-configs/compute.yaml @@ -0,0 +1,130 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - default: true + next_hop: {get_param: ControlPlaneDefaultRoute} + - type: interface + name: nic3 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic6 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/controller.yaml b/overcloud-templates/network-templates/nic-configs/controller.yaml new file mode 100644 index 0000000..d56270d --- /dev/null +++ b/overcloud-templates/network-templates/nic-configs/controller.yaml @@ -0,0 +1,148 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: + - type: interface + name: nic1 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: + list_join: + - / + - - {get_param: ControlPlaneIp} + - {get_param: ControlPlaneSubnetCidr} + routes: + - ip_netmask: 169.254.169.254/32 + next_hop: {get_param: EC2MetadataIp} + - type: ovs_bridge + name: br-ex + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: ExternalIpSubnet} + routes: + - ip_netmask: 0.0.0.0/0 + next_hop: {get_param: ExternalInterfaceDefaultRoute} + members: + - type: interface + name: nic2 + mtu: 1350 + primary: true + - type: interface + name: nic3 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: InternalApiIpSubnet} + - type: interface + name: nic4 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageIpSubnet} + - type: interface + name: nic5 + mtu: 1350 + use_dhcp: false + addresses: + - ip_netmask: {get_param: StorageMgmtIpSubnet} + - type: ovs_bridge + name: br-tenant + dns_servers: {get_param: DnsServers} + use_dhcp: false + addresses: + - ip_netmask: {get_param: TenantIpSubnet} + members: + - type: interface + name: nic6 + mtu: 1350 + primary: true + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/network-templates/nic-configs/swift-storage.yaml new file mode 100644 index 0000000..f16920d --- /dev/null +++ b/overcloud-templates/network-templates/nic-configs/swift-storage.yaml @@ -0,0 +1,92 @@ +heat_template_version: 2015-04-30 + +parameters: + ControlPlaneIp: + default: '' + description: IP address/subnet on the ctlplane network + type: string + ExternalIpSubnet: + default: '' + description: IP address/subnet on the external network + type: string + InternalApiIpSubnet: + default: '' + description: IP address/subnet on the internal API network + type: string + StorageIpSubnet: + default: '' + description: IP address/subnet on the storage network + type: string + StorageMgmtIpSubnet: + default: '' + description: IP address/subnet on the storage mgmt network + type: string + TenantIpSubnet: + default: '' + description: IP address/subnet on the tenant network + type: string + ManagementIpSubnet: # Only populated when including environments/network-management.yaml + default: '' + description: IP address/subnet on the management network + type: string + BondInterfaceOvsOptions: + default: 'bond_mode=active-backup' + description: The ovs_options string for the bond interface. Set things like + lacp=active and/or bond_mode=balance-slb using this option. + type: string + ExternalNetworkVlanID: + default: 10 + description: Vlan ID for the external network traffic. + type: number + InternalApiNetworkVlanID: + default: 20 + description: Vlan ID for the internal_api network traffic. + type: number + StorageNetworkVlanID: + default: 30 + description: Vlan ID for the storage network traffic. + type: number + StorageMgmtNetworkVlanID: + default: 40 + description: Vlan ID for the storage mgmt network traffic. + type: number + TenantNetworkVlanID: + default: 50 + description: Vlan ID for the tenant network traffic. + type: number + ManagementNetworkVlanID: + default: 60 + description: Vlan ID for the management network traffic. + type: number + ExternalInterfaceDefaultRoute: + default: '10.0.0.1' + description: default route for the external network + type: string + ControlPlaneSubnetCidr: # Override this via parameter_defaults + default: '24' + description: The subnet CIDR of the control plane network. + type: string + ControlPlaneDefaultRoute: # Override this via parameter_defaults + description: The default route of the control plane network. + type: string + DnsServers: # Override this via parameter_defaults + default: [] + description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. + type: comma_delimited_list + EC2MetadataIp: # Override this via parameter_defaults + description: The IP address of the EC2 metadata server. + type: string + +resources: + OsNetConfigImpl: + properties: + config: + os_net_config: + network_config: [] + group: os-apply-config + type: OS::Heat::StructuredConfig + +outputs: + OS::stack_id: + description: The OsNetConfigImpl resource. + value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/ui-settings.pickle b/overcloud-templates/network-templates/ui-settings.pickle new file mode 100644 index 0000000..0b71d5c --- /dev/null +++ b/overcloud-templates/network-templates/ui-settings.pickle @@ -0,0 +1,641 @@ +(dp0 +S'global_data' +p1 +(dp2 +S'control' +p3 +(dp4 +S'route' +p5 +V192.0.2.1 +p6 +sS'mask' +p7 +I24 +sS'ec2' +p8 +V192.0.2.1 +p9 +ssS'major' +p10 +I1 +sS'management' +p11 +(dp12 +S'start' +p13 +V172.20.0.10 +p14 +sS'cidr' +p15 +V172.20.0.0/24 +p16 +sS'vlan' +p17 +I6 +sS'end' +p18 +V172.20.0.250 +p19 +ssS'dns2' +p20 +V8.8.4.4 +p21 +sS'dns1' +p22 +V8.8.8.8 +p23 +sS'storage' +p24 +(dp25 +g13 +V172.18.0.10 +p26 +sg15 +V172.18.0.0/24 +p27 +sg17 +I3 +sg18 +V172.18.0.250 +p28 +ssS'auto_routes' +p29 +I01 +sS'bond_options' +p30 +V +p31 +sS'external' +p32 +(dp33 +S'bridge' +p34 +V'' +p35 +sg18 +V10.0.0.50 +p36 +sg17 +I1 +sg13 +V10.0.0.10 +p37 +sg15 +V10.0.0.0/24 +p38 +sS'gateway' +p39 +V10.0.0.1 +p40 +ssS'internal_api' +p41 +(dp42 +g13 +V172.17.0.10 +p43 +sg15 +V172.17.0.0/24 +p44 +sg17 +I2 +sg18 +V172.17.0.250 +p45 +ssS'ipv6' +p46 +I00 +sS'storage_mgmt' +p47 +(dp48 +g13 +V172.19.0.10 +p49 +sg15 +V172.19.0.0/24 +p50 +sg17 +I4 +sg18 +V172.19.0.250 +p51 +ssS'minor' +p52 +I2 +sS'tenant' +p53 +(dp54 +g13 +V172.16.0.10 +p55 +sg15 +V172.16.0.0/24 +p56 +sg17 +I5 +sg18 +V172.16.0.250 +p57 +sssS'data' +p58 +(dp59 +S'cinder-storage.yaml' +p60 +(lp61 +sS'ceph-storage.yaml' +p62 +(lp63 +(dp64 +Vaddresses +p65 +(lp66 +sVnetwork +p67 +VControlPlane +p68 +sVprimary +p69 +I01 +sVmtu +p70 +I1350 +sS'members' +p71 +(lp72 +sVroutes +p73 +(lp74 +sVuse_dhcp +p75 +I00 +sVtype +p76 +Vinterface +p77 +sVname +p78 +Vnic1 +p79 +sa(dp80 +Vaddresses +p81 +(lp82 +sVnetwork +p83 +VStorage +p84 +sVprimary +p85 +I01 +sVmtu +p86 +I1350 +sg71 +(lp87 +sVroutes +p88 +(lp89 +sVuse_dhcp +p90 +I00 +sVtype +p91 +Vinterface +p92 +sVname +p93 +Vnic4 +p94 +sa(dp95 +Vaddresses +p96 +(lp97 +sVnetwork +p98 +VStorageMgmt +p99 +sVprimary +p100 +I01 +sVmtu +p101 +I1350 +sg71 +(lp102 +sVroutes +p103 +(lp104 +sVuse_dhcp +p105 +I00 +sVtype +p106 +Vinterface +p107 +sVname +p108 +Vnic5 +p109 +sasS'controller.yaml' +p110 +(lp111 +(dp112 +Vaddresses +p113 +(lp114 +sVnetwork +p115 +VControlPlane +p116 +sVprimary +p117 +I01 +sVmtu +p118 +I1350 +sg71 +(lp119 +sVroutes +p120 +(lp121 +sVuse_dhcp +p122 +I00 +sVtype +p123 +Vinterface +p124 +sVname +p125 +Vnic1 +p126 +sa(dp127 +Vdns_servers +p128 +V{get_param: DnsServers} +p129 +sVaddresses +p130 +(lp131 +sVnetwork +p132 +VExternal +p133 +sVmtu +p134 +I-1 +sg71 +(lp135 +(dp136 +Vaddresses +p137 +(lp138 +sVnetwork +p139 +VNone +p140 +sVprimary +p141 +I01 +sVmtu +p142 +I1350 +sg71 +(lp143 +sVroutes +p144 +(lp145 +sVuse_dhcp +p146 +I00 +sVtype +p147 +Vinterface +p148 +sVname +p149 +Vnic2 +p150 +sasVroutes +p151 +(lp152 +sVuse_dhcp +p153 +I00 +sVtype +p154 +Vovs_bridge +p155 +sVname +p156 +Vbr-ex +p157 +sa(dp158 +Vaddresses +p159 +(lp160 +sVnetwork +p161 +VInternalApi +p162 +sVprimary +p163 +I01 +sVmtu +p164 +I1350 +sg71 +(lp165 +sVroutes +p166 +(lp167 +sVuse_dhcp +p168 +I00 +sVtype +p169 +Vinterface +p170 +sVname +p171 +Vnic3 +p172 +sa(dp173 +Vaddresses +p174 +(lp175 +sVnetwork +p176 +VStorage +p177 +sVprimary +p178 +I01 +sVmtu +p179 +I1350 +sg71 +(lp180 +sVroutes +p181 +(lp182 +sVuse_dhcp +p183 +I00 +sVtype +p184 +Vinterface +p185 +sVname +p186 +Vnic4 +p187 +sa(dp188 +Vaddresses +p189 +(lp190 +sVnetwork +p191 +VStorageMgmt +p192 +sVprimary +p193 +I01 +sVmtu +p194 +I1350 +sg71 +(lp195 +sVroutes +p196 +(lp197 +sVuse_dhcp +p198 +I00 +sVtype +p199 +Vinterface +p200 +sVname +p201 +Vnic5 +p202 +sa(dp203 +Vdns_servers +p204 +V{get_param: DnsServers} +p205 +sVaddresses +p206 +(lp207 +sVnetwork +p208 +VTenant +p209 +sVmtu +p210 +I-1 +sg71 +(lp211 +(dp212 +Vaddresses +p213 +(lp214 +sVnetwork +p215 +VNone +p216 +sVprimary +p217 +I01 +sVmtu +p218 +I1350 +sg71 +(lp219 +sVroutes +p220 +(lp221 +sVuse_dhcp +p222 +I00 +sVtype +p223 +Vinterface +p224 +sVname +p225 +Vnic6 +p226 +sasVroutes +p227 +(lp228 +sVuse_dhcp +p229 +I00 +sVtype +p230 +Vovs_bridge +p231 +sVname +p232 +Vbr-tenant +p233 +sasS'swift-storage.yaml' +p234 +(lp235 +sS'compute.yaml' +p236 +(lp237 +(dp238 +Vaddresses +p239 +(lp240 +sVnetwork +p241 +VControlPlane +p242 +sVprimary +p243 +I01 +sVmtu +p244 +I1350 +sg71 +(lp245 +sVroutes +p246 +(lp247 +sVuse_dhcp +p248 +I00 +sVtype +p249 +Vinterface +p250 +sVname +p251 +Vnic1 +p252 +sa(dp253 +Vaddresses +p254 +(lp255 +sVnetwork +p256 +VInternalApi +p257 +sVprimary +p258 +I01 +sVmtu +p259 +I1350 +sg71 +(lp260 +sVroutes +p261 +(lp262 +sVuse_dhcp +p263 +I00 +sVtype +p264 +Vinterface +p265 +sVname +p266 +Vnic3 +p267 +sa(dp268 +Vaddresses +p269 +(lp270 +sVnetwork +p271 +VStorage +p272 +sVprimary +p273 +I01 +sVmtu +p274 +I1350 +sg71 +(lp275 +sVroutes +p276 +(lp277 +sVuse_dhcp +p278 +I00 +sVtype +p279 +Vinterface +p280 +sVname +p281 +Vnic4 +p282 +sa(dp283 +Vdns_servers +p284 +V{get_param: DnsServers} +p285 +sVaddresses +p286 +(lp287 +sVnetwork +p288 +VTenant +p289 +sVmtu +p290 +I-1 +sg71 +(lp291 +(dp292 +Vaddresses +p293 +(lp294 +sVnetwork +p295 +VNone +p296 +sVprimary +p297 +I01 +sVmtu +p298 +I1350 +sg71 +(lp299 +sVroutes +p300 +(lp301 +sVuse_dhcp +p302 +I00 +sVtype +p303 +Vinterface +p304 +sVname +p305 +Vnic6 +p306 +sasVroutes +p307 +(lp308 +sVuse_dhcp +p309 +I00 +sVtype +p310 +Vovs_bridge +p311 +sVname +p312 +Vbr-tenant +p313 +sass. \ No newline at end of file