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
(cherry picked from commit 41b3682f65
)
This commit is contained in:
parent
49d0551c6f
commit
fe1ef511e8
|
@ -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
|
||||
|
|
|
@ -85,26 +85,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
|
||||
|
|
|
@ -131,6 +131,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:
|
||||
|
@ -141,6 +151,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:
|
||||
|
@ -150,24 +165,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:
|
||||
|
@ -270,12 +294,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]}
|
||||
|
|
|
@ -183,6 +183,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:
|
||||
|
@ -198,6 +203,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:
|
||||
|
@ -207,18 +217,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:
|
||||
|
@ -342,6 +356,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]}
|
||||
|
@ -351,6 +368,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]}
|
||||
|
|
|
@ -375,6 +375,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:
|
||||
|
@ -385,6 +390,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:
|
||||
|
@ -399,8 +409,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]}
|
||||
|
||||
|
@ -408,8 +420,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]}
|
||||
|
||||
|
@ -680,12 +694,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]}
|
||||
|
|
|
@ -152,6 +152,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:
|
||||
|
@ -167,6 +172,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:
|
||||
|
@ -176,18 +186,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:
|
||||
|
@ -309,6 +323,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]}
|
||||
|
@ -318,6 +335,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