puppet-nova/examples/nova_with_pacemaker.pp
Clayton O'Neill 00e744a9b1 Add Puppet 4.x lint checks
This changes the puppet-lint requirement to 1.1.x, so that we can use
puppet-lint plugins.  Most of these plugins are for 4.x compat, but some
just catch common errors.

Change-Id: I48838fa11902247101c0473abff65cbb2558f609
2015-02-16 15:58:23 -05:00

56 lines
1.8 KiB
Puppet

# 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_consoleauth_service lsb:openstack-nova-consoleauth
# 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::consoleauth':
enabled => false,
manage_service => false,
}
class { '::nova::scheduler':
enabled => false,
manage_service => false,
}
class { '::nova::vncproxy':
enabled => false,
manage_service => false,
}