Skip to content

Commit

Permalink
Merge "Add HA docs for pacemaker service provider"
Browse files Browse the repository at this point in the history
  • Loading branch information
Jenkins authored and openstack-gerrit committed Feb 11, 2015
2 parents 433cf87 + 7f44ee9 commit 9693efe
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,62 @@ Implementation
openstack_extras is a combination of Puppet manifest and ruby code to delivery
configuration and extra functionality through types and providers.

**HA configuration for Openstack services**

This module allows to configure Openstack services in HA. Please refer to the [ha-guide](http://docs.openstack.org/high-availability-guide/content/index.html) for details.
If you have a Corosync with Pacemaker cluster with several nodes joined, you may want to use an HA service provider which allows you to create the pacemaker resources for Openstack services and run them in HA mode.
The example HA service configuration for keystone service:

```puppet
openstack_extras::pacemaker::service { 'openstack-keystone' :
ensure => present,
metadata => {},
ms_metadata => {},
operations => {},
parameters => {},
primitive_class => 'systemd',
primitive_provider => false,
primitive_type => 'openstack-keystone',
use_handler => false,
clone => true,
require => Package['openstack-keystone']
}
```
This example will create a pacemaker clone resource named `p_openstack-keystone-clone` and will start it with the help of systemd.

And this example will create a resource `p_cinder-api-clone` for Cinder API service with the given OCF script template from some `cluster` module:

```puppet
$metadata = {
'resource-stickiness' => '1'
}
$operations = {
'monitor' => {
'interval' => '20',
'timeout' => '30',
},
'start' => {
'timeout' => '60',
},
'stop' => {
'timeout' => '60',
},
}
$ms_metadata = {
'interleave' => true,
}
openstack_extras::pacemaker::service { 'cinder-api' :
primitive_type => 'cinder-api',
metadata => $metadata,
ms_metadata => $ms_metadata,
operations => $operations,
clone => true,
ocf_script_template => 'cluster/cinder_api.ocf.erb',
}
```

Limitations
-----------

Expand Down
1 change: 1 addition & 0 deletions manifests/pacemaker/service.pp
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,7 @@
# metadata => $metadata,
# ms_metadata => $ms_metadata,
# operations => $operations,
# clone => true,
# ocf_script_template => 'some_module/some_api_service.ocf.erb',
# }
#
Expand Down

0 comments on commit 9693efe

Please sign in to comment.