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: {}