diff options
-rw-r--r-- | build/patch-repos/build/repos/fuel-library/0004-Shift-public-ping-checker-into-deployment-stage.patch | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/build/patch-repos/build/repos/fuel-library/0004-Shift-public-ping-checker-into-deployment-stage.patch b/build/patch-repos/build/repos/fuel-library/0004-Shift-public-ping-checker-into-deployment-stage.patch new file mode 100644 index 000000000..fd929323f --- /dev/null +++ b/build/patch-repos/build/repos/fuel-library/0004-Shift-public-ping-checker-into-deployment-stage.patch @@ -0,0 +1,126 @@ +From 60dbecc548b4a81b99d50feac96864ed42d9af4b Mon Sep 17 00:00:00 2001 +From: Michael Polenchuk <mpolenchuk@mirantis.com> +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 | 30 ++++++++++++++++++++ + 3 files changed, 35 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..7420099 100644 +--- a/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml ++++ b/deployment/puppet/osnailyfacter/modular/virtual_ips/tasks.yaml +@@ -34,3 +34,33 @@ + 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: primary_public_vip_ping ++ type: puppet ++ version: 2.1.0 ++ groups: [primary-controller] ++ requires: [virtual_ips] ++ required_for: [primary-cluster-haproxy] ++ condition: ++ 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: 300 ++ cwd: / ++ ++- id: public_vip_ping ++ type: puppet ++ version: 2.1.0 ++ groups: [controller] ++ requires: [virtual_ips] ++ required_for: [deploy_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 ++ timeout: 300 ++ cwd: / +-- +1.7.9.5 + |