tripleo-heat-templates/deployment/neutron/neutron-agents-ib-config-container-puppet.yaml
Takashi Kajinami c91eb1f179 Use NeutronInterfaceDriver parameter consistently
Currently the NeutronInterfaceDriver parameter is only partially used
and the parameter is sometimes ignored because of the hieradata defined
in individual templates. This is quite confusing and causes unexpected
results.

This change ensures the parameter is consistently used to manage
the interface_driver parameter of dhcp agent and l3 agent.

Change-Id: I9955a8493bb031674a9d99087bd83b009011a0a2
2022-08-30 11:57:30 +09:00

103 lines
3.6 KiB
YAML

heat_template_version: wallaby
description: >
OpenStack Neutron MLNX IB config service
parameters:
ContainerNeutronConfigImage:
description: The container image to use for the neutron config_volume
type: string
tags:
- role_specific
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. Use
parameter_merge_strategies to merge it with the defaults.
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
NeutronInterfaceDriver:
default: 'neutron.agent.linux.interface.OVSInterfaceDriver'
description: Neutron DHCP Agent interface driver
type: string
MultiInterfaceDriverMappings:
type: comma_delimited_list
default: ""
tags:
- role_specific
IPoIBPhysicalInterface:
type: string
default: 'ib0'
tags:
- role_specific
resources:
ContainersCommon:
type: ../containers-common.yaml
NeutronBase:
type: ./neutron-plugin-ml2.yaml
properties:
EndpointMap: {get_param: EndpointMap}
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
RoleParametersValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- map_replace:
- neutron::agents::ml2::mlnx::multi_interface_driver_mappings: MultiInterfaceDriverMappings
neutron::agents::ml2::mlnx::ipoib_physical_interface : IPoIBPhysicalInterface
ContainerNeutronConfigImage: ContainerNeutronConfigImage
- values: {get_param: [RoleParameters]}
- values:
MultiInterfaceDriverMappings: {get_param: MultiInterfaceDriverMappings}
IPoIBPhysicalInterface: {get_param: IPoIBPhysicalInterface}
ContainerNeutronConfigImage: {get_param: ContainerNeutronConfigImage}
outputs:
role_data:
description: Role data for Neutron agents IB config
value:
service_name: neutron_agents_ib_config
config_settings:
map_merge:
- get_attr: [NeutronBase, role_data, config_settings]
- get_attr: [RoleParametersValue, value]
- neutron::agents::ml2::mlnx::enabled: False
neutron::agents::ml2::mlnx::manage_service: False
neutron::agents::ml2::mlnx::manage_package: False
neutron::agents::ml2::mlnx::dhcp_broadcast_reply: true
neutron::agents::ml2::mlnx::interface_driver: {get_param: NeutronInterfaceDriver}
neutron::agents::ml2::mlnx::enable_multi_interface_driver_cache_maintenance : true
puppet_config:
config_volume: 'neutron'
puppet_tags: eswitchd_config,neutron_dhcp_agent_config,neutron_l3_agent_config,neutron_mlnx_agent_config
step_config: |
include tripleo::profile::base::neutron::agents::mlnx
config_image: {get_attr: [RoleParametersValue, value, ContainerNeutronConfigImage]}
docker_config: {}
metadata_settings:
get_attr: [NeutronBase, role_data, metadata_settings]
upgrade_tasks: []