1 # Example: managing neutron controller services with pacemaker
3 # By setting enabled to false, these services will not be started at boot. By setting
4 # manage_service to false, puppet will not kill these services on every run. This
5 # allows the Pacemaker resource manager to dynamically determine on which node each
8 # The puppet commands below would ideally be applied to at least three nodes.
10 # Note that neutron-server is associated with the virtual IP address as
11 # it is called from external services. The remaining services connect to the
12 # database and/or message broker independently.
14 # Example pacemaker resource configuration commands (configured once per cluster):
16 # sudo pcs resource create neutron_vip ocf:heartbeat:IPaddr2 params ip=192.0.2.3 \
17 # cidr_netmask=24 op monitor interval=10s
19 # sudo pcs resource create neutron_server_service lsb:neutron-server
20 # sudo pcs resource create neutron_dhcp_agent_service lsb:neutron-dhcp-agent
21 # sudo pcs resource create neutron_l3_agent_service lsb:neutron-l3-agent
23 # sudo pcs constraint colocation add neutron_server_service with neutron_vip
27 allow_overlapping_ips => true,
28 service_plugins => [ 'dhcp', 'l3' ]
31 class { 'neutron::server':
33 manage_service => false,
34 keystone_password => 'password',
35 connection => 'mysql://neutron:password@192.168.1.1/neutron',
38 class { 'neutron::agents::dhcp':
40 manage_service => false,
43 class { 'neutron::agents::l3':
45 manage_service => false,