tripleo-heat-templates/deployment/neutron/neutron-plugin-ml2-mlnx-sdn...

123 lines
4.0 KiB
YAML

heat_template_version: wallaby
description: >
MLNX SDN configuration assist for Neutron ML2 Plugin.
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. 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
ContainerNeutronConfigImage:
description: The container image to use for the neutron config_volume
type: string
tags:
- role_specific
MlnxSDNUsername:
description: DEPRECATED, The username for the SDN server.
type: string
MlnxSDNPassword:
type: string
description: DEPRECATED, The password for the SDN server.
hidden: true
MlnxSDNToken:
description: The token for the SDN server.
type: string
hidden: true
MlnxSDNUrl:
description: SDN server URL
type: string
MlnxSDNDomain:
description: SDN server domain
type: string
default: 'cloudx'
MlnxSDNSyncEnabled:
type: boolean
default: true
MultiInterfaceEnabled:
type: boolean
default: false
BindNormalPortsPhysnet:
type: string
default: 'datacentre'
parameter_groups:
- label: deprecated
description: |
The following parameters are deprecated and will be removed. They should not
be relied on for new deployments. If you have concerns regarding deprecated
parameters, please contact the TripleO development team on IRC or the
Openstack mailing list.
parameters:
- MlnxSDNUsername
- MlnxSDNPassword
resources:
NeutronMl2Base:
type: ./neutron-plugin-ml2.yaml
properties:
ServiceData: {get_param: ServiceData}
ServiceNetMap: {get_param: ServiceNetMap}
EndpointMap: {get_param: EndpointMap}
RoleName: {get_param: RoleName}
RoleParameters: {get_param: RoleParameters}
RoleParametersValue:
type: OS::Heat::Value
properties:
type: json
value:
map_replace:
- map_replace:
- ContainerNeutronConfigImage: ContainerNeutronConfigImage
- values: {get_param: [RoleParameters]}
- values:
ContainerNeutronConfigImage: {get_param: ContainerNeutronConfigImage}
outputs:
role_data:
description: Role data for the MLNX SDN ML2 Plugin.
value:
service_name: neutron_plugin_ml2_mlnx_sdn_assist
config_settings:
map_merge:
- get_attr: [NeutronMl2Base, role_data, config_settings]
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::sdn_token: {get_param: MlnxSDNToken}
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::sdn_url: {get_param: MlnxSDNUrl}
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::sdn_domain: {get_param: MlnxSDNDomain}
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::sync_enabled: {get_param: MlnxSDNSyncEnabled}
- if:
- {get_param: MultiInterfaceEnabled}
- neutron::plugins::ml2::mellanox::mlnx_sdn_assist::bind_normal_ports: {get_param: MultiInterfaceEnabled}
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::bind_normal_ports_physnets: {get_param: BindNormalPortsPhysnet}
service_config_settings: {}
# BEGIN DOCKER SETTINGS
puppet_config:
config_volume: 'neutron'
puppet_tags: neutron_plugin_ml2
step_config: |
include tripleo::profile::base::neutron::plugins::ml2
config_image: {get_attr: [RoleParametersValue, value, ContainerNeutronConfigImage]}
kolla_config: {}
docker_config: {}