File: nova_with_pacemaker.pp

package info (click to toggle)
puppet-module-nova 25.0.0-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 4,100 kB
  • sloc: ruby: 11,433; python: 38; sh: 10; makefile: 10
file content (49 lines) | stat: -rw-r--r-- 1,689 bytes parent folder | download | duplicates (3)
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
# Example: managing nova compute controller services with pacemaker
#
# By setting enabled to false, these services will not be started at boot.  By setting
# manage_service to false, puppet will not kill these services on every run.  This
# allows the Pacemaker resource manager to dynamically determine on which node each
# service should run.
#
# The puppet commands below would ideally be applied to at least three nodes.
#
# Note that nova-api and nova-novncproxy are associated with the virtual IP address as
# they are called from external services.  The remaining services connect to the
# database and/or message broker independently.
#
# Example pacemaker resource configuration commands (configured once per cluster):
#
# sudo pcs resource create nova_vip ocf:heartbeat:IPaddr2 params ip=192.0.2.3 \
#   cidr_netmask=24 op monitor interval=10s
#
# sudo pcs resource create nova_api_service lsb:openstack-nova-api
# sudo pcs resource create nova_conductor_service lsb:openstack-nova-conductor
# sudo pcs resource create nova_novncproxy_service lsb:openstack-nova-novncproxy
# sudo pcs resource create nova_scheduler_service lsb:openstack-nova-scheduler
#
# sudo pcs constraint colocation add nova_api_service with nova_vip
# sudo pcs constraint colocation add nova_novncproxy_service with nova_vip

class { 'nova': }

class { 'nova::api':
  enabled        => false,
  manage_service => false,
  admin_password => 'PASSWORD',
}

class { 'nova::conductor':
  enabled        => false,
  manage_service => false,
}

class { 'nova::scheduler':
  enabled        => false,
  manage_service => false,
}

class { 'nova::vncproxy':
  enabled        => false,
  manage_service => false,
}