122 lines
4.1 KiB
YAML
122 lines
4.1 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
Configuration of Neutron Availability Zones in the overcloud
|
|
|
|
parameters:
|
|
ServiceData:
|
|
default: {}
|
|
description: Dictionary packing service data
|
|
type: json
|
|
ServiceNetMap:
|
|
default: {}
|
|
description: Mapping of service_name -> network name. Typically set
|
|
via parameter_defaults in the resource registry. This
|
|
mapping overrides those in ServiceNetMapDefaults.
|
|
type: json
|
|
DefaultPasswords:
|
|
default: {}
|
|
type: json
|
|
RoleName:
|
|
default: ''
|
|
description: Role name on which the service is applied
|
|
type: string
|
|
RoleParameters:
|
|
default: {}
|
|
description: Parameters specific to the role
|
|
type: json
|
|
EndpointMap:
|
|
default: {}
|
|
description: Mapping of service endpoint -> protocol. Typically set
|
|
via parameter_defaults in the resource registry.
|
|
type: json
|
|
AdminPassword:
|
|
description: The password for the keystone admin account, used for
|
|
monitoring, querying neutron etc.
|
|
type: string
|
|
hidden: true
|
|
NeutronDefaultAvailabilityZones:
|
|
description: Comma-separated list of default network availability zones to
|
|
be used by Neutron if its resource is created without
|
|
availability zone hints. If not set, the default will be equal
|
|
to the stack/plan name.
|
|
default: ''
|
|
type: string
|
|
NeutronL3AgentAvailabilityZone:
|
|
description: Availability zone for Neutron L3 agent. If not set, the
|
|
default will be equal to the stack/plan name
|
|
default: ''
|
|
type: string
|
|
NeutronDhcpAgentAvailabilityZone:
|
|
description: Availability zone for Neutron DHCP agent. If not set, the
|
|
default will be equal to the stack/plan name
|
|
default: ''
|
|
type: string
|
|
NeutronNetworkSchedulerDriver:
|
|
description: The network schedule driver to use for avialability zones.
|
|
default: neutron.scheduler.dhcp_agent_scheduler.AZAwareWeightScheduler
|
|
type: string
|
|
NeutronRouterSchedulerDriver:
|
|
description: The router schedule driver to use for avialability zones.
|
|
default: neutron.scheduler.l3_agent_scheduler.AZLeastRoutersScheduler
|
|
type: string
|
|
NeutronDhcpLoadType:
|
|
description: Additional to the availability zones aware network scheduler.
|
|
default: networks
|
|
type: string
|
|
RootStackName:
|
|
description: The name of the stack/plan.
|
|
type: string
|
|
|
|
resources:
|
|
NeutronAvailabilityZones:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
value:
|
|
if:
|
|
- equals:
|
|
- {get_param: NeutronDefaultAvailabilityZones}
|
|
- ""
|
|
- {get_param: RootStackName}
|
|
- {get_param: NeutronDefaultAvailabilityZones}
|
|
|
|
NeutronL3AgentAvailabilityZoneReal:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
value:
|
|
if:
|
|
- equals:
|
|
- {get_param: NeutronL3AgentAvailabilityZone}
|
|
- ""
|
|
- {get_param: RootStackName}
|
|
- {get_param: NeutronL3AgentAvailabilityZone}
|
|
|
|
NeutronDhcpAgentAvailabilityZoneReal:
|
|
type: OS::Heat::Value
|
|
properties:
|
|
value:
|
|
if:
|
|
- equals:
|
|
- {get_param: NeutronDhcpAgentAvailabilityZone}
|
|
- ""
|
|
- {get_param: RootStackName}
|
|
- {get_param: NeutronDhcpAgentAvailabilityZone}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Neutron Availability Zone configuration value
|
|
service:
|
|
service_name: neutron_az_config
|
|
config_settings:
|
|
neutron::server::dhcp_load_type: {get_param: NeutronDhcpLoadType}
|
|
neutron::server::network_scheduler_driver:
|
|
{get_param: NeutronNetworkSchedulerDriver}
|
|
neutron::server::router_scheduler_driver:
|
|
{get_param: NeutronRouterSchedulerDriver}
|
|
neutron::server::default_availability_zones:
|
|
{str_split: [',', {get_attr: [NeutronAvailabilityZones, value]}]}
|
|
neutron::agents::l3::availability_zone:
|
|
{get_attr: [NeutronL3AgentAvailabilityZoneReal, value]}
|
|
neutron::agents::dhcp::availability_zone:
|
|
{get_attr: [NeutronDhcpAgentAvailabilityZoneReal, value]}
|