Merge "Convert AllNodesExtraConfig to OS::Heat::None"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-dhcp.yaml
1 heat_template_version: 2016-04-08
2
3 description: >
4   OpenStack Neutron DHCP agent configured with Puppet
5
6 parameters:
7   EndpointMap:
8     default: {}
9     description: Mapping of service endpoint -> protocol. Typically set
10                  via parameter_defaults in the resource registry.
11     type: json
12   NeutronEnableIsolatedMetadata:
13     default: 'False'
14     description: If True, DHCP provide metadata route to VM.
15     type: string
16   NeutronDnsmasqOptions:
17     default: 'dhcp-option-force=26,%MTU%'
18     description: >
19       Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU
20       to be set to the value of NeutronTenantMtu, which should be set to account
21       for tunnel overhead.
22     type: string
23   NeutronTenantMtu:
24     description: >
25       The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
26       be at least 50 bytes smaller than the MTU on the physical network. This
27       value will be used to set the MTU on the virtual Ethernet device.
28       This value will be used to construct the NeutronDnsmasqOptions, since that
29       will determine the MTU that is assigned to the VM host through DHCP.
30     default: "1400"
31     type: string
32
33 resources:
34
35   NeutronBase:
36     type: ./neutron-base.yaml
37
38 outputs:
39   role_data:
40     description: Role data for the Neutron DHCP agent service.
41     value:
42       config_settings:
43         map_merge:
44           - get_attr: [NeutronBase, role_data, config_settings]
45           - neutron::agents::dhcp::dnsmasq_config_file: /etc/neutron/dnsmasq-neutron.conf
46             tripleo::profile::base::neutron::dhcp:
47               str_replace:
48                 template: {get_param: NeutronDnsmasqOptions}
49                 params:
50                   '%MTU%': {get_param: NeutronTenantMtu}
51             neutron::agents::dhcp::enable_isolated_metadata: {get_param: NeutronEnableIsolatedMetadata}
52       step_config: |
53         include tripleo::profile::base::neutron::dhcp