Merge "Pass the DOCKER_* env vars when running docker"
[apex-tripleo-heat-templates.git] / puppet / services / neutron-dhcp.yaml
1 heat_template_version: ocata
2
3 description: >
4   OpenStack Neutron DHCP agent configured with Puppet
5
6 parameters:
7   ServiceNetMap:
8     default: {}
9     description: Mapping of service_name -> network name. Typically set
10                  via parameter_defaults in the resource registry.  This
11                  mapping overrides those in ServiceNetMapDefaults.
12     type: json
13   DefaultPasswords:
14     default: {}
15     type: json
16   EndpointMap:
17     default: {}
18     description: Mapping of service endpoint -> protocol. Typically set
19                  via parameter_defaults in the resource registry.
20     type: json
21   NeutronEnableMetadataNetwork:
22     default: false
23     description: If True, DHCP provide metadata network. Requires either
24                  IsolatedMetadata or ForceMetadata parameters to also be True.
25     type: boolean
26   NeutronEnableIsolatedMetadata:
27     default: false
28     description: If True, DHCP provide metadata route to VM.
29     type: boolean
30   NeutronEnableForceMetadata:
31     default: false
32     description: If True, DHCP always provides metadata route to VM.
33     type: boolean
34   MonitoringSubscriptionNeutronDhcp:
35     default: 'overcloud-neutron-dhcp'
36     type: string
37   NeutronDhcpAgentLoggingSource:
38     type: json
39     default:
40       tag: openstack.neutron.agent.dhcp
41       path: /var/log/neutron/dhcp-agent.log
42   NeutronDhcpAgentDnsmasqDnsServers:
43     default: []
44     description: List of servers to use as dnsmasq forwarders
45     type: comma_delimited_list
46
47 resources:
48
49   NeutronBase:
50     type: ./neutron-base.yaml
51     properties:
52       ServiceNetMap: {get_param: ServiceNetMap}
53       DefaultPasswords: {get_param: DefaultPasswords}
54       EndpointMap: {get_param: EndpointMap}
55
56 outputs:
57   role_data:
58     description: Role data for the Neutron DHCP agent service.
59     value:
60       service_name: neutron_dhcp
61       monitoring_subscription: {get_param: MonitoringSubscriptionNeutronDhcp}
62       logging_source: {get_param: NeutronDhcpAgentLoggingSource}
63       logging_groups:
64         - neutron
65       config_settings:
66         map_merge:
67           - get_attr: [NeutronBase, role_data, config_settings]
68           - neutron::agents::dhcp::enable_isolated_metadata: {get_param: NeutronEnableIsolatedMetadata}
69             neutron::agents::dhcp::enable_force_metadata: {get_param: NeutronEnableForceMetadata}
70             neutron::agents::dhcp::enable_metadata_network: {get_param: NeutronEnableMetadataNetwork}
71             neutron::agents::dhcp::dnsmasq_dns_servers: {get_param: NeutronDhcpAgentDnsmasqDnsServers}
72             tripleo.neutron_dhcp.firewall_rules:
73               '115 neutron dhcp input':
74                 proto: 'udp'
75                 dport: 67
76               '116 neutron dhcp output':
77                 proto: 'udp'
78                 chain: 'OUTPUT'
79                 dport: 68
80       step_config: |
81         include tripleo::profile::base::neutron::dhcp
82       upgrade_tasks:
83         - name: Check if neutron_dhcp_agent is deployed
84           command: systemctl is-enabled neutron-dhcp-agent
85           tags: common
86           ignore_errors: True
87           register: neutron_dhcp_agent_enabled
88         - name: "PreUpgrade step0,validation: Check service neutron-dhcp-agent is running"
89           shell: /usr/bin/systemctl show 'neutron-dhcp-agent' --property ActiveState | grep '\bactive\b'
90           when: neutron_dhcp_agent_enabled.rc == 0
91           tags: step0,validation
92         - name: Stop neutron_dhcp service
93           tags: step1
94           when: neutron_dhcp_agent_enabled.rc == 0
95           service: name=neutron-dhcp-agent state=stopped