Split public_vip_ping task out

public_vip_ping task has been splitted out to avoid unwanted failover when
ping_checker resource might be started up on controllers before a primary one.
In addition pingd constraint has been changed to be based on score.
If all the nodes failed to ping the default gw, the resource
ain't stopped and remains on the last node where it was.

Change-Id: Ic02fc33f323f75c0b47e78e0935842dd9ae5a27d
Closes-Bug: #1643510
(cherry picked from commit 8358ecc887)
This commit is contained in:
Michael Polenchuk 2016-11-21 14:24:04 +03:00 committed by Vladimir Kuklin
parent 51014d902e
commit de4dcf305c
2 changed files with 23 additions and 7 deletions

View File

@ -41,16 +41,16 @@ define cluster::virtual_ip_ping (
primitive => $vip_name,
rules => [
{
'score' => '-inf',
'score' => '50',
'expressions' => [
{
'attribute' => "pingd",
'operation' => 'not_defined',
'operation' => 'defined',
},
{
'attribute' => "pingd",
'operation'=>'lte',
'value' => '0',
'operation' => 'gte',
'value' => '1',
},
],
},

View File

@ -123,14 +123,30 @@
timeout: 180
cwd: /
- id: public_vip_ping
- id: primary_public_vip_ping
type: puppet
version: 2.1.0
role: [primary-controller, controller]
role: [primary-controller]
requires: [post_deployment_start]
required_for: [post_deployment_end]
condition:
yaql_exp: "changed($.network_scheme) or changed($.get('run_ping_checker'))"
yaql_exp: &pub_viping "changed($.network_scheme) or changed($.get('run_ping_checker'))"
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/virtual_ips/public_vip_ping.pp
puppet_modules: /etc/puppet/modules
timeout: 120
cwd: /
- id: public_vip_ping
type: puppet
version: 2.1.0
role: [controller]
requires: [post_deployment_start]
required_for: [post_deployment_end]
condition:
yaql_exp: *pub_viping
cross-depends:
- name: primary_public_vip_ping
parameters:
puppet_manifest: /etc/puppet/modules/osnailyfacter/modular/virtual_ips/public_vip_ping.pp
puppet_modules: /etc/puppet/modules