You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tripleo-heat-templates/deployment/neutron/neutron-plugin-ml2-mlnx-sdn...

102 lines
3.3 KiB

heat_template_version: rocky
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. This
mapping overrides those in ServiceNetMapDefaults.
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
MlnxSDNUsername:
description: The username for the SDN server.
type: string
MlnxSDNPassword:
type: string
description: The password for the SDN server.
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'
conditions:
multi_interface_enabled: {equals: [{get_param: MultiInterfaceEnabled}, true]}
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}
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_username: {get_param: MlnxSDNUsername}
neutron::plugins::ml2::mellanox::mlnx_sdn_assist::sdn_password: {get_param: MlnxSDNPassword}
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:
- multi_interface_enabled
- 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_param: ContainerNeutronConfigImage}
kolla_config: {}
docker_config: {}