---
title: Charmhub | Deploy Hacluster using Charmhub - The Open Operator Collection
description: Deploy the latest version of Hacluster on any cloud.
url: https://charmhub.io/hacluster/configurations
---

# Hacluster

[OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

* [OpenStack Charmers](https://charmhub.io/publisher/openstack-charmers "View all packages from OpenStack Charmers")

Platform:

24.04

23.10

22.10

22.04

21.10

21.04

20.10

20.04

18.04

+4

2.4/stable 173

```
juju deploy hacluster --channel 2.4/stable
```

[Learn to deploy on juju >](https://juju.is/docs/juju/manage-applications)

* [cluster\_count](https://charmhub.io/hacluster/configurations#cluster_count)
* [cluster\_recheck\_interval](https://charmhub.io/hacluster/configurations#cluster_recheck_interval)
* [corosync\_bindiface](https://charmhub.io/hacluster/configurations#corosync_bindiface)
* [corosync\_key](https://charmhub.io/hacluster/configurations#corosync_key)
* [corosync\_mcastaddr](https://charmhub.io/hacluster/configurations#corosync_mcastaddr)
* [corosync\_mcastport](https://charmhub.io/hacluster/configurations#corosync_mcastport)
* [corosync\_transport](https://charmhub.io/hacluster/configurations#corosync_transport)
* [debug](https://charmhub.io/hacluster/configurations#debug)
* [failed\_actions\_alert\_type](https://charmhub.io/hacluster/configurations#failed_actions_alert_type)
* [failed\_actions\_threshold](https://charmhub.io/hacluster/configurations#failed_actions_threshold)
* [failure\_timeout](https://charmhub.io/hacluster/configurations#failure_timeout)
* [maas\_credentials](https://charmhub.io/hacluster/configurations#maas_credentials)
* [maas\_source](https://charmhub.io/hacluster/configurations#maas_source)
* [maas\_source\_key](https://charmhub.io/hacluster/configurations#maas_source_key)
* [maas\_url](https://charmhub.io/hacluster/configurations#maas_url)
* [maintenance-mode](https://charmhub.io/hacluster/configurations#maintenance-mode)
* [monitor\_host](https://charmhub.io/hacluster/configurations#monitor_host)
* [monitor\_interval](https://charmhub.io/hacluster/configurations#monitor_interval)
* [nagios\_context](https://charmhub.io/hacluster/configurations#nagios_context)
* [nagios\_servicegroups](https://charmhub.io/hacluster/configurations#nagios_servicegroups)
* [netmtu](https://charmhub.io/hacluster/configurations#netmtu)
* [no\_quorum\_policy](https://charmhub.io/hacluster/configurations#no_quorum_policy)
* [pacemaker\_key](https://charmhub.io/hacluster/configurations#pacemaker_key)
* [prefer-ipv6](https://charmhub.io/hacluster/configurations#prefer-ipv6)
* [res\_failcount\_crit](https://charmhub.io/hacluster/configurations#res_failcount_crit)
* [res\_failcount\_warn](https://charmhub.io/hacluster/configurations#res_failcount_warn)
* [service\_start\_timeout](https://charmhub.io/hacluster/configurations#service_start_timeout)
* [service\_stop\_timeout](https://charmhub.io/hacluster/configurations#service_stop_timeout)
* [stonith\_enabled](https://charmhub.io/hacluster/configurations#stonith_enabled)

[Learn about configurations >](https://juju.is/docs/juju/configuration#heading--application-configuration)

* cluster\_count | int

  Default: 3

  Number of peer units required to bootstrap cluster services.
  .
  If less that 3 is specified, the cluster will be configured to
  ignore any quorum problems; with 3 or more units, quorum will be
  enforced and services will be stopped in the event of a loss
  of quorum. It is best practice to set this value to the expected
  number of units to avoid potential race conditions.
* cluster\_recheck\_interval | int

  Default: 60

  Sets the pacemaker default resource meta-attribute value for
  'cluster-recheck-interval'. This value represents the polling interval
  at which the cluster checks for changes in the resource parameters,
  constraints or other cluster options. Setting this to 0 disables
  the feature.
* corosync\_bindiface | string

  Default network interface on which HA cluster will bind to communication
  with the other members of the HA Cluster. Defaults to the network
  interface hosting the units private-address. Only used when
  corosync\_transport = multicast.
* corosync\_key | string

  Default: 64RxJNcCkwo8EJYBsaacitUvbQp5AW4YolJi5/2urYZYp2jfLxY+3IUCOaAUJHPle4Yqfy+WBXO0I/6ASSAjj9jaiHVNaxmVhhjcmyBqy2vtPf+m+0VxVjUXlkTyYsODwobeDdO3SIkbIABGfjLTu29yqPTsfbvSYr6skRb9ne0=

  This value will become the Corosync authentication key. To generate
  a suitable value use:
  .
  sudo corosync-keygen
  sudo cat /etc/corosync/authkey | base64 -w 0
  .
  This configuration element is mandatory and the service will fail on
  install if it is not provided. The value must be base64 encoded.
* corosync\_mcastaddr | string

  Default: 226.94.1.1

  Multicast IP address to use for exchanging messages over the network.
  If multiple clusters are on the same bindnetaddr network, this value
  can be changed. Only used when corosync\_transport = multicast.
* corosync\_mcastport | int

  Default multicast port number that will be used to communicate between
  HA Cluster nodes. Only used when corosync\_transport = multicast.
* corosync\_transport | string

  Default: unicast

  Two supported modes are multicast (udp) or unicast (udpu)
* debug | boolean

  Enable debug logging
* failed\_actions\_alert\_type | string

  Default: ignore

  DEPRECATED: will be removed in a future release
  If the CRM status has recorded failed actions in any of the registered
  resource agents, check\_crm can optionally generate an alert.
  Valid options: ignore/warning/critical
* failed\_actions\_threshold | int

  DEPRECATED: will be removed in a future release. Alias for
  res\_failcount\_warn. Takes precedence over res\_failcount\_warn if set to
  non-zero
* failure\_timeout | int

  Default: 180

  Sets the pacemaker default resource meta-attribute value for
  failure\_timeout. This value represents the duration in seconds to wait
  before resetting failcount to 0. In practice, this is measured as the
  time elapsed since the most recent failure. Setting this to 0 disables
  the feature.
* maas\_credentials | string

  MAAS credentials (required for STONITH).
* maas\_source | string

  Default: ppa:maas/stable

  PPA for python3-maas-client:
  .

  + ppa:maas/stable
  + ppa:maas/next
    .
    The last option should be used in conjunction with the key configuration
    option. Used when service\_dns is set on the primary charm for DNS HA.
* maas\_source\_key | string

  PPA key for python3-maas-client:
  PPA Key configuration option. Used when nodes are offline to specify
  the ppa public key.
* maas\_url | string

  MAAS API endpoint (required for STONITH).
* maintenance-mode | boolean

  When enabled pacemaker will be put in maintenance mode, this will allow
  administrators to manipulate cluster resources (e.g. stop daemons, reboot
  machines, etc). Pacemaker will not monitor the resources while maintenance
  mode is enabled and node removals won't be processed.
* monitor\_host | string

  One or more IPs, separated by space, that will be used as a safety check
  for avoiding split brain situations. Nodes in the cluster will ping these
  IPs periodically. Node that can not ping monitor\_host will not run shared
  resources (VIP, shared disk...).
* monitor\_interval | string

  Default: 5s

  Time period between checks of resource health. It consists of a number
  and a time factor, e.g. 5s = 5 seconds. 2m = 2 minutes.
* nagios\_context | string

  Default: juju

  Used by the nrpe-external-master subordinate charm.
  A string that will be prepended to instance name to set the host name
  in nagios. So for instance the hostname would be something like:
  .
  juju-postgresql-0
  .
  If you're running multiple environments with the same services in them
  this allows you to differentiate between them.
* nagios\_servicegroups | string

  A comma-separated list of nagios servicegroups. If left empty, the
  nagios\_context will be used as the servicegroup.
* netmtu | int

  Specifies the corosync.conf network mtu. If unset, the default
  corosync.conf value is used (currently 1500). See 'man corosync.conf' for
  detailed information on this config option.
* no\_quorum\_policy | string

  Default: stop

  What to do when the cluster does not have quorum. Allowed values:
  ignore: continue all resource management,
  freeze: continue resource management, but don’t recover resources from nodes not in the affected partition,
  stop: stop all resources in the affected cluster partition,
  suicide: fence all nodes in the affected cluster partition
* pacemaker\_key | string

  This value will become the Pacemaker authentication key. To generate
  a suitable value use:
  .
  dd if=/dev/urandom of=/tmp/authkey bs=2048 count=1
  cat /tmp/authkey | base64 -w 0
  .
  If this configuration element is not set then the corosync key will be
  reused as the pacemaker key.
* prefer-ipv6 | boolean

  If True enables IPv6 support. The charm will expect network interfaces
  to be configured with an IPv6 address. If set to False (default) IPv4
  is expected.
  .
  NOTE: these charms do not currently support IPv6 privacy extension. In
  order for this charm to function correctly, the privacy extension must be
  disabled and a non-temporary address must be configured/available on
  your network interface.
* res\_failcount\_crit | int

  Default: 10

  check\_crm will generate a critical alert if the failcount of a resource
  has crossed this threshold. Set to 0 or '' to disable.
* res\_failcount\_warn | int

  Default: 3

  check\_crm will generate a warning if the failcount of a resource has
  crossed this threshold. Set to 0 or '' to disable.
* service\_start\_timeout | int

  Default: 180

  Systemd override value for corosync and pacemaker service start timeout
  in seconds. Set value to -1 turn off timeout for the services.
* service\_stop\_timeout | int

  Default: 600

  Systemd override value for corosync and pacemaker service stop timeout
  seconds. The default value will cause systemd to timeout a service stop
  after 10 minutes. This should provide for sufficient time for resources
  to migrate away from the current node as part of the stop sequence in
  most cases. Set value to -1 turn off timeout for the services.
* stonith\_enabled | string

  Default: False

  DEPRECATED: is now ignored and will be removed in a future release.
  Resource fencing (aka STONITH) is now always enabled for every node in
  the cluster. This requires MAAS credentials be provided and each node's
  power parameters are properly configured in its inventory.
