From cfcc613a1eddb90fb5b5426a23e90c78a58be784 Mon Sep 17 00:00:00 2001 From: Michael Polenchuk Date: Wed, 26 Oct 2016 15:26:11 +0300 Subject: [PATCH] Shift public ping checker into deployment stage Avoid public vip failover at the end of post-deployment by moving ping_checker resource into deployment stage. Also 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: I666fbbbe98d000c66f97cf4751f304a2da9aad67 --- .../puppet/cluster/manifests/virtual_ip_ping.pp | 10 +++++----- .../puppet/osnailyfacter/modular/astute/tasks.yaml | 15 --------------- .../osnailyfacter/modular/virtual_ips/tasks.yaml | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/deployment/puppet/cluster/manifests/virtual_ip_ping.pp b/deployment/puppet/cluster/manifests/virtual_ip_ping.pp index 3e49c09..7642422 100644 --- a/deployment/puppet/cluster/manifests/virtual_ip_ping.pp +++ b/deployment/puppet/cluster/manifests/virtual_ip_ping.pp @@ -11,7 +11,7 @@ define cluster::virtual_ip_ping ( $parameters = { 'host_list' => $host_list, 'multiplier' => '1000', - 'dampen' => '30s', + 'dampen' => '45s', 'timeout' => '3s', } $operations = { @@ -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', }, ], }, diff --git a/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml b/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml index 5e3e6ee..83242c4 100644 --- a/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml +++ b/deployment/puppet/osnailyfacter/modular/astute/tasks.yaml @@ -10,7 +10,6 @@ cross-depends: - name: dns-client - name: ntp-server - - name: public_vip_ping parameters: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/astute/enable_quorum.rb timeout: 180 @@ -110,20 +109,6 @@ timeout: 180 cwd: / -- id: public_vip_ping - type: puppet - version: 2.1.0 - role: [primary-controller, controller] - requires: [post_deployment_start] - required_for: [post_deployment_end] - condition: - yaql_exp: "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: 3600 - cwd: / - - id: configure_default_route type: puppet version: 2.1.0 diff --git a/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml b/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml index 00d4306..b028c6e 100644 --- a/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml +++ b/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml @@ -34,3 +34,17 @@ cmd: ruby /etc/puppet/modules/osnailyfacter/modular/virtual_ips/conntrackd_pre.rb test_post: cmd: ruby /etc/puppet/modules/osnailyfacter/modular/virtual_ips/conntrackd_post.rb + +- id: public_vip_ping + type: puppet + version: 2.1.0 + groups: [primary-controller, controller] + requires: [virtual_ips] + required_for: [primary-cluster-haproxy, cluster-haproxy] + condition: + yaql_exp: "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: 3600 + cwd: / -- 1.7.9.5