Add all isolated networks to all nodes.
This change allows every overcloud node to optionally participate in any of the isolated networks. The optional networks are not enabled by default, but allow additional flexibility. Since the new networks are not enabled by default, the standared deployment is unchanged. This change was originally requested for OpenDaylight support. There are several use cases for using non-standard networks. For instance, one example might be adding the Internal API network to the Ceph nodes, in order to use that network for administrative functions. Another example would be adding the Storage Management network to the compute nodes, in order to use it for backup. Without this change, any deviation from the standard set of roles that use a network is a custom change to the Heat templates, which makes upgrades much more difficult. Change-Id: Ia386c964aa0ef79e457821d8d96ebb8ac2847231
This commit is contained in:
parent
15bb67261a
commit
41b3682f65
@ -1,6 +1,8 @@
|
||||
# Enable the creation of Neutron networks for isolated Overcloud
|
||||
# traffic and configure each role to assign ports (related
|
||||
# to that role) on these networks.
|
||||
# Many networks are disabled by default because they are not used
|
||||
# in a typical configuration. Override via parameter_defaults.
|
||||
resource_registry:
|
||||
OS::TripleO::Network::External: ../network/external.yaml
|
||||
OS::TripleO::Network::InternalApi: ../network/internal_api.yaml
|
||||
@ -26,26 +28,35 @@ resource_registry:
|
||||
OS::TripleO::Controller::Ports::ManagementPort: ../network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the compute role
|
||||
OS::TripleO::Compute::Ports::ExternalPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
||||
OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml
|
||||
OS::TripleO::Compute::Ports::StorageMgmtPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml
|
||||
OS::TripleO::Compute::Ports::ManagementPort: ../network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the ceph storage role
|
||||
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.yaml
|
||||
OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
|
||||
OS::TripleO::CephStorage::Ports::TenantPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::ManagementPort: ../network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the swift storage role
|
||||
OS::TripleO::SwiftStorage::Ports::ExternalPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StoragePort: ../network/ports/storage.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::TenantPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::ManagementPort: ../network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the block storage role
|
||||
OS::TripleO::BlockStorage::Ports::ExternalPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml
|
||||
OS::TripleO::BlockStorage::Ports::TenantPort: ../network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::ManagementPort: ../network/ports/noop.yaml
|
||||
|
||||
# Port assignments for service virtual IPs for the controller role
|
||||
|
@ -84,26 +84,35 @@ resource_registry:
|
||||
OS::TripleO::Controller::Ports::ManagementPort: network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the compute role
|
||||
OS::TripleO::Compute::Ports::ExternalPort: network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::InternalApiPort: network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::StoragePort: network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::TenantPort: network/ports/noop.yaml
|
||||
OS::TripleO::Compute::Ports::ManagementPort: network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the ceph storage role
|
||||
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/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::TenantPort: network/ports/noop.yaml
|
||||
OS::TripleO::CephStorage::Ports::ManagementPort: network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the swift storage role
|
||||
OS::TripleO::SwiftStorage::Ports::ExternalPort: network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::InternalApiPort: network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StoragePort: network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::TenantPort: network/ports/noop.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::ManagementPort: network/ports/noop.yaml
|
||||
|
||||
# Port assignments for the block storage role
|
||||
OS::TripleO::BlockStorage::Ports::ExternalPort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::InternalApiPort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StoragePort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::TenantPort: network/ports/noop.yaml
|
||||
OS::TripleO::BlockStorage::Ports::ManagementPort: network/ports/noop.yaml
|
||||
|
||||
# Service Endpoint Mappings
|
||||
|
@ -112,6 +112,16 @@ resources:
|
||||
NodeUserData:
|
||||
type: OS::TripleO::NodeUserData
|
||||
|
||||
ExternalPort:
|
||||
type: OS::TripleO::CephStorage::Ports::ExternalPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
|
||||
InternalApiPort:
|
||||
type: OS::TripleO::CephStorage::Ports::InternalApiPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
|
||||
StoragePort:
|
||||
type: OS::TripleO::CephStorage::Ports::StoragePort
|
||||
properties:
|
||||
@ -122,6 +132,11 @@ resources:
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
|
||||
TenantPort:
|
||||
type: OS::TripleO::CephStorage::Ports::TenantPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
|
||||
ManagementPort:
|
||||
type: OS::TripleO::CephStorage::Ports::ManagementPort
|
||||
properties:
|
||||
@ -131,24 +146,33 @@ resources:
|
||||
type: OS::TripleO::CephStorage::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
|
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
||||
ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
|
||||
|
||||
NetIpMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
|
||||
NetIpSubnetMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpSubnetMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
|
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
||||
ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
|
||||
|
||||
NetworkDeployment:
|
||||
@ -249,12 +273,21 @@ outputs:
|
||||
description: Heat resource handle for the ceph storage server
|
||||
value:
|
||||
{get_resource: CephStorage}
|
||||
external_ip_address:
|
||||
description: IP address of the server in the external network
|
||||
value: {get_attr: [ExternalPort, ip_address]}
|
||||
internal_api_ip_address:
|
||||
description: IP address of the server in the internal_api network
|
||||
value: {get_attr: [InternalApiPort, ip_address]}
|
||||
storage_ip_address:
|
||||
description: IP address of the server in the storage network
|
||||
value: {get_attr: [StoragePort, ip_address]}
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
tenant_ip_address:
|
||||
description: IP address of the server in the tenant network
|
||||
value: {get_attr: [TenantPort, ip_address]}
|
||||
management_ip_address:
|
||||
description: IP address of the server in the management network
|
||||
value: {get_attr: [ManagementPort, ip_address]}
|
||||
|
@ -166,6 +166,11 @@ resources:
|
||||
NodeUserData:
|
||||
type: OS::TripleO::NodeUserData
|
||||
|
||||
ExternalPort:
|
||||
type: OS::TripleO::BlockStorage::Ports::ExternalPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
|
||||
InternalApiPort:
|
||||
type: OS::TripleO::BlockStorage::Ports::InternalApiPort
|
||||
properties:
|
||||
@ -181,6 +186,11 @@ resources:
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
|
||||
TenantPort:
|
||||
type: OS::TripleO::BlockStorage::Ports::TenantPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
|
||||
ManagementPort:
|
||||
type: OS::TripleO::BlockStorage::Ports::ManagementPort
|
||||
properties:
|
||||
@ -190,18 +200,22 @@ resources:
|
||||
type: OS::TripleO::BlockStorage::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
|
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
||||
ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
|
||||
|
||||
NetIpMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
|
||||
NetworkDeployment:
|
||||
@ -323,6 +337,9 @@ outputs:
|
||||
description: Heat resource handle for the block storage server
|
||||
value:
|
||||
{get_resource: BlockStorage}
|
||||
external_ip_address:
|
||||
description: IP address of the server in the external network
|
||||
value: {get_attr: [ExternalPort, ip_address]}
|
||||
internal_api_ip_address:
|
||||
description: IP address of the server in the internal_api network
|
||||
value: {get_attr: [InternalApiPort, ip_address]}
|
||||
@ -332,6 +349,9 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
tenant_ip_address:
|
||||
description: IP address of the server in the tenant network
|
||||
value: {get_attr: [TenantPort, ip_address]}
|
||||
management_ip_address:
|
||||
description: IP address of the server in the management network
|
||||
value: {get_attr: [ManagementPort, ip_address]}
|
||||
|
@ -344,6 +344,11 @@ resources:
|
||||
NodeUserData:
|
||||
type: OS::TripleO::NodeUserData
|
||||
|
||||
ExternalPort:
|
||||
type: OS::TripleO::Compute::Ports::ExternalPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
|
||||
InternalApiPort:
|
||||
type: OS::TripleO::Compute::Ports::InternalApiPort
|
||||
properties:
|
||||
@ -354,6 +359,11 @@ resources:
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
|
||||
StorageMgmtPort:
|
||||
type: OS::TripleO::Compute::Ports::StorageMgmtPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
|
||||
TenantPort:
|
||||
type: OS::TripleO::Compute::Ports::TenantPort
|
||||
properties:
|
||||
@ -368,8 +378,10 @@ resources:
|
||||
type: OS::TripleO::Network::Ports::NetIpMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
|
||||
@ -377,8 +389,10 @@ resources:
|
||||
type: OS::TripleO::Compute::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
|
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
||||
ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
|
||||
|
||||
@ -627,12 +641,18 @@ outputs:
|
||||
ip_address:
|
||||
description: IP address of the server in the ctlplane network
|
||||
value: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
external_ip_address:
|
||||
description: IP address of the server in the external network
|
||||
value: {get_attr: [ExternalPort, ip_address]}
|
||||
internal_api_ip_address:
|
||||
description: IP address of the server in the internal_api network
|
||||
value: {get_attr: [InternalApiPort, ip_address]}
|
||||
storage_ip_address:
|
||||
description: IP address of the server in the storage network
|
||||
value: {get_attr: [StoragePort, ip_address]}
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
tenant_ip_address:
|
||||
description: IP address of the server in the tenant network
|
||||
value: {get_attr: [TenantPort, ip_address]}
|
||||
|
@ -135,6 +135,11 @@ resources:
|
||||
NodeUserData:
|
||||
type: OS::TripleO::NodeUserData
|
||||
|
||||
ExternalPort:
|
||||
type: OS::TripleO::SwiftStorage::Ports::ExternalPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
|
||||
InternalApiPort:
|
||||
type: OS::TripleO::SwiftStorage::Ports::InternalApiPort
|
||||
properties:
|
||||
@ -150,6 +155,11 @@ resources:
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
|
||||
TenantPort:
|
||||
type: OS::TripleO::SwiftStorage::Ports::TenantPort
|
||||
properties:
|
||||
ControlPlaneIP: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
|
||||
ManagementPort:
|
||||
type: OS::TripleO::SwiftStorage::Ports::ManagementPort
|
||||
properties:
|
||||
@ -159,18 +169,22 @@ resources:
|
||||
type: OS::TripleO::ObjectStorage::Net::SoftwareConfig
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
ExternalIpSubnet: {get_attr: [ExternalPort, ip_subnet]}
|
||||
InternalApiIpSubnet: {get_attr: [InternalApiPort, ip_subnet]}
|
||||
StorageIpSubnet: {get_attr: [StoragePort, ip_subnet]}
|
||||
StorageMgmtIpSubnet: {get_attr: [StorageMgmtPort, ip_subnet]}
|
||||
TenantIpSubnet: {get_attr: [TenantPort, ip_subnet]}
|
||||
ManagementIpSubnet: {get_attr: [ManagementPort, ip_subnet]}
|
||||
|
||||
NetIpMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpMap
|
||||
properties:
|
||||
ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
|
||||
NetworkDeployment:
|
||||
@ -290,6 +304,9 @@ outputs:
|
||||
template: 'r1z1-IP:%PORT%/d1'
|
||||
params:
|
||||
IP: {get_attr: [NetIpMap, net_ip_map, {get_param: [ServiceNetMap, SwiftMgmtNetwork]}]}
|
||||
external_ip_address:
|
||||
description: IP address of the server in the external network
|
||||
value: {get_attr: [ExternalPort, ip_address]}
|
||||
internal_api_ip_address:
|
||||
description: IP address of the server in the internal_api network
|
||||
value: {get_attr: [InternalApiPort, ip_address]}
|
||||
@ -299,6 +316,9 @@ outputs:
|
||||
storage_mgmt_ip_address:
|
||||
description: IP address of the server in the storage_mgmt network
|
||||
value: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
tenant_ip_address:
|
||||
description: IP address of the server in the tenant network
|
||||
value: {get_attr: [TenantPort, ip_address]}
|
||||
management_ip_address:
|
||||
description: IP address of the server in the management network
|
||||
value: {get_attr: [ManagementPort, ip_address]}
|
||||
|
Loading…
Reference in New Issue
Block a user