44ef2a3ec1
The new master branch should point now to rocky. So, HOT templates should specify that they might contain features for rocky release [1] Also, this submission updates the yaml validation to use only latest heat_version alias. There are cases in which we will need to set the version for specific templates i.e. mixed versions, so there is added a variable to assign specific templates to specific heat_version aliases, avoiding the introductions of error by bulk replacing the the old version in new releases. [1]: https://docs.openstack.org/heat/latest/template_guide/hot_spec.html#rocky Change-Id: Ib17526d9cc453516d99d4659ee5fa51a5aa7fb4b
185 lines
6.5 KiB
YAML
185 lines
6.5 KiB
YAML
heat_template_version: rocky
|
|
|
|
description: >
|
|
OpenStack Neutron base service. Shared for all Neutron agents.
|
|
|
|
parameters:
|
|
DatabaseSyncTimeout:
|
|
default: 300
|
|
description: DB Sync Timeout default
|
|
type: number
|
|
NeutronDhcpAgentsPerNetwork:
|
|
type: number
|
|
default: 0
|
|
description: The number of neutron dhcp agents to schedule per network
|
|
DhcpAgentNotification:
|
|
default: true
|
|
description: Whether or not to enable DHCP agent notifications.
|
|
type: boolean
|
|
NeutronDnsDomain:
|
|
type: string
|
|
default: openstacklocal
|
|
description: Domain to use for building the hostnames.
|
|
NeutronCorePlugin:
|
|
default: 'ml2'
|
|
description: |
|
|
The core plugin for Neutron. The value should be the entrypoint to be loaded
|
|
from neutron.core_plugins namespace.
|
|
type: string
|
|
NeutronServicePlugins:
|
|
default: "router,qos,segments,trunk"
|
|
description: |
|
|
Comma-separated list of service plugin entrypoints to be loaded from the
|
|
neutron.service_plugins namespace.
|
|
type: comma_delimited_list
|
|
Debug:
|
|
type: boolean
|
|
default: false
|
|
description: Set to True to enable debugging on all services.
|
|
NeutronDebug:
|
|
default: ''
|
|
description: Set to True to enable debugging Neutron services.
|
|
type: string
|
|
constraints:
|
|
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
|
|
EnableConfigPurge:
|
|
type: boolean
|
|
default: false
|
|
description: >
|
|
Remove configuration that is not generated by TripleO. Used to avoid
|
|
configuration remnants after upgrades.
|
|
NeutronGlobalPhysnetMtu:
|
|
type: number
|
|
default: 1500
|
|
description: |
|
|
MTU of the underlying physical network. Neutron uses this value to
|
|
calculate MTU for all virtual network components. For flat and VLAN
|
|
networks, neutron uses this value without modification. For overlay
|
|
networks such as VXLAN, neutron automatically subtracts the overlay
|
|
protocol overhead from this value.
|
|
NeutronDBSyncExtraParams:
|
|
default: ''
|
|
description: |
|
|
String of extra command line parameters to append to the neutron-db-manage
|
|
upgrade head command.
|
|
type: string
|
|
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
|
|
NotificationDriver:
|
|
type: string
|
|
default: 'messagingv2'
|
|
description: Driver or drivers to handle sending notifications.
|
|
constraints:
|
|
- allowed_values: [ 'messagingv2', 'noop' ]
|
|
EnableInternalTLS:
|
|
type: boolean
|
|
default: false
|
|
RpcPort:
|
|
default: 5672
|
|
description: The network port for messaging backend
|
|
type: number
|
|
RpcUserName:
|
|
default: guest
|
|
description: The username for messaging backend
|
|
type: string
|
|
RpcPassword:
|
|
description: The password for messaging backend
|
|
type: string
|
|
hidden: true
|
|
RpcUseSSL:
|
|
default: false
|
|
description: >
|
|
Messaging client subscriber parameter to specify
|
|
an SSL connection to the messaging host.
|
|
type: string
|
|
|
|
conditions:
|
|
dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
|
|
service_debug_unset: {equals : [{get_param: NeutronDebug}, '']}
|
|
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
|
|
|
outputs:
|
|
role_data:
|
|
description: Role data for the Neutron base service.
|
|
value:
|
|
service_name: neutron_base
|
|
config_settings:
|
|
map_merge:
|
|
- neutron::notification_driver: {get_param: NotificationDriver}
|
|
# TODO(ansmith): remove once p-t-o switches to oslo params
|
|
neutron::rabbit_password: {get_param: RpcPassword}
|
|
neutron::rabbit_user: {get_param: RpcUserName}
|
|
neutron::rabbit_use_ssl: {get_param: RpcUseSSL}
|
|
neutron::rabbit_port: {get_param: RpcPort}
|
|
neutron::core_plugin: {get_param: NeutronCorePlugin}
|
|
neutron::service_plugins: {get_param: NeutronServicePlugins}
|
|
neutron::debug:
|
|
if:
|
|
- service_debug_unset
|
|
- {get_param: Debug }
|
|
- {get_param: NeutronDebug }
|
|
neutron::purge_config: {get_param: EnableConfigPurge}
|
|
neutron::allow_overlapping_ips: true
|
|
neutron::dhcp_agent_notification: {get_param: DhcpAgentNotification}
|
|
neutron::dns_domain: {get_param: NeutronDnsDomain}
|
|
neutron::rabbit_heartbeat_timeout_threshold: 60
|
|
neutron::host: "%{hiera('fqdn_canonical')}"
|
|
neutron::db::database_db_max_retries: -1
|
|
neutron::db::database_max_retries: -1
|
|
neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
|
|
neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu}
|
|
neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
|
|
- if:
|
|
- dhcp_agents_zero
|
|
- {}
|
|
- tripleo::profile::base::neutron::dhcp_agents_per_network: {get_param: NeutronDhcpAgentsPerNetwork}
|
|
- if:
|
|
- internal_tls_enabled
|
|
- generate_service_certificates: true
|
|
tripleo::profile::base::neutron::certificate_specs:
|
|
service_certificate: '/etc/pki/tls/certs/neutron.crt'
|
|
service_key: '/etc/pki/tls/private/neutron.key'
|
|
hostname:
|
|
str_replace:
|
|
template: "%{hiera('fqdn_NETWORK')}"
|
|
params:
|
|
NETWORK: {get_param: [ServiceNetMap, NeutronApiNetwork]}
|
|
principal:
|
|
str_replace:
|
|
template: "neutron/%{hiera('fqdn_NETWORK')}"
|
|
params:
|
|
NETWORK: {get_param: [ServiceNetMap, NeutronApiNetwork]}
|
|
- null
|
|
metadata_settings:
|
|
if:
|
|
- internal_tls_enabled
|
|
-
|
|
- service: neutron
|
|
network: {get_param: [ServiceNetMap, NeutronApiNetwork]}
|
|
type: node
|
|
- null
|