From 59c2095a5c71899def3d017af63ba607d6e44db8 Mon Sep 17 00:00:00 2001
From: zizzi <giovanni.zizzi@cnaf.infn.it>
Date: Wed, 14 Oct 2015 13:47:35 +0000
Subject: [PATCH] used keepalived module from puppetforge instead of baltig and
 changed resource definition in manifest/profile/keepalive.pp

---
 Puppetfile                      |  3 --
 examples/metadata.json          | 69 +++++++++++++++++++++++++++++++++
 manifests/profile/keepalived.pp | 12 +++---
 metadata.json                   |  1 +
 4 files changed, 76 insertions(+), 9 deletions(-)
 create mode 100644 examples/metadata.json

diff --git a/Puppetfile b/Puppetfile
index abd376a..568cc44 100644
--- a/Puppetfile
+++ b/Puppetfile
@@ -35,8 +35,5 @@ mod 'puppetdb',
 # Modulo percona a discapito di Quentin mysql-galera, di Traldi
 mod 'percona',
     :git => "https://baltig.infn.it/ocp-tools/percona.git"
-# Modulo keepalived di acostantini
-mod 'keepalived',
-    :git => "https://baltig.infn.it/ocp-tools/keepalived.git"
 # A module from Github pre-packaged tarball
 # mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
diff --git a/examples/metadata.json b/examples/metadata.json
new file mode 100644
index 0000000..0b63407
--- /dev/null
+++ b/examples/metadata.json
@@ -0,0 +1,69 @@
+{
+  "name": "iaas",
+  "version": "0.1.1",
+  "author": "OCP",
+  "summary": "Install, configure, and manage a full installation of OpenStack Juno",
+  "license": "Apache-2.0",
+  "source": "to_define",
+  "project_page": "to_define",
+  "issues_url": "to_define",
+  "requirements": [
+    {
+      "name": "pe",
+      "version_requirement": "3.x"
+    },
+    {
+      "name": "puppet",
+      "version_requirement": "3.x"
+    }
+  ],
+  "operatingsystem_support": [
+    {
+      "operatingsystem": "RedHat",
+      "operatingsystemrelease": [
+        "6",
+        "7"
+      ]
+    },
+    {
+      "operatingsystem": "Ubuntu",
+      "operatingsystemrelease": [
+        "14.04"
+      ]
+    }
+  ],
+  "description": "Using a hiera-based roles and profiles model, do simple OpenStack deployments.",
+  "dependencies": [
+    {"name":"stackforge/ceilometer","version_requirement":"5.1.0"},
+    {"name":"stackforge/cinder","version_requirement":"5.1.0"},
+    {"name":"stackforge/glance","version_requirement":"5.1.0"},
+    {"name":"stackforge/heat","version_requirement":"5.1.0"},
+    {"name":"stackforge/horizon","version_requirement":"5.1.0"},
+    {"name":"stackforge/keystone","version_requirement":"5.1.0"},
+    {"name":"stackforge/neutron","version_requirement":"5.1.0"},
+    {"name":"stackforge/nova","version_requirement":"5.1.0"},
+    {"name":"stackforge/swift","version_requirement":"5.1.0"},
+    {"name":"stackforge/tempest","version_requirement":"5.1.0"},
+    {"name":"puppetlabs/apache","version_requirement":"1.6.0"},
+    {"name":"puppetlabs/firewall","version_requirement":"1.7.0"},
+    {"name":"puppetlabs/ntp","version_requirement":"4.1.0"},
+    {"name":"puppetlabs/rabbitmq","version_requirement":"3.1.0"},
+    {"name":"puppetlabs/stdlib","version_requirement":"4.8.0"},
+    {"name":"puppetlabs/mysql","version_requirement":"2.3.0"},
+    {"name":"puppetlabs/xinetd"},
+    {"name":"stackforge/vswitch","version_requirement":"1.1.0"},
+    {"name":"garethr/erlang","version_requirement":"0.2.0"},
+    {"name":"adrien/boolean","version_requirement":"1.0.1"},
+    {"name":"adrien/filemapper","version_requirement":"1.1.3"},
+    {"name":"adrien/network","version_requirement":"0.4.2"},
+    {"name":"aimonb/aviator","version_requirement":"0.5.1"},
+    {"name":"saz/resolv_conf"},
+    {"name":"saz/locales"},
+    {"name":"saz/timezone"},
+    {"name":"arioch/keepalived"},
+    {"name":"duritong/sysctl"},
+    {"name":"camptocamp/kmod"},
+    {"name":"puppetlabs/haproxy"},
+    {"name":"puppetlabs/postgresql","version_requirement":"4.0.0"}
+  ]
+}
diff --git a/manifests/profile/keepalived.pp b/manifests/profile/keepalived.pp
index 9c66de8..fd3abfa 100644
--- a/manifests/profile/keepalived.pp
+++ b/manifests/profile/keepalived.pp
@@ -13,23 +13,22 @@ sysctl::value { "net.ipv4.ip_nonlocal_bind": value => "1" }
 
 include keepalived
 
-  class { '::keepalived::global_defs':
+  class { 'keepalived::global_defs':
     ensure                  => present,
     notification_email      => $notification_email,
     notification_email_from => $notification_email_from,
     smtp_server             => $smtp_server,
     smtp_connect_timeout    => '60',
+    router_id		    => '51',
   } ->
 
-  class { '::keepalived::vrrp::script':
-    name              => 'chk_haproxy',
+  keepalived::vrrp::script {'chk_haproxy':
     interval          => '1',
-    weight            => '2',
+    weight            => '3',
     script            => 'killall -0 haproxy',
   } ->
 
-  class { '::keepalived::vrrp::instance':
-    name              => 'VI_1',
+  keepalived::vrrp::instance { 'VI_1':
     interface         => $admin_interface,
     state             => $state,
     virtual_router_id => '21',
@@ -38,6 +37,7 @@ include keepalived
     auth_pass         => '1111',
     virtual_ipaddress => $vip_address,
     lvs_interface => $lvs_interface,
+    track_script      => 'chk_haproxy',
   } ->
 
   class { '::keepalived':
diff --git a/metadata.json b/metadata.json
index f08edfa..0b63407 100644
--- a/metadata.json
+++ b/metadata.json
@@ -60,6 +60,7 @@
     {"name":"saz/resolv_conf"},
     {"name":"saz/locales"},
     {"name":"saz/timezone"},
+    {"name":"arioch/keepalived"},
     {"name":"duritong/sysctl"},
     {"name":"camptocamp/kmod"},
     {"name":"puppetlabs/haproxy"},
-- 
GitLab