heat_template_version: rocky description: > OpenStack Networking-ovn Metadata agent configured with Puppet 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 EnableInternalTLS: type: boolean default: false NeutronMetadataProxySharedSecret: description: Shared secret to prevent spoofing type: string hidden: true NeutronWorkers: default: '' description: | Sets the number of worker processes for the neutron metadata agent. The default value results in the configuration being left unset and a system-dependent default will be chosen (usually the number of processors). Please note that this can result in a large number of processes and memory consumption on systems with a large core count. On such systems it is recommended that a non-default value be selected that matches the load requirements. type: string NeutronPassword: description: The password for the neutron service and db account, used by neutron agents. type: string hidden: true OVNSouthboundServerPort: description: Port of the OVN Southbound DB server type: number default: 6642 OVNDbConnectionTimeout: description: Timeout in seconds for the OVSDB connection transaction type: number default: 180 MonitoringSubscriptionOvnMetadata: default: 'overcloud-ovn-metadata' type: string OvnMetadataAgentLoggingSource: type: json default: tag: openstack.neutron.agent.ovn-metadata path: /var/log/neutron/networking-ovn-metadata-agent.log Debug: type: boolean default: false description: Set to True to enable debugging on all services. OvnMetadataAgentDebug: default: '' description: Set to True to enable debugging for OVN Metadata agent. type: string constraints: - allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE'] conditions: neutron_workers_unset: {equals : [{get_param: NeutronWorkers}, '']} service_debug_unset: {equals: [{get_param: OvnMetadataAgentDebug}, '']} internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} resources: NeutronBase: type: ./neutron-base.yaml properties: ServiceData: {get_param: ServiceData} ServiceNetMap: {get_param: ServiceNetMap} DefaultPasswords: {get_param: DefaultPasswords} EndpointMap: {get_param: EndpointMap} RoleName: {get_param: RoleName} RoleParameters: {get_param: RoleParameters} outputs: role_data: description: Role data for the Networking-ovn Metadata agent service. value: service_name: ovn_metadata monitoring_subscription: {get_param: MonitoringSubscriptionOvnMetadata} config_settings: map_merge: - get_attr: [NeutronBase, role_data, config_settings] - neutron::agents::ovn_metadata::shared_secret: {get_param: NeutronMetadataProxySharedSecret} 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_tenant: 'service' neutron::agents::ovn_metadata::metadata_ip: "%{hiera('nova_metadata_vip')}" 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} ovn::southbound::port: {get_param: OVNSouthboundServerPort} neutron::agents::ovn_metadata::debug: if: - service_debug_unset - {get_param: Debug} - {get_param: OvnMetadataAgentDebug} neutron::agents::ovn_metadata::metadata_protocol: if: - internal_tls_enabled - 'https' - 'http' - if: - neutron_workers_unset - {} - neutron::agents::ovn_metadata::metadata_workers: {get_param: NeutronWorkers} step_config: | include tripleo::profile::base::neutron::ovn_metadata upgrade_tasks: []