3edcf9b670
When the cluster does not have quorum (less than 3 Elasticsearch nodes) the 'no-quorum policiy' is set to 'ignore', which allows to continue all resource management. If the cluster have quorum (more that 2 nodes), the policy is set to 'stop', which stops all resources in the affected cluster partition if the cluster loses quorum to avoid data corruption. http://clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/s-cluster-options.html Change-Id: I3b1ad071e4bf31581f245bbd8de863e6266ffb5b
160 lines
4.3 KiB
YAML
160 lines
4.3 KiB
YAML
- id: primary-elasticsearch_kibana
|
|
type: group
|
|
role: [primary-elasticsearch_kibana]
|
|
tasks:
|
|
- fuel_pkgs
|
|
- hiera
|
|
- globals
|
|
- tools
|
|
- logging
|
|
- netconfig
|
|
- hosts
|
|
- cluster-haproxy
|
|
required_for: [deploy_end]
|
|
requires: [deploy_start]
|
|
parameters:
|
|
strategy:
|
|
type: one_by_one
|
|
|
|
- id: elasticsearch_kibana
|
|
type: group
|
|
role: [elasticsearch_kibana]
|
|
tasks:
|
|
- fuel_pkgs
|
|
- hiera
|
|
- globals
|
|
- tools
|
|
- logging
|
|
- netconfig
|
|
- hosts
|
|
- cluster-haproxy
|
|
required_for: [deploy_end]
|
|
requires: [deploy_start, primary-elasticsearch_kibana]
|
|
parameters:
|
|
strategy:
|
|
type: parallel
|
|
|
|
# This task needs to be reexecuted to recheck configuration
|
|
- id: lma-es-check-configuration
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana]
|
|
requires: [netconfig]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/check_environment_configuration.pp
|
|
puppet_modules: puppet/modules
|
|
timeout: 120
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
|
|
- id: lma-es-firewall
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
required_for: [deploy_end]
|
|
requires: [netconfig]
|
|
parameters:
|
|
puppet_manifest: "puppet/manifests/firewall.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 3600
|
|
|
|
- id: lma-es-cluster
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
required_for: [cluster-haproxy]
|
|
requires: [lma-es-firewall]
|
|
parameters:
|
|
puppet_manifest: "puppet/manifests/cluster.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 3600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-es-virtual-ip
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
required_for: [deploy_end]
|
|
requires: [lma-es-cluster]
|
|
parameters:
|
|
puppet_manifest: "puppet/modules/osnailyfacter/modular/virtual_ips/virtual_ips.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 3600
|
|
|
|
# This task needs to be reexecuted to adapt configuration variables depending
|
|
# on the number of nodes in the cluster
|
|
- id: lma-es-hiera
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
requires: [globals]
|
|
required_for: [logging, lma-es-cluster, lma-es-kibana-haproxy]
|
|
parameters:
|
|
puppet_manifest: "puppet/manifests/hiera_override.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 120
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
# This task needs to be reexecuted to reconfigure HAProxy backends
|
|
- id: lma-es-kibana-haproxy
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
requires: [cluster-haproxy, lma-es-virtual-ip]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: "puppet/manifests/haproxy.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 120
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
# This task needs to be reexecuted to reconfigure Elasticsearch instances
|
|
- id: lma-install-elasticsearch
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
requires: [lma-es-kibana-haproxy]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/elasticsearch.pp
|
|
puppet_modules: puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
- id: lma-install-kibana
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana, elasticsearch_kibana]
|
|
requires: [lma-es-kibana-haproxy]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/kibana.pp
|
|
puppet_modules: puppet/modules
|
|
timeout: 600
|
|
|
|
# This task needs to be reexecuted to reconfigure index templates with an
|
|
# appropriate number_of_replicas
|
|
- id: lma-provision-services
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana]
|
|
requires: [lma-install-elasticsearch, lma-install-kibana]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: puppet/manifests/provision_services.pp
|
|
puppet_modules: puppet/modules
|
|
timeout: 600
|
|
reexecute_on:
|
|
- deploy_changes
|
|
|
|
# This task needs to be reexecuted to reconfigure the no-quorum-policy each
|
|
# time the cluster is scaled.
|
|
- id: lma-enable-quorum
|
|
type: puppet
|
|
groups: [primary-elasticsearch_kibana]
|
|
requires: [lma-es-kibana-haproxy]
|
|
required_for: [deploy_end]
|
|
parameters:
|
|
puppet_manifest: "puppet/manifests/enable_quorum.pp"
|
|
puppet_modules: "puppet/modules"
|
|
timeout: 120
|
|
reexecute_on:
|
|
- deploy_changes
|