Merge "Add NovaLocalMetadataPerCell cell support"
This commit is contained in:
commit
51c22afdf0
@ -63,6 +63,19 @@ parameters:
|
|||||||
MonitoringSubscriptionNovaMetadata:
|
MonitoringSubscriptionNovaMetadata:
|
||||||
default: 'overcloud-nova-metadata'
|
default: 'overcloud-nova-metadata'
|
||||||
type: string
|
type: string
|
||||||
|
NovaLocalMetadataPerCell:
|
||||||
|
default: false
|
||||||
|
description: >
|
||||||
|
Indicates that the nova-metadata API service has been deployed
|
||||||
|
per-cell, so that we can have better performance and data isolation in a
|
||||||
|
multi-cell deployment. Users should consider the use of this configuration
|
||||||
|
depending on how neutron is setup. If networks span cells, you might need
|
||||||
|
to run nova-metadata API service globally. If your networks are segmented
|
||||||
|
along cell boundaries, then you can run nova-metadata API service per cell.
|
||||||
|
When running nova-metadata API service per cell, you should also configure
|
||||||
|
each Neutron metadata-agent to point to the corresponding nova-metadata API
|
||||||
|
service.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
conditions:
|
conditions:
|
||||||
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
||||||
@ -127,6 +140,7 @@ outputs:
|
|||||||
nova_metadata_wsgi_enabled: true
|
nova_metadata_wsgi_enabled: true
|
||||||
nova::wsgi::apache_metadata::api_port: '8775'
|
nova::wsgi::apache_metadata::api_port: '8775'
|
||||||
nova::wsgi::apache_metadata::ssl: {get_param: EnableInternalTLS}
|
nova::wsgi::apache_metadata::ssl: {get_param: EnableInternalTLS}
|
||||||
|
nova::metadata::local_metadata_per_cell: {get_param: NovaLocalMetadataPerCell}
|
||||||
# NOTE: bind IP is found in Heat replacing the network name with the local node IP
|
# NOTE: bind IP is found in Heat replacing the network name with the local node IP
|
||||||
# for the given network; replacement examples (eg. for internal_api):
|
# for the given network; replacement examples (eg. for internal_api):
|
||||||
# internal_api -> IP
|
# internal_api -> IP
|
||||||
|
@ -158,13 +158,7 @@ outputs:
|
|||||||
neutron::agents::ovn_metadata::auth_password: {get_param: NeutronPassword}
|
neutron::agents::ovn_metadata::auth_password: {get_param: NeutronPassword}
|
||||||
neutron::agents::ovn_metadata::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
|
neutron::agents::ovn_metadata::auth_url: { get_param: [EndpointMap, KeystoneInternal, uri_no_suffix] }
|
||||||
neutron::agents::ovn_metadata::auth_tenant: 'service'
|
neutron::agents::ovn_metadata::auth_tenant: 'service'
|
||||||
neutron::agents::ovn_metadata::metadata_ip: "%{hiera('nova_metadata_vip')}"
|
neutron::agents::ovn_metadata::metadata_host: {get_param: [EndpointMap, NovaMetadataCellInternal, host_nobrackets]}
|
||||||
neutron::agents::ovn_metadata::metadata_host:
|
|
||||||
str_replace:
|
|
||||||
template:
|
|
||||||
"%{hiera('cloud_name_$NETWORK')}"
|
|
||||||
params:
|
|
||||||
$NETWORK: {get_param: [ServiceNetMap, NovaMetadataNetwork]}
|
|
||||||
neutron::agents::ovn_metadata::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
|
neutron::agents::ovn_metadata::ovsdb_connection_timeout: {get_param: OVNDbConnectionTimeout}
|
||||||
ovn::southbound::port: {get_param: OVNSouthboundServerPort}
|
ovn::southbound::port: {get_param: OVNSouthboundServerPort}
|
||||||
tripleo::profile::base::neutron::ovn_metadata::ovn_db_host: {get_param: [EndpointMap, OvnDbInternal, host_nobrackets]}
|
tripleo::profile::base::neutron::ovn_metadata::ovn_db_host: {get_param: [EndpointMap, OvnDbInternal, host_nobrackets]}
|
||||||
|
@ -76,6 +76,7 @@ parameter_defaults:
|
|||||||
NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
|
NovaMetadataInternal: {protocol: http, port: '8775', host: IP_ADDRESS}
|
||||||
NovaUIConfig: {protocol: http, port: '3000', host: IP_ADDRESS}
|
NovaUIConfig: {protocol: http, port: '3000', host: IP_ADDRESS}
|
||||||
PlacementAdmin: {protocol: http, port: '8778', host: IP_ADDRESS}
|
PlacementAdmin: {protocol: http, port: '8778', host: IP_ADDRESS}
|
||||||
PlacementInternal: {protocol: http, port: '8778', host: IP_ADDRESS}
|
PlacementInternal: {protocol: http, port: '8778', host: IP_ADDRESS}
|
||||||
|
@ -72,6 +72,7 @@ parameter_defaults:
|
|||||||
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'IP_ADDRESS'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
||||||
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
|
@ -72,6 +72,7 @@ parameter_defaults:
|
|||||||
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'IP_ADDRESS'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'IP_ADDRESS'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'IP_ADDRESS'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
||||||
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
|
@ -72,6 +72,7 @@ parameter_defaults:
|
|||||||
NovaAdmin: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
NovaAdmin: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
||||||
NovaInternal: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
NovaInternal: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'CLOUDNAME'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
||||||
PlacementAdmin: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
PlacementAdmin: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
||||||
PlacementInternal: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
PlacementInternal: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
||||||
|
@ -404,3 +404,8 @@ OpenDaylight:
|
|||||||
Admin:
|
Admin:
|
||||||
net_param: OpendaylightApi
|
net_param: OpendaylightApi
|
||||||
port: 8081
|
port: 8081
|
||||||
|
|
||||||
|
NovaMetadata:
|
||||||
|
Internal:
|
||||||
|
net_param: NovaMetadata
|
||||||
|
port: 8775
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -156,6 +156,20 @@ parameters:
|
|||||||
description: Whether this is an cell additional to the default cell.
|
description: Whether this is an cell additional to the default cell.
|
||||||
type: boolean
|
type: boolean
|
||||||
|
|
||||||
|
NovaLocalMetadataPerCell:
|
||||||
|
default: false
|
||||||
|
description: >
|
||||||
|
Indicates that the nova-metadata API service has been deployed
|
||||||
|
per-cell, so that we can have better performance and data isolation in a
|
||||||
|
multi-cell deployment. Users should consider the use of this configuration
|
||||||
|
depending on how neutron is setup. If networks span cells, you might need
|
||||||
|
to run nova-metadata API service globally. If your networks are segmented
|
||||||
|
along cell boundaries, then you can run nova-metadata API service per cell.
|
||||||
|
When running nova-metadata API service per cell, you should also configure
|
||||||
|
each Neutron metadata-agent to point to the corresponding nova-metadata API
|
||||||
|
service.
|
||||||
|
type: boolean
|
||||||
|
|
||||||
# Jinja loop for Role in role_data.yaml
|
# Jinja loop for Role in role_data.yaml
|
||||||
{% for role in roles %}
|
{% for role in roles %}
|
||||||
{{role.name}}ExtraConfig:
|
{{role.name}}ExtraConfig:
|
||||||
@ -322,6 +336,18 @@ conditions:
|
|||||||
- equals:
|
- equals:
|
||||||
- get_param: [EndpointMapOverride, NovaVNCProxyCellPublic]
|
- get_param: [EndpointMapOverride, NovaVNCProxyCellPublic]
|
||||||
- ''
|
- ''
|
||||||
|
set_default_nova_metadata_cell_internal:
|
||||||
|
or:
|
||||||
|
- equals:
|
||||||
|
- get_param: NovaLocalMetadataPerCell
|
||||||
|
- true
|
||||||
|
- and:
|
||||||
|
- equals:
|
||||||
|
- get_param: NovaLocalMetadataPerCell
|
||||||
|
- false
|
||||||
|
- equals:
|
||||||
|
- get_param: [EndpointMapOverride, NovaMetadataCellInternal]
|
||||||
|
- ''
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
|
|
||||||
@ -441,6 +467,10 @@ resources:
|
|||||||
- set_default_nova_vnc_proxy_cell_public
|
- set_default_nova_vnc_proxy_cell_public
|
||||||
- NovaVNCProxyCellPublic: {get_attr: [EndpointMap, endpoint_map, NovaVNCProxyPublic]}
|
- NovaVNCProxyCellPublic: {get_attr: [EndpointMap, endpoint_map, NovaVNCProxyPublic]}
|
||||||
- {}
|
- {}
|
||||||
|
- if:
|
||||||
|
- set_default_nova_metadata_cell_internal
|
||||||
|
- NovaMetadataCellInternal: {get_attr: [EndpointMap, endpoint_map, NovaMetadataInternal]}
|
||||||
|
- {}
|
||||||
|
|
||||||
# Creates the "heat-admin" user if configured via the environment
|
# Creates the "heat-admin" user if configured via the environment
|
||||||
# Should return a OS::Heat::MultipartMime reference via OS::stack_id
|
# Should return a OS::Heat::MultipartMime reference via OS::stack_id
|
||||||
|
@ -0,0 +1,11 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Adds NovaLocalMetadataPerCell cell support, default false.
|
||||||
|
Indicates that the nova-metadata API service has been deployed
|
||||||
|
per-cell, so that we can have better performance and data isolation
|
||||||
|
in a multi-cell deployment. Users should consider the use of this
|
||||||
|
configuration depending on how neutron is setup. If networks span
|
||||||
|
cells, you might need to run nova-metadata API service globally.
|
||||||
|
If your networks are segmented along cell boundaries, then you can
|
||||||
|
run nova-metadata API service per cell.
|
@ -9,11 +9,16 @@
|
|||||||
- primary
|
- primary
|
||||||
- controller
|
- controller
|
||||||
networks:
|
networks:
|
||||||
- External
|
External:
|
||||||
- InternalApi
|
subnet: external_subnet
|
||||||
- Storage
|
InternalApi:
|
||||||
- StorageMgmt
|
subnet: internal_api_subnet
|
||||||
- Tenant
|
Storage:
|
||||||
|
subnet: storage_subnet
|
||||||
|
StorageMgmt:
|
||||||
|
subnet: storage_mgmt_subnet
|
||||||
|
Tenant:
|
||||||
|
subnet: tenant_subnet
|
||||||
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
||||||
# each, such as ['ControlPlane', 'External']
|
# each, such as ['ControlPlane', 'External']
|
||||||
default_route_networks: ['External']
|
default_route_networks: ['External']
|
||||||
@ -38,7 +43,9 @@
|
|||||||
- OS::TripleO::Services::MetricsQdr
|
- OS::TripleO::Services::MetricsQdr
|
||||||
- OS::TripleO::Services::MySQL
|
- OS::TripleO::Services::MySQL
|
||||||
- OS::TripleO::Services::MySQLClient
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronMetadataAgent
|
||||||
- OS::TripleO::Services::NovaConductor
|
- OS::TripleO::Services::NovaConductor
|
||||||
|
- OS::TripleO::Services::NovaMetadata
|
||||||
- OS::TripleO::Services::NovaVncProxy
|
- OS::TripleO::Services::NovaVncProxy
|
||||||
- OS::TripleO::Services::ContainersLogrotateCrond
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
- OS::TripleO::Services::Pacemaker
|
- OS::TripleO::Services::Pacemaker
|
||||||
|
@ -180,6 +180,7 @@ environments:
|
|||||||
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'IP_ADDRESS'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'IP_ADDRESS'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'IP_ADDRESS'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
||||||
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
@ -291,6 +292,7 @@ environments:
|
|||||||
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaAdmin: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
NovaInternal: {protocol: 'http', port: '8774', host: 'IP_ADDRESS'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'IP_ADDRESS'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'IP_ADDRESS'}
|
||||||
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementAdmin: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
PlacementInternal: {protocol: 'http', port: '8778', host: 'IP_ADDRESS'}
|
||||||
@ -402,6 +404,7 @@ environments:
|
|||||||
NovaAdmin: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
NovaAdmin: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
||||||
NovaInternal: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
NovaInternal: {protocol: 'https', port: '8774', host: 'CLOUDNAME'}
|
||||||
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
NovaPublic: {protocol: 'https', port: '13774', host: 'CLOUDNAME'}
|
||||||
|
NovaMetadataInternal: {protocol: 'https', port: '8775', host: 'CLOUDNAME'}
|
||||||
NovaUIConfig: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
NovaUIConfig: {protocol: 'https', port: '443', host: 'CLOUDNAME'}
|
||||||
PlacementAdmin: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
PlacementAdmin: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
||||||
PlacementInternal: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
PlacementInternal: {protocol: 'https', port: '8778', host: 'CLOUDNAME'}
|
||||||
@ -523,6 +526,7 @@ environments:
|
|||||||
NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaAdmin: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaInternal: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
|
NovaPublic: {protocol: http, port: '8774', host: IP_ADDRESS}
|
||||||
|
NovaMetadataInternal: {protocol: http, port: '8775', host: IP_ADDRESS}
|
||||||
NovaUIConfig: {protocol: http, port: '3000', host: IP_ADDRESS}
|
NovaUIConfig: {protocol: http, port: '3000', host: IP_ADDRESS}
|
||||||
PlacementAdmin: {protocol: http, port: '8778', host: IP_ADDRESS}
|
PlacementAdmin: {protocol: http, port: '8778', host: IP_ADDRESS}
|
||||||
PlacementInternal: {protocol: http, port: '8778', host: IP_ADDRESS}
|
PlacementInternal: {protocol: http, port: '8778', host: IP_ADDRESS}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user