Change flat network name for nosdn fdio scenario
[apex-tripleo-heat-templates.git] / puppet / services / neutron-linuxbridge-agent.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Neutron Linuxbridge agent configured with Puppet.
5
6 parameters:
7   ServiceData:
8     default: {}
9     description: Dictionary packing service data
10     type: json
11   ServiceNetMap:
12     default: {}
13     description: Mapping of service_name -> network name. Typically set
14                  via parameter_defaults in the resource registry.  This
15                  mapping overrides those in ServiceNetMapDefaults.
16     type: json
17   DefaultPasswords:
18     default: {}
19     type: json
20   EndpointMap:
21     default: {}
22     description: Mapping of service endpoint -> protocol. Typically set
23                  via parameter_defaults in the resource registry.
24     type: json
25   RoleName:
26     default: ''
27     description: Role name on which the service is applied
28     type: string
29   RoleParameters:
30     default: {}
31     description: Parameters specific to the role
32     type: json
33   PhysicalInterfaceMapping:
34     description: List of  <physical_network>:<physical_interface> tuples
35                  mapping physical network names to agent's node-specific
36                  physical network interfaces. Defaults to empty list.
37     type: comma_delimited_list
38     default: ''
39   NeutronLinuxbridgeFirewallDriver:
40     default: ''
41     description: Configure the classname of the firewall driver to  use  for
42                  implementing security groups.  Possible  values  depend  on
43                  system  configuration. The default value of an empty string
44                  will result in a default supported configuration.
45     type: string
46   NeutronEnableL2Pop:
47     type: string
48     description: Enable/disable the L2 population feature in the Neutron agents.
49     default: 'False'
50   NeutronTunnelTypes:
51     default: 'vxlan'
52     description: The tunnel types for the Neutron tenant network.
53     type: comma_delimited_list
54
55 conditions:
56   no_firewall_driver: {equals : [{get_param: NeutronLinuxbridgeFirewallDriver}, '']}
57
58 resources:
59
60   NeutronBase:
61     type: ./neutron-base.yaml
62     properties:
63       ServiceData: {get_param: ServiceData}
64       ServiceNetMap: {get_param: ServiceNetMap}
65       DefaultPasswords: {get_param: DefaultPasswords}
66       EndpointMap: {get_param: EndpointMap}
67
68 outputs:
69   role_data:
70     description: Role data for the Neutron Linuxbridge agent service.
71     value:
72       service_name: neutron_linuxbridge_agent
73       config_settings:
74         map_merge:
75           - get_attr: [NeutronBase, role_data, config_settings]
76           - neutron::agents::ml2::linuxbridge::physical_interface_mappings: {get_param: PhysicalInterfaceMapping}
77             neutron::agents::ml2::linuxbridge::l2_population: {get_param: NeutronEnableL2Pop}
78             neutron::agents::ml2::linuxbridge::tunnel_types: {get_param: NeutronTunnelTypes}
79             neutron::agents::ml2::linuxbridge::local_ip: {get_param: [ServiceNetMap, NeutronTenantNetwork]}
80             neutron::agents::dhcp::interface_driver: 'neutron.agent.linux.interface.BridgeInterfaceDriver'
81             neutron::agents::dhcp::dhcp_driver: 'neutron.agent.linux.dhcp.Dnsmasq'
82           -
83             if:
84             - no_firewall_driver
85             - {}
86             - neutron::agents::ml2::linuxbridge::firewall_driver: {get_param: NeutronLinuxbridgeFirewallDriver}
87       step_config: |
88         include ::tripleo::profile::base::neutron::linuxbridge