summaryrefslogtreecommitdiffstats
path: root/puppet/services/neutron-dhcp.yaml
blob: 548b4ba0c789e6050823c1cfe066d7b60b2f9b8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
heat_template_version: 2016-04-08

description: >
  OpenStack Neutron DHCP agent configured with Puppet

parameters:
  EndpointMap:
    default: {}
    description: Mapping of service endpoint -> protocol. Typically set
                 via parameter_defaults in the resource registry.
    type: json
  MysqlVirtualIPUri:
    type: string
    default: ''
  NeutronEnableIsolatedMetadata:
    default: 'False'
    description: If True, DHCP provide metadata route to VM.
    type: string
  NeutronDnsmasqOptions:
    default: 'dhcp-option-force=26,%MTU%'
    description: >
      Dnsmasq options for neutron-dhcp-agent. The default value here forces MTU
      to be set to the value of NeutronTenantMtu, which should be set to account
      for tunnel overhead.
    type: string
  NeutronTenantMtu:
    description: >
      The default MTU for tenant networks. For VXLAN/GRE tunneling, this should
      be at least 50 bytes smaller than the MTU on the physical network. This
      value will be used to set the MTU on the virtual Ethernet device.
      This value will be used to construct the NeutronDnsmasqOptions, since that
      will determine the MTU that is assigned to the VM host through DHCP.
    default: "1400"
    type: string

resources:

  NeutronBase:
    type: ./neutron-base.yaml

outputs:
  role_data:
    description: Role data for the Neutron DHCP agent service.
    value:
      config_settings:
        map_merge:
          - get_attr: [NeutronBase, role_data, config_settings]
          - neutron::agents::dhcp::dnsmasq_config_file: /etc/neutron/dnsmasq-neutron.conf
            tripleo::profile::base::neutron::dhcp:
              str_replace:
                template: {get_param: NeutronDnsmasqOptions}
                params:
                  '%MTU%': {get_param: NeutronTenantMtu}
            neutron::agents::dhcp::enable_isolated_metadata: {get_param: NeutronEnableIsolatedMetadata}
      step_config: |
        include tripleo::profile::base::neutron::dhcp