heat_template_version: rocky description: > OpenStack Neutron ML2 Plugin 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 NeutronMechanismDrivers: default: 'ovn' description: | The mechanism drivers for the Neutron tenant network. type: comma_delimited_list NeutronTypeDrivers: default: "geneve,vlan,flat" description: | Comma-separated list of network type driver entrypoints to be loaded. type: comma_delimited_list NeutronFlatNetworks: type: comma_delimited_list default: 'datacentre' description: If set, flat networks to configure in neutron plugins. NeutronPluginExtensions: default: "qos,port_security,dns" description: | Comma-separated list of extensions enabled for the Neutron plugin. type: comma_delimited_list NeutronNetworkVLANRanges: default: 'datacentre:1:1000' description: > The Neutron ML2 and OpenVSwitch vlan mapping range to support. See the Neutron documentation for permitted values. Defaults to permitting VLANs 1 to 1000 on the 'datacentre' physical network (See NeutronBridgeMappings). type: comma_delimited_list NeutronTunnelIdRanges: description: | Comma-separated list of : tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation default: ["1:4094", ] type: comma_delimited_list NeutronVniRanges: description: | Comma-separated list of : tuples enumerating ranges of VXLAN VNI IDs that are available for tenant network allocation default: ["1:65536", ] type: comma_delimited_list NeutronNetworkType: default: 'geneve' description: The tenant network type for Neutron. type: comma_delimited_list NeutronFirewallDriver: description: Firewall driver for realizing neutron security group function type: string default: 'iptables_hybrid' NeutronOverlayIPVersion: default: 4 description: IP version used for all overlay network endpoints. type: number constraints: - allowed_values: [4,6] NeutronML2PhysicalNetworkMtus: default: [] description: | A list of mappings of physical networks to MTU values. The format of the mapping is :. This mapping allows specifying a physical network MTU value that differs from the default segment_mtu value in ML2 plugin. And overwrite values from global_physnet_mtu for selected network. type: comma_delimited_list conditions: physical_network_mtus_set: {not: {equals: [{get_param: NeutronML2PhysicalNetworkMtus}, []]}} 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 Neutron ML2 plugin. value: service_name: neutron_plugin_ml2 config_settings: map_merge: - get_attr: [NeutronBase, role_data, config_settings] - neutron::plugins::ml2::mechanism_drivers: {get_param: NeutronMechanismDrivers} neutron::plugins::ml2::type_drivers: {get_param: NeutronTypeDrivers} neutron::plugins::ml2::flat_networks: {get_param: NeutronFlatNetworks} neutron::plugins::ml2::extension_drivers: {get_param: NeutronPluginExtensions} neutron::plugins::ml2::network_vlan_ranges: {get_param: NeutronNetworkVLANRanges} neutron::plugins::ml2::tunnel_id_ranges: {get_param: NeutronTunnelIdRanges} neutron::plugins::ml2::vni_ranges: {get_param: NeutronVniRanges} neutron::plugins::ml2::tenant_network_types: {get_param: NeutronNetworkType} neutron::plugins::ml2::firewall_driver: {get_param: NeutronFirewallDriver} neutron::plugins::ml2::overlay_ip_version: {get_param: NeutronOverlayIPVersion} - if: - physical_network_mtus_set - neutron::plugins::ml2::physical_network_mtus: {get_param: NeutronML2PhysicalNetworkMtus} - null step_config: | include ::tripleo::profile::base::neutron::plugins::ml2 service_config_settings: horizon: neutron::plugins::ml2::mechanism_drivers: {get_param: NeutronMechanismDrivers} metadata_settings: get_attr: [NeutronBase, role_data, metadata_settings]