Merge "Add IPv6 Support to Isolated Networks"
This commit is contained in:
commit
00e47eaf5b
|
@ -0,0 +1,49 @@
|
|||
# Enable the creation of IPv6 Neutron networks for isolated Overcloud
|
||||
# traffic and configure each role to assign ports (related
|
||||
# to that role) on these networks.
|
||||
resource_registry:
|
||||
OS::TripleO::Network::External: ../network/external_v6.yaml
|
||||
OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml
|
||||
OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt_v6.yaml
|
||||
OS::TripleO::Network::Storage: ../network/storage_v6.yaml
|
||||
# IPv4 until OVS and Neutron support IPv6 tunnel endpoints
|
||||
OS::TripleO::Network::Tenant: ../network/tenant.yaml
|
||||
|
||||
# Port assignments for the VIPs
|
||||
OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml
|
||||
OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml
|
||||
OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml
|
||||
OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml
|
||||
|
||||
# Port assignments for the controller role
|
||||
OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml
|
||||
OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
|
||||
OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml
|
||||
OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml
|
||||
|
||||
# Port assignments for the compute role
|
||||
OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
|
||||
OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml
|
||||
|
||||
# Port assignments for the ceph storage role
|
||||
OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml
|
||||
|
||||
# Port assignments for the swift storage role
|
||||
OS::TripleO::SwiftStorage::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml
|
||||
|
||||
# Port assignments for the block storage role
|
||||
OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml
|
||||
OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml
|
||||
|
||||
parameter_defaults:
|
||||
# Enable IPv6 for MongoDB. This is required when MongoDB is using an IPv6 IP.
|
||||
MongoDbIPv6: True
|
||||
# Enable various IPv6 features in Nova.
|
||||
NovaIPv6: True
|
|
@ -173,7 +173,10 @@ def template_endpoint_items(config):
|
|||
def generate_endpoint_map_template(config):
|
||||
return collections.OrderedDict([
|
||||
('heat_template_version', '2015-04-30'),
|
||||
('description', 'A map of OpenStack endpoints.'),
|
||||
('description', 'A map of OpenStack endpoints. Since the endpoints '
|
||||
'are URLs, we need to have brackets around IPv6 IP addresses. The '
|
||||
'inputs to these parameters come from net_ip_uri_map, which will '
|
||||
'include these brackets in IPv6 addresses.'),
|
||||
('parameters', template_parameters(config)),
|
||||
('outputs', {
|
||||
'endpoint_map': {
|
||||
|
|
|
@ -3,7 +3,10 @@
|
|||
### by the script build_endpoint_map.py
|
||||
|
||||
heat_template_version: '2015-04-30'
|
||||
description: A map of OpenStack endpoints.
|
||||
description: A map of OpenStack endpoints. Since the endpoints are URLs,
|
||||
we need to have brackets around IPv6 IP addresses. The inputs to these
|
||||
parameters come from net_ip_uri_map, which will include these brackets
|
||||
in IPv6 addresses.
|
||||
parameters:
|
||||
AodhApiVirtualIP: {type: string, default: ''}
|
||||
CeilometerApiVirtualIP: {type: string, default: ''}
|
||||
|
|
|
@ -0,0 +1,61 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
External network. Public traffic, Neutron l3router for floating IPs/SNAT, etc.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
ExternalNetCidr:
|
||||
# OpenStack uses the EUI-64 address format, which requires a /64 prefix
|
||||
default: '2001:db8:fd00:1000::/64'
|
||||
description: Cidr for the external network.
|
||||
type: string
|
||||
ExternalNetValueSpecs:
|
||||
default: {'provider:physical_network': 'external', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the external network.
|
||||
type: json
|
||||
ExternalNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
ExternalNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
ExternalNetName:
|
||||
default: external
|
||||
description: The name of the external network.
|
||||
type: string
|
||||
ExternalSubnetName:
|
||||
default: external_subnet
|
||||
description: The name of the external subnet in Neutron.
|
||||
type: string
|
||||
ExternalAllocationPools:
|
||||
default: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the external network.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
ExternalNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: ExternalNetAdminStateUp}
|
||||
name: {get_param: ExternalNetName}
|
||||
shared: {get_param: ExternalNetShared}
|
||||
value_specs: {get_param: ExternalNetValueSpecs}
|
||||
|
||||
ExternalSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: slaac
|
||||
ipv6_ra_mode: slaac
|
||||
cidr: {get_param: ExternalNetCidr}
|
||||
name: {get_param: ExternalSubnetName}
|
||||
network: {get_resource: ExternalNetwork}
|
||||
allocation_pools: {get_param: ExternalAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron external network
|
||||
value: {get_resource: ExternalNetwork}
|
|
@ -0,0 +1,61 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Internal API network. Used for most APIs, Database, RPC.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
InternalApiNetCidr:
|
||||
# OpenStack uses the EUI-64 address format, which requires a /64 prefix
|
||||
default: 'fd00:fd00:fd00:2000::/64'
|
||||
description: Cidr for the internal API network.
|
||||
type: string
|
||||
InternalApiNetValueSpecs:
|
||||
default: {'provider:physical_network': 'internal_api', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the internal API network.
|
||||
type: json
|
||||
InternalApiNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
InternalApiNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
InternalApiNetName:
|
||||
default: internal_api
|
||||
description: The name of the internal API network.
|
||||
type: string
|
||||
InternalApiSubnetName:
|
||||
default: internal_api_subnet
|
||||
description: The name of the internal API subnet in Neutron.
|
||||
type: string
|
||||
InternalApiAllocationPools:
|
||||
default: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the internal API network.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
InternalApiNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: InternalApiNetAdminStateUp}
|
||||
name: {get_param: InternalApiNetName}
|
||||
shared: {get_param: InternalApiNetShared}
|
||||
value_specs: {get_param: InternalApiNetValueSpecs}
|
||||
|
||||
InternalApiSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: slaac
|
||||
ipv6_ra_mode: slaac
|
||||
cidr: {get_param: InternalApiNetCidr}
|
||||
name: {get_param: InternalApiSubnetName}
|
||||
network: {get_resource: InternalApiNetwork}
|
||||
allocation_pools: {get_param: InternalApiAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron internal network
|
||||
value: {get_resource: InternalApiNetwork}
|
|
@ -45,6 +45,9 @@ outputs:
|
|||
ip_address:
|
||||
description: Virtual IP network IP
|
||||
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: Virtual IP network IP (for compatibility with vip_v6.yaml)
|
||||
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the ctlplane network.
|
||||
value:
|
||||
|
|
|
@ -48,6 +48,9 @@ outputs:
|
|||
ip_address:
|
||||
description: external network IP
|
||||
value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: external network IP (for compatibility with external_v6.yaml)
|
||||
value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the external network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: external network IP
|
||||
value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: external network IP (for compatibility with IPv6)
|
||||
value: {get_param: [IPPool, {get_param: ExternalNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the external network IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,68 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port on the external network. The IP address will be chosen
|
||||
automatically if FixedIPs is empty.
|
||||
|
||||
parameters:
|
||||
ExternalNetName:
|
||||
description: Name of the external neutron network
|
||||
default: external
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneNetwork: # Here for compatibility with ctlplane_vip.yaml
|
||||
description: The name of the undercloud Neutron control plane
|
||||
default: ctlplane
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
ExternalPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: ExternalNetName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: external network IP
|
||||
value: {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: external network IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the external network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [ExternalPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [ExternalPort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [ExternalPort, subnets, 0, cidr, -1]}
|
|
@ -32,3 +32,6 @@ outputs:
|
|||
ip_address:
|
||||
description: network IP
|
||||
value: {get_param: [ServiceVips, {get_param: ServiceName}]}
|
||||
ip_address_uri:
|
||||
description: network IP (for compatibility with IPv6)
|
||||
value: {get_param: [ServiceVips, {get_param: ServiceName}]}
|
||||
|
|
|
@ -43,6 +43,10 @@ outputs:
|
|||
ip_address:
|
||||
description: internal API network IP
|
||||
value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: |
|
||||
internal API network IP (for compatibility with internal_api_v6.yaml)
|
||||
value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the internal API network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: internal API network IP
|
||||
value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: internal API network IP (for compatibility with internal_api_v6.yaml)
|
||||
value: {get_param: [IPPool, {get_param: InternalApiNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the internal API network IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port on the internal_api network.
|
||||
|
||||
parameters:
|
||||
InternalApiNetName:
|
||||
description: Name of the internal API neutron network
|
||||
default: internal_api
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
InternalApiPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: InternalApiNetName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: internal API network IP
|
||||
value: {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: internal api network IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the internal API network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [InternalApiPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [InternalApiPort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [InternalApiPort, subnets, 0, cidr, -1]}
|
|
@ -36,6 +36,9 @@ outputs:
|
|||
ip_address:
|
||||
description: management network IP
|
||||
value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: management network IP (for compatibility with management_v6.yaml)
|
||||
value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the management network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: management network IP
|
||||
value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: management network IP (for compatibility with management_v6.yaml)
|
||||
value: {get_param: [IPPool, {get_param: ManagementNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the management network IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
heat_template_version: 2015-10-15
|
||||
|
||||
description: >
|
||||
Creates a port on the management network. The IP address will be chosen
|
||||
automatically if FixedIPs is empty.
|
||||
|
||||
parameters:
|
||||
ManagementNetName:
|
||||
description: Name of the management neutron network
|
||||
default: management
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatibility with noop.yaml
|
||||
description: IP address on the control plane
|
||||
type: string
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
ManagementPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: ManagementNetName}
|
||||
name: {get_param: PortName}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: management network IP
|
||||
value: {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: management network IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the management network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [ManagementPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {str_split: ['/', {get_attr: [ManagementPort, subnets, 0, cidr]}, 1]}
|
|
@ -7,21 +7,45 @@ parameters:
|
|||
ExternalIp:
|
||||
default: ''
|
||||
type: string
|
||||
ExternalIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
InternalApiIp:
|
||||
default: ''
|
||||
type: string
|
||||
InternalApiIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
StorageIp:
|
||||
default: ''
|
||||
type: string
|
||||
StorageIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
StorageMgmtIp:
|
||||
default: ''
|
||||
type: string
|
||||
StorageMgmtIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
TenantIp:
|
||||
default: ''
|
||||
type: string
|
||||
TenantIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
ManagementIp:
|
||||
default: ''
|
||||
type: string
|
||||
ManagementIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
description: IP address with brackets in case of IPv6
|
||||
|
||||
outputs:
|
||||
net_ip_map:
|
||||
|
@ -36,3 +60,15 @@ outputs:
|
|||
storage_mgmt: {get_param: StorageMgmtIp}
|
||||
tenant: {get_param: TenantIp}
|
||||
management: {get_param: ManagementIp}
|
||||
net_ip_uri_map:
|
||||
description: >
|
||||
A Hash containing a mapping of netowrk names to assigned IPs for a
|
||||
specific machine with brackets around IPv6 addresses for use in URLs.
|
||||
value:
|
||||
ctlplane: {get_param: ControlPlaneIp}
|
||||
external: {get_param: ExternalIpUri}
|
||||
internal_api: {get_param: InternalApiIpUri}
|
||||
storage: {get_param: StorageIpUri}
|
||||
storage_mgmt: {get_param: StorageMgmtIpUri}
|
||||
tenant: {get_param: TenantIpUri}
|
||||
management: {get_param: ManagementIpUri}
|
||||
|
|
|
@ -24,18 +24,33 @@ parameters:
|
|||
ExternalIp:
|
||||
default: ''
|
||||
type: string
|
||||
ExternalIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
InternalApiIp:
|
||||
default: ''
|
||||
type: string
|
||||
InternalApiIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
StorageIp:
|
||||
default: ''
|
||||
type: string
|
||||
StorageIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
StorageMgmtIp:
|
||||
default: ''
|
||||
type: string
|
||||
StorageMgmtIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
TenantIp:
|
||||
default: ''
|
||||
type: string
|
||||
TenantIpUri:
|
||||
default: ''
|
||||
type: string
|
||||
|
||||
outputs:
|
||||
net_ip_map:
|
||||
|
@ -48,3 +63,13 @@ outputs:
|
|||
internal_api: {get_param: InternalApiNetworkVip}
|
||||
storage: {get_param: StorageNetworkVip}
|
||||
storage_mgmt: {get_param: StorageMgmtNetworkVip}
|
||||
net_ip_uri_map:
|
||||
description: >
|
||||
A Hash containing a mapping of netowrk names to assigned IPs for a
|
||||
specific machine with brackets around IPv6 addresses for use in URLs.
|
||||
value:
|
||||
ctlplane: {get_param: ControlPlaneIP}
|
||||
external: {get_param: ExternalNetworkVip}
|
||||
internal_api: {get_param: InternalApiNetworkVip}
|
||||
storage: {get_param: StorageNetworkVip}
|
||||
storage_mgmt: {get_param: StorageMgmtNetworkVip}
|
||||
|
|
|
@ -44,6 +44,9 @@ outputs:
|
|||
ip_address:
|
||||
description: pass thru network IP
|
||||
value: {get_param: ControlPlaneIP}
|
||||
ip_address_uri:
|
||||
description: pass thru network IP (for compatibility with vip_v6.yaml)
|
||||
value: {get_param: ControlPlaneIP}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the pass thru network IP
|
||||
value:
|
||||
|
|
|
@ -43,6 +43,9 @@ outputs:
|
|||
ip_address:
|
||||
description: storage network IP
|
||||
value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: storage network IP (for compatibility with storage_v6.yaml)
|
||||
value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the storage network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: storage network IP
|
||||
value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: storage network IP (for compatibility with storage_v6.yaml)
|
||||
value: {get_param: [IPPool, {get_param: StorageNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the storage network IP
|
||||
value:
|
||||
|
|
|
@ -43,6 +43,10 @@ outputs:
|
|||
ip_address:
|
||||
description: storage_mgmt network IP
|
||||
value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: |
|
||||
storage_mgmt network IP (for compatibility with storage_mgmt_v6.yaml)
|
||||
value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the storage_mgmt network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: storage MGMT network IP
|
||||
value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: storage MGMT network IP (for compatibility with storage_mgmt_v6.yaml)
|
||||
value: {get_param: [IPPool, {get_param: StorageMgmtNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the storage MGMT network IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port on the storage_mgmt API network.
|
||||
|
||||
parameters:
|
||||
StorageMgmtNetName:
|
||||
description: Name of the storage_mgmt API neutron network
|
||||
default: storage_mgmt
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
StorageMgmtPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: StorageMgmtNetName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: storage_mgmt network IP
|
||||
value: {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: storage_mgmt network IP with brackets suitable for a URI
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the storage_mgmt network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [StorageMgmtPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [StorageMgmtPort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [StorageMgmtPort, subnets, 0, cidr, -1]}
|
|
@ -0,0 +1,63 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port on the storage network.
|
||||
|
||||
parameters:
|
||||
StorageNetName:
|
||||
description: Name of the storage neutron network
|
||||
default: storage
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
StoragePort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: StorageNetName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: storage network IP
|
||||
value: {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: storage network IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the storage network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [StoragePort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [StoragePort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [StoragePort, subnets, 0, cidr, -1]}
|
|
@ -43,6 +43,9 @@ outputs:
|
|||
ip_address:
|
||||
description: tenant network IP
|
||||
value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: tenant network IP (for compatibility with tenant_v6.yaml)
|
||||
value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the tenant network IP
|
||||
value:
|
||||
|
|
|
@ -33,6 +33,9 @@ outputs:
|
|||
ip_address:
|
||||
description: tenant network IP
|
||||
value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
|
||||
ip_address_uri:
|
||||
description: tenant network IP (for compatibility with tenant_v6.yaml)
|
||||
value: {get_param: [IPPool, {get_param: TenantNetName}, {get_param: NodeIndex}]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the tenant network IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port on the tenant network.
|
||||
|
||||
parameters:
|
||||
TenantNetName:
|
||||
description: Name of the tenant neutron network
|
||||
default: tenant
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
IPPool: # Here for compatibility with from_pool.yaml
|
||||
default: {}
|
||||
type: json
|
||||
NodeIndex: # Here for compatibility with from_pool.yaml
|
||||
default: 0
|
||||
type: number
|
||||
|
||||
resources:
|
||||
|
||||
TenantPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: TenantNetName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: tenant network IP
|
||||
value: {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: tenant network IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the tenant network IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [TenantPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [TenantPort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [TenantPort, subnets, 0, cidr, -1]}
|
|
@ -45,6 +45,9 @@ outputs:
|
|||
ip_address:
|
||||
description: Virtual IP network IP
|
||||
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: Virtual IP network IP (for compatibility with vip.yaml)
|
||||
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
ip_subnet:
|
||||
description: IP/Subnet CIDR for the network associated with this IP
|
||||
value:
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Creates a port for a VIP on the isolated network NetworkName.
|
||||
The IP address will be chosen automatically if FixedIPs is empty.
|
||||
|
||||
parameters:
|
||||
ServiceName: # Here for compatibility with from_service.yaml
|
||||
description: Name of the service to lookup
|
||||
default: ''
|
||||
type: string
|
||||
NetworkName:
|
||||
description: Name of the network where the VIP will be created
|
||||
default: internal_api
|
||||
type: string
|
||||
PortName:
|
||||
description: Name of the port
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneIP: # Here for compatability with noop.yaml
|
||||
description: IP address on the control plane
|
||||
default: ''
|
||||
type: string
|
||||
ControlPlaneNetwork:
|
||||
description: The name of the undercloud Neutron control plane
|
||||
default: ctlplane
|
||||
type: string
|
||||
FixedIPs:
|
||||
description: >
|
||||
Control the IP allocation for the VIP port. E.g.
|
||||
[{'ip_address':'1.2.3.4'}]
|
||||
default: []
|
||||
type: json
|
||||
|
||||
resources:
|
||||
VipPort:
|
||||
type: OS::Neutron::Port
|
||||
properties:
|
||||
network: {get_param: NetworkName}
|
||||
name: {get_param: PortName}
|
||||
fixed_ips: {get_param: FixedIPs}
|
||||
replacement_policy: AUTO
|
||||
|
||||
outputs:
|
||||
ip_address:
|
||||
description: Virtual IP network IP
|
||||
value: {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
ip_address_uri:
|
||||
description: Virtual IP with brackets suitable for a URL
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - '['
|
||||
- {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
- ']'
|
||||
ip_subnet:
|
||||
# FIXME: this assumes a 2 digit subnet CIDR (need more heat functions?)
|
||||
description: IP/Subnet CIDR for the network associated with this IP
|
||||
value:
|
||||
list_join:
|
||||
- ''
|
||||
- - {get_attr: [VipPort, fixed_ips, 0, ip_address]}
|
||||
- '/'
|
||||
- {get_attr: [VipPort, subnets, 0, cidr, -2]}
|
||||
- {get_attr: [VipPort, subnets, 0, cidr, -1]}
|
|
@ -0,0 +1,61 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Storage management network. Storage replication, etc.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
StorageMgmtNetCidr:
|
||||
# OpenStack uses the EUI-64 address format, which requires a /64 prefix
|
||||
default: 'fd00:fd00:fd00:4000::/64'
|
||||
description: Cidr for the storage management network.
|
||||
type: string
|
||||
StorageMgmtNetValueSpecs:
|
||||
default: {'provider:physical_network': 'storage_mgmt', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the storage_mgmt network.
|
||||
type: json
|
||||
StorageMgmtNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
StorageMgmtNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
StorageMgmtNetName:
|
||||
default: storage_mgmt
|
||||
description: The name of the Storage management network.
|
||||
type: string
|
||||
StorageMgmtSubnetName:
|
||||
default: storage_mgmt_subnet
|
||||
description: The name of the Storage management subnet in Neutron.
|
||||
type: string
|
||||
StorageMgmtAllocationPools:
|
||||
default: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the storage mgmt network.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
StorageMgmtNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: StorageMgmtNetAdminStateUp}
|
||||
name: {get_param: StorageMgmtNetName}
|
||||
shared: {get_param: StorageMgmtNetShared}
|
||||
value_specs: {get_param: StorageMgmtNetValueSpecs}
|
||||
|
||||
StorageMgmtSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: slaac
|
||||
ipv6_ra_mode: slaac
|
||||
cidr: {get_param: StorageMgmtNetCidr}
|
||||
name: {get_param: StorageMgmtSubnetName}
|
||||
network: {get_resource: StorageMgmtNetwork}
|
||||
allocation_pools: {get_param: StorageMgmtAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron storage management network
|
||||
value: {get_resource: StorageMgmtNetwork}
|
|
@ -0,0 +1,61 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Storage network.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
StorageNetCidr:
|
||||
# OpenStack uses the EUI-64 address format, which requires a /64 prefix
|
||||
default: 'fd00:fd00:fd00:3000::/64'
|
||||
description: Cidr for the storage network.
|
||||
type: string
|
||||
StorageNetValueSpecs:
|
||||
default: {'provider:physical_network': 'storage', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the storage network.
|
||||
type: json
|
||||
StorageNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
StorageNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
StorageNetName:
|
||||
default: storage
|
||||
description: The name of the storage network.
|
||||
type: string
|
||||
StorageSubnetName:
|
||||
default: storage_subnet
|
||||
description: The name of the storage subnet in Neutron.
|
||||
type: string
|
||||
StorageAllocationPools:
|
||||
default: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the storage network.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
StorageNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: StorageNetAdminStateUp}
|
||||
name: {get_param: StorageNetName}
|
||||
shared: {get_param: StorageNetShared}
|
||||
value_specs: {get_param: StorageNetValueSpecs}
|
||||
|
||||
StorageSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: slaac
|
||||
ipv6_ra_mode: slaac
|
||||
cidr: {get_param: StorageNetCidr}
|
||||
name: {get_param: StorageSubnetName}
|
||||
network: {get_resource: StorageNetwork}
|
||||
allocation_pools: {get_param: StorageAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron storage network
|
||||
value: {get_resource: StorageNetwork}
|
|
@ -0,0 +1,61 @@
|
|||
heat_template_version: 2015-04-30
|
||||
|
||||
description: >
|
||||
Tenant IPv6 network.
|
||||
|
||||
parameters:
|
||||
# the defaults here work for static IP assignment (IPAM) only
|
||||
TenantNetCidr:
|
||||
# OpenStack uses the EUI-64 address format, which requires a /64 prefix
|
||||
default: 'fd00:fd00:fd00:5000::/64'
|
||||
description: Cidr for the tenant network.
|
||||
type: string
|
||||
TenantNetValueSpecs:
|
||||
default: {'provider:physical_network': 'tenant', 'provider:network_type': 'flat'}
|
||||
description: Value specs for the tenant network.
|
||||
type: json
|
||||
TenantNetAdminStateUp:
|
||||
default: false
|
||||
description: This admin state of of the network.
|
||||
type: boolean
|
||||
TenantNetShared:
|
||||
default: false
|
||||
description: Whether this network is shared across all tenants.
|
||||
type: boolean
|
||||
TenantNetName:
|
||||
default: tenant
|
||||
description: The name of the tenant network.
|
||||
type: string
|
||||
TenantSubnetName:
|
||||
default: tenant_subnet
|
||||
description: The name of the tenant subnet in Neutron.
|
||||
type: string
|
||||
TenantAllocationPools:
|
||||
default: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}]
|
||||
description: Ip allocation pool range for the tenant network.
|
||||
type: json
|
||||
|
||||
resources:
|
||||
TenantNetwork:
|
||||
type: OS::Neutron::Net
|
||||
properties:
|
||||
admin_state_up: {get_param: TenantNetAdminStateUp}
|
||||
name: {get_param: TenantNetName}
|
||||
shared: {get_param: TenantNetShared}
|
||||
value_specs: {get_param: TenantNetValueSpecs}
|
||||
|
||||
TenantSubnet:
|
||||
type: OS::Neutron::Subnet
|
||||
properties:
|
||||
ip_version: 6
|
||||
ipv6_address_mode: slaac
|
||||
ipv6_ra_mode: slaac
|
||||
cidr: {get_param: TenantNetCidr}
|
||||
name: {get_param: TenantSubnetName}
|
||||
network: {get_resource: TenantNetwork}
|
||||
allocation_pools: {get_param: TenantAllocationPools}
|
||||
|
||||
outputs:
|
||||
OS::stack_id:
|
||||
description: Neutron tenant network
|
||||
value: {get_resource: TenantNetwork}
|
|
@ -249,6 +249,10 @@ parameters:
|
|||
type: number
|
||||
default: 1
|
||||
description: The number of neutron dhcp agents to schedule per network
|
||||
NovaIPv6:
|
||||
default: false
|
||||
description: Enable IPv6 features in Nova
|
||||
type: boolean
|
||||
NovaPassword:
|
||||
description: The password for the nova service account, used by nova-api.
|
||||
type: string
|
||||
|
@ -261,6 +265,10 @@ parameters:
|
|||
default: false
|
||||
description: Should MongoDb journaling be disabled
|
||||
type: boolean
|
||||
MongoDbIPv6:
|
||||
default: false
|
||||
description: Enable IPv6 if MongoDB VIP is IPv6
|
||||
type: boolean
|
||||
PublicVirtualFixedIPs:
|
||||
default: []
|
||||
description: >
|
||||
|
@ -857,20 +865,20 @@ resources:
|
|||
type: OS::TripleO::EndpointMap
|
||||
properties:
|
||||
CloudName: {get_param: CloudName}
|
||||
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
||||
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||
GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
|
||||
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
|
||||
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
|
||||
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
|
||||
NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
||||
SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
|
||||
SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
||||
PublicVirtualIP: {get_attr: [VipMap, net_ip_map, external]}
|
||||
CeilometerApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CeilometerApiNetwork]}]}
|
||||
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
||||
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||
GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
|
||||
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
|
||||
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
|
||||
MysqlVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
|
||||
NovaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
||||
SaharaApiVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SaharaApiNetwork]}]}
|
||||
SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
||||
PublicVirtualIP: {get_attr: [VipMap, net_ip_uri_map, external]}
|
||||
|
||||
Controller:
|
||||
type: OS::Heat::ResourceGroup
|
||||
|
@ -965,9 +973,11 @@ resources:
|
|||
NeutronDhcpAgentsPerNetwork: {get_param: NeutronDhcpAgentsPerNetwork}
|
||||
NeutronNetworkType: {get_param: NeutronNetworkType}
|
||||
NeutronTunnelTypes: {get_param: NeutronTunnelTypes}
|
||||
NovaIPv6: {get_param: NovaIPv6}
|
||||
NovaPassword: {get_param: NovaPassword}
|
||||
NtpServer: {get_param: NtpServer}
|
||||
MongoDbNoJournal: {get_param: MongoDbNoJournal}
|
||||
MongoDbIPv6: {get_param: MongoDbIPv6}
|
||||
PcsdPassword: {get_resource: PcsdPassword}
|
||||
PublicVirtualInterface: {get_param: PublicVirtualInterface}
|
||||
RabbitPassword: {get_param: RabbitPassword}
|
||||
|
@ -980,6 +990,7 @@ resources:
|
|||
SnmpdReadonlyUserName: {get_param: SnmpdReadonlyUserName}
|
||||
SnmpdReadonlyUserPassword: {get_param: SnmpdReadonlyUserPassword}
|
||||
RedisVirtualIP: {get_attr: [RedisVirtualIP, ip_address]}
|
||||
RedisVirtualIPUri: {get_attr: [RedisVirtualIP, ip_address_uri]}
|
||||
SwiftHashSuffix: {get_param: SwiftHashSuffix}
|
||||
SwiftMountCheck: {get_param: SwiftMountCheck}
|
||||
SwiftMinPartHours: {get_param: SwiftMinPartHours}
|
||||
|
@ -995,11 +1006,13 @@ resources:
|
|||
AodhApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, AodhApiNetwork]}]}
|
||||
CinderApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, CinderApiNetwork]}]}
|
||||
HeatApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||
HeatApiVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, HeatApiNetwork]}]}
|
||||
GlanceApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceApiNetwork]}]}
|
||||
GlanceRegistryVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, GlanceRegistryNetwork]}]}
|
||||
NovaApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NovaApiNetwork]}]}
|
||||
SwiftProxyVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, SwiftProxyNetwork]}]}
|
||||
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
MysqlVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
KeystoneAdminApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystoneAdminApiNetwork]}]}
|
||||
KeystonePublicApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, KeystonePublicApiNetwork]}]}
|
||||
NeutronApiVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, NeutronApiNetwork]}]}
|
||||
|
@ -1128,7 +1141,7 @@ resources:
|
|||
'%stackname%': {get_param: 'OS::stack_name'}
|
||||
ServiceNetMap: {get_param: ServiceNetMap}
|
||||
EndpointMap: {get_attr: [EndpointMap, endpoint_map]}
|
||||
MysqlVirtualIP: {get_attr: [VipMap, net_ip_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
MysqlVirtualIPUri: {get_attr: [VipMap, net_ip_uri_map, {get_param: [ServiceNetMap, MysqlNetwork]}]}
|
||||
ExtraConfig: {get_param: ExtraConfig}
|
||||
BlockStorageExtraConfig: {get_param: BlockStorageExtraConfig}
|
||||
CloudDomain: {get_param: CloudDomain}
|
||||
|
@ -1315,9 +1328,13 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [ControlVirtualIP, fixed_ips, 0, ip_address]}
|
||||
ExternalIp: {get_attr: [PublicVirtualIP, ip_address]}
|
||||
ExternalIpUri: {get_attr: [PublicVirtualIP, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiVirtualIP, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiVirtualIP, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StorageVirtualIP, ip_address]}
|
||||
StorageIpUri: {get_attr: [StorageVirtualIP, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtVirtualIP, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtVirtualIP, ip_address_uri]}
|
||||
# No tenant or management VIP required
|
||||
|
||||
VipConfig:
|
||||
|
|
|
@ -177,11 +177,17 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [CephStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
|
||||
|
||||
NetIpSubnetMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpSubnetMap
|
||||
|
|
|
@ -110,7 +110,7 @@ parameters:
|
|||
GlanceApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
MysqlVirtualIP:
|
||||
MysqlVirtualIPUri:
|
||||
type: string
|
||||
default: ''
|
||||
NetworkDeploymentActions:
|
||||
|
@ -229,11 +229,17 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [BlockStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
|
||||
|
||||
NetworkDeployment:
|
||||
type: OS::TripleO::SoftwareDeployment
|
||||
|
@ -252,7 +258,7 @@ resources:
|
|||
config: {get_resource: BlockStorageConfig}
|
||||
input_values:
|
||||
debug: {get_param: Debug}
|
||||
cinder_dsn: {list_join: ['', ['mysql+pymysql://cinder:', {get_param: CinderPassword}, '@', {get_param: MysqlVirtualIP} , '/cinder']]}
|
||||
cinder_dsn: {list_join: ['', ['mysql+pymysql://cinder:', {get_param: CinderPassword}, '@', {get_param: MysqlVirtualIPUri} , '/cinder']]}
|
||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
||||
cinder_lvm_loop_device_size:
|
||||
|
|
|
@ -409,11 +409,17 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [NovaCompute, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
|
||||
|
||||
NetworkConfig:
|
||||
type: OS::TripleO::Compute::Net::SoftwareConfig
|
||||
|
|
|
@ -553,6 +553,10 @@ parameters:
|
|||
description: |
|
||||
Whether to create cron job for purging soft deleted rows in Nova database.
|
||||
type: boolean
|
||||
NovaIPv6:
|
||||
default: false
|
||||
description: Enable IPv6 features in Nova
|
||||
type: boolean
|
||||
NovaPassword:
|
||||
description: The password for the nova service and db account, used by nova-api.
|
||||
type: string
|
||||
|
@ -565,6 +569,10 @@ parameters:
|
|||
default: false
|
||||
description: Should MongoDb journaling be disabled
|
||||
type: boolean
|
||||
MongoDbIPv6:
|
||||
default: false
|
||||
description: Enable IPv6 if Mongo DB VIP is IPv6
|
||||
type: boolean
|
||||
NtpServer:
|
||||
default: ''
|
||||
description: Comma-separated list of ntp servers
|
||||
|
@ -612,6 +620,10 @@ parameters:
|
|||
RedisVirtualIP:
|
||||
type: string
|
||||
default: '' # Has to be here because of the ignored empty value bug
|
||||
RedisVirtualIPUri:
|
||||
type: string
|
||||
default: '' # Has to be here because of the ignored empty value bug
|
||||
description: An IP address which is wrapped in brackets in case of IPv6
|
||||
SnmpdReadonlyUserName:
|
||||
default: ro_snmp_user
|
||||
description: The user name for SNMPd with readonly rights running on all Overcloud nodes
|
||||
|
@ -667,6 +679,9 @@ parameters:
|
|||
HeatApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
HeatApiVirtualIPUri:
|
||||
type: string
|
||||
default: ''
|
||||
GlanceApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
|
@ -676,6 +691,9 @@ parameters:
|
|||
MysqlVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
MysqlVirtualIPUri:
|
||||
type: string
|
||||
default: ''
|
||||
KeystoneAdminApiVirtualIP:
|
||||
type: string
|
||||
default: ''
|
||||
|
@ -832,11 +850,17 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [Controller, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
|
||||
|
||||
NetIpSubnetMap:
|
||||
type: OS::TripleO::Network::Ports::NetIpSubnetMap
|
||||
|
@ -912,19 +936,19 @@ resources:
|
|||
list_join:
|
||||
- ''
|
||||
- - 'http://'
|
||||
- {get_param: HeatApiVirtualIP}
|
||||
- {get_param: HeatApiVirtualIPUri}
|
||||
- ':8003'
|
||||
heat.metadata_server_url:
|
||||
list_join:
|
||||
- ''
|
||||
- - 'http://'
|
||||
- {get_param: HeatApiVirtualIP}
|
||||
- {get_param: HeatApiVirtualIPUri}
|
||||
- ':8000'
|
||||
heat.waitcondition_server_url:
|
||||
list_join:
|
||||
- ''
|
||||
- - 'http://'
|
||||
- {get_param: HeatApiVirtualIP}
|
||||
- {get_param: HeatApiVirtualIPUri}
|
||||
- ':8000/v1/waitcondition'
|
||||
heat_auth_encryption_key: {get_param: HeatAuthEncryptionKey}
|
||||
heat_enable_db_purge: {get_param: HeatEnableDBPurge}
|
||||
|
@ -955,7 +979,7 @@ resources:
|
|||
- - 'mysql+pymysql://cinder:'
|
||||
- {get_param: CinderPassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/cinder'
|
||||
glance_port: {get_param: [EndpointMap, GlanceInternal, port]}
|
||||
glance_password: {get_param: GlancePassword}
|
||||
|
@ -972,7 +996,7 @@ resources:
|
|||
- - 'mysql+pymysql://glance:'
|
||||
- {get_param: GlancePassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/glance'
|
||||
heat_password: {get_param: HeatPassword}
|
||||
heat_stack_domain_admin_password: {get_param: HeatStackDomainAdminPassword}
|
||||
|
@ -982,7 +1006,7 @@ resources:
|
|||
- - 'mysql+pymysql://heat:'
|
||||
- {get_param: HeatPassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/heat'
|
||||
keystone_ca_certificate: {get_param: KeystoneCACertificate}
|
||||
keystone_signing_key: {get_param: KeystoneSigningKey}
|
||||
|
@ -998,7 +1022,7 @@ resources:
|
|||
- - 'mysql+pymysql://keystone:'
|
||||
- {get_param: AdminToken}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/keystone'
|
||||
keystone_identity_uri: { get_param: [EndpointMap, KeystoneAdmin, uri_no_suffix] }
|
||||
keystone_auth_uri: {get_param: [EndpointMap, KeystoneInternal, uri] }
|
||||
|
@ -1105,7 +1129,7 @@ resources:
|
|||
- - 'mysql+pymysql://neutron:'
|
||||
- {get_param: NeutronPassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/ovs_neutron?charset=utf8'
|
||||
neutron_internal_url: { get_param: [ EndpointMap, NeutronInternal, uri ] }
|
||||
neutron_public_url: { get_param: [ EndpointMap, NeutronPublic, uri ] }
|
||||
|
@ -1120,7 +1144,7 @@ resources:
|
|||
list_join:
|
||||
- ''
|
||||
- - 'redis://'
|
||||
- {get_param: RedisVirtualIP}
|
||||
- {get_param: RedisVirtualIPUri}
|
||||
- ':6379'
|
||||
ceilometer_dsn:
|
||||
list_join:
|
||||
|
@ -1128,11 +1152,12 @@ resources:
|
|||
- - 'mysql+pymysql://ceilometer:'
|
||||
- {get_param: CeilometerPassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/ceilometer'
|
||||
snmpd_readonly_user_name: {get_param: SnmpdReadonlyUserName}
|
||||
snmpd_readonly_user_password: {get_param: SnmpdReadonlyUserPassword}
|
||||
nova_enable_db_purge: {get_param: NovaEnableDBPurge}
|
||||
nova_ipv6: {get_param: NovaIPv6}
|
||||
nova_password: {get_param: NovaPassword}
|
||||
nova_dsn:
|
||||
list_join:
|
||||
|
@ -1140,7 +1165,7 @@ resources:
|
|||
- - 'mysql+pymysql://nova:'
|
||||
- {get_param: NovaPassword}
|
||||
- '@'
|
||||
- {get_param: MysqlVirtualIP}
|
||||
- {get_param: MysqlVirtualIPUri}
|
||||
- '/nova'
|
||||
nova_api_dsn:
|
||||
list_join:
|
||||
|
@ -1160,6 +1185,7 @@ resources:
|
|||
rabbit_client_use_ssl: {get_param: RabbitClientUseSSL}
|
||||
rabbit_client_port: {get_param: RabbitClientPort}
|
||||
mongodb_no_journal: {get_param: MongoDbNoJournal}
|
||||
mongodb_ipv6: {get_param: MongoDbIPv6}
|
||||
# We need to force this into quotes or hiera will return integer causing
|
||||
# the puppet module validation regexp to fail.
|
||||
# Remove when: https://github.com/puppetlabs/puppetlabs-rabbitmq/pull/401
|
||||
|
@ -1412,6 +1438,7 @@ resources:
|
|||
# MongoDB
|
||||
mongodb::server::bind_ip: {get_input: mongo_db_network}
|
||||
mongodb::server::nojournal: {get_input: mongodb_no_journal}
|
||||
mongodb::server::ipv6: {get_input: mongodb_ipv6}
|
||||
# MySQL
|
||||
admin_password: {get_input: admin_password}
|
||||
enable_galera: {get_input: enable_galera}
|
||||
|
@ -1532,6 +1559,7 @@ resources:
|
|||
nova::rabbit_port: {get_input: rabbit_client_port}
|
||||
nova::upgrade_level_compute: {get_input: upgrade_level_nova_compute}
|
||||
nova::debug: {get_input: debug}
|
||||
nova::use_ipv6: {get_input: nova_ipv6}
|
||||
nova::api::auth_uri: {get_input: keystone_auth_uri}
|
||||
nova::api::identity_uri: {get_input: keystone_identity_uri}
|
||||
nova::api::api_bind_address: {get_input: nova_api_network}
|
||||
|
|
|
@ -198,11 +198,17 @@ resources:
|
|||
properties:
|
||||
ControlPlaneIp: {get_attr: [SwiftStorage, networks, ctlplane, 0]}
|
||||
ExternalIp: {get_attr: [ExternalPort, ip_address]}
|
||||
ExternalIpUri: {get_attr: [ExternalPort, ip_address_uri]}
|
||||
InternalApiIp: {get_attr: [InternalApiPort, ip_address]}
|
||||
InternalApiIpUri: {get_attr: [InternalApiPort, ip_address_uri]}
|
||||
StorageIp: {get_attr: [StoragePort, ip_address]}
|
||||
StorageIpUri: {get_attr: [StoragePort, ip_address_uri]}
|
||||
StorageMgmtIp: {get_attr: [StorageMgmtPort, ip_address]}
|
||||
StorageMgmtIpUri: {get_attr: [StorageMgmtPort, ip_address_uri]}
|
||||
TenantIp: {get_attr: [TenantPort, ip_address]}
|
||||
TenantIpUri: {get_attr: [TenantPort, ip_address_uri]}
|
||||
ManagementIp: {get_attr: [ManagementPort, ip_address]}
|
||||
ManagementIpUri: {get_attr: [ManagementPort, ip_address_uri]}
|
||||
|
||||
NetworkDeployment:
|
||||
type: OS::TripleO::SoftwareDeployment
|
||||
|
|
Loading…
Reference in New Issue