Skip to content
Snippets Groups Projects
Commit 8b0e995b authored by Giovanni Zizzi's avatar Giovanni Zizzi
Browse files

aggiunto keepalived

parent e7922ace
No related branches found
No related tags found
3 merge requests!8Development,!6Rhmk ha,!4Dev rhmk
#!/usr/bin/env ruby
#^syntax detection
forge "git://forge.puppetlabs.com"
# Role base
mod 'ntp',
:git => 'git://github.com/puppetlabs/puppetlabs-ntp'
mod 'concat', #Required by ssh
:git => 'git://github.com/puppetlabs/puppetlabs-concat'
mod 'ssh',
:git => 'git://github.com/saz/puppet-ssh'
mod 'resolv_conf',
:git => 'git://github.com/saz/puppet-resolv_conf'
mod 'locales',
:git => 'git://github.com/saz/puppet-locales'
mod 'kmod',
:git => 'git://github.com/camptocamp/puppet-kmod'
mod 'network',
:git => 'git://github.com/puppet-community/puppet-network'
mod 'apt',
:git => 'git://github.com/puppetlabs/puppetlabs-apt'
mod 'inifiles',
:git => 'git://github.com/puppetlabs/puppetlabs-inifile'
mod 'xinetd',
:git => 'git://github.com/puppetlabs/puppetlabs-xinetd'
mod 'staging',
:git => 'git://github.com/nanliu/puppet-staging'
mod 'stdlib',
:git => 'git://github.com/puppetlabs/puppetlabs-stdlib'
# Role Controller
mod 'mysql', # Required by galera
:git => 'git://github.com/puppetlabs/puppetlabs-mysql',
:ref => '2.3.0' # This is only required because of git://github.com/michaeltchapman/puppet-galera/pull/22
mod 'galera',
:git => 'git://github.com/michaeltchapman/puppet-galera'
mod 'erlang', # Required by rabbitmq
:git => 'git://github.com/garethr/garethr-erlang'
mod 'rabbitmq',
:git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq'
mod 'apache', #Required by horizon
:git => 'git://github.com/puppetlabs/puppetlabs-apache'
mod 'deric/zookeeper',
:git => 'git://github.com/deric/puppet-zookeeper'
mod 'richardc/datacat', #Required by zookeeper
:git => 'git://github.com/richardc/puppet-datacat'
# Role Storage
#mod 'ceph',
# :git => 'git://github.com/stackforge/puppet-ceph'
# Role Endpoint
mod 'haproxy',
:git => 'git://github.com/puppetlabs/puppetlabs-haproxy'
mod 'sysctl',
:git => 'git://github.com/thias/puppet-sysctl'
## The core OpenStack modules
mod "keystone",
:git => "git://github.com/stackforge/puppet-keystone",
:ref => "master"
mod "swift",
:git => "git://github.com/stackforge/puppet-swift",
:ref => "master"
forge "https://forge.puppetlabs.com"
mod "glance",
:git => "git://github.com/stackforge/puppet-glance",
:ref => "master"
# use dependencies defined in metadata.json
metadata
mod "cinder",
:git => "git://github.com/stackforge/puppet-cinder",
:ref => "master"
# use dependencies defined in Modulefile
# modulefile
mod "neutron",
:git => "git://github.com/stackforge/puppet-neutron",
:ref => "master"
# A module from the Puppet Forge
# mod 'puppetlabs-stdlib'
mod "nova",
:git => "git://github.com/stackforge/puppet-nova",
:ref => "master"
# A module from git
# mod 'puppetlabs-ntp',
# :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'
mod 'puppet',
:git => "git://github.com/puppetlabs/puppetlabs-puppet"
mod 'ceph',
:git => 'git://github.com/stackforge/puppet-ceph'
mod "heat",
:git => "git://github.com/stackforge/puppet-heat",
:ref => "master"
mod "ceilometer",
:git => "git://github.com/stackforge/puppet-ceilometer",
:ref => "master"
mod "horizon",
:git => "git://github.com/stackforge/puppet-horizon",
:ref => "master"
mod "openstacklib",
:git => "git://github.com/stackforge/puppet-openstacklib",
:ref => "master"
mod "vcsrepo", # Required by Tempest
:git => "git://github.com/puppetlabs/puppetlabs-vcsrepo",
:ref => "master"
mod "tempest",
:git => "git://github.com/stackforge/puppet-tempest",
:ref => "master"
mod "vswitch",
:git => "git://github.com/stackforge/puppet-vswitch",
:ref => "master"
# A module from a git branch/tag
#mod 'puppetlabs-apt',
# :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
# :ref => '1.4.x'
mod 'staging',
:git => 'git://github.com/nanliu/puppet-staging'
# :ref => '1.0.4'
mod 'puppetdb',
:git => "git://github.com/puppetlabs/puppetlabs-puppetdb",
:ref => '5.0.0'
# 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'
#!/usr/bin/env ruby
#^syntax detection
forge "git://forge.puppetlabs.com"
# Role base
mod 'ntp',
:git => 'git://github.com/puppetlabs/puppetlabs-ntp'
mod 'concat', #Required by ssh
:git => 'git://github.com/puppetlabs/puppetlabs-concat'
mod 'ssh',
:git => 'git://github.com/saz/puppet-ssh'
mod 'resolv_conf',
:git => 'git://github.com/saz/puppet-resolv_conf'
mod 'locales',
:git => 'git://github.com/saz/puppet-locales'
mod 'kmod',
:git => 'git://github.com/camptocamp/puppet-kmod'
mod 'network',
:git => 'git://github.com/puppet-community/puppet-network'
mod 'apt',
:git => 'git://github.com/puppetlabs/puppetlabs-apt'
mod 'inifiles',
:git => 'git://github.com/puppetlabs/puppetlabs-inifile'
mod 'xinetd',
:git => 'git://github.com/puppetlabs/puppetlabs-xinetd'
mod 'staging',
:git => 'git://github.com/nanliu/puppet-staging'
mod 'stdlib',
:git => 'git://github.com/puppetlabs/puppetlabs-stdlib'
# Role Controller
mod 'mysql', # Required by galera
:git => 'git://github.com/puppetlabs/puppetlabs-mysql',
:ref => '2.3.0' # This is only required because of git://github.com/michaeltchapman/puppet-galera/pull/22
mod 'galera',
:git => 'git://github.com/michaeltchapman/puppet-galera'
mod 'erlang', # Required by rabbitmq
:git => 'git://github.com/garethr/garethr-erlang'
mod 'rabbitmq',
:git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq'
mod 'apache', #Required by horizon
:git => 'git://github.com/puppetlabs/puppetlabs-apache'
mod 'deric/zookeeper',
:git => 'git://github.com/deric/puppet-zookeeper'
mod 'richardc/datacat', #Required by zookeeper
:git => 'git://github.com/richardc/puppet-datacat'
# Role Storage
#mod 'ceph',
# :git => 'git://github.com/stackforge/puppet-ceph'
# Role Endpoint
mod 'haproxy',
:git => 'git://github.com/puppetlabs/puppetlabs-haproxy'
mod 'sysctl',
:git => 'git://github.com/thias/puppet-sysctl'
## The core OpenStack modules
mod "keystone",
:git => "git://github.com/stackforge/puppet-keystone",
:ref => "master"
mod "swift",
:git => "git://github.com/stackforge/puppet-swift",
:ref => "master"
mod "glance",
:git => "git://github.com/stackforge/puppet-glance",
:ref => "master"
mod "cinder",
:git => "git://github.com/stackforge/puppet-cinder",
:ref => "master"
mod "neutron",
:git => "git://github.com/stackforge/puppet-neutron",
:ref => "master"
mod "nova",
:git => "git://github.com/stackforge/puppet-nova",
:ref => "master"
mod "heat",
:git => "git://github.com/stackforge/puppet-heat",
:ref => "master"
mod "ceilometer",
:git => "git://github.com/stackforge/puppet-ceilometer",
:ref => "master"
mod "horizon",
:git => "git://github.com/stackforge/puppet-horizon",
:ref => "master"
mod "openstacklib",
:git => "git://github.com/stackforge/puppet-openstacklib",
:ref => "master"
mod "vcsrepo", # Required by Tempest
:git => "git://github.com/puppetlabs/puppetlabs-vcsrepo",
:ref => "master"
mod "tempest",
:git => "git://github.com/stackforge/puppet-tempest",
:ref => "master"
mod "vswitch",
:git => "git://github.com/stackforge/puppet-vswitch",
:ref => "master"
class iaas::profile::keepalived (
$admin_interface = hiera('iaas::admin_interface', undef),
$vip_address = hiera('iaas::role::endpoint::main_address',undef),
$notification_email = undef,
$notification_email_from = undef,
$smtp_server = undef,
$state = undef,
$priority = undef,
$lvs_interface = hiera('iaas::profile::keepalived::lvs_interface',undef),
) {
sysctl::value { "net.ipv4.ip_nonlocal_bind": value => "1" }
include keepalived
class { '::keepalived::global_defs':
ensure => present,
notification_email => $notification_email,
notification_email_from => $notification_email_from,
smtp_server => $smtp_server,
smtp_connect_timeout => '60',
} ->
class { '::keepalived::vrrp::script':
name => 'chk_haproxy',
interval => '1',
weight => '2',
script => 'killall -0 haproxy',
} ->
class { '::keepalived::vrrp::instance':
name => 'VI_1',
interface => $admin_interface,
state => $state,
virtual_router_id => '51',
priority => $priority,
auth_type => 'PASS',
auth_pass => '1111',
virtual_ipaddress => $vip_address,
lvs_interface => $lvs_interface,
} ->
class { '::keepalived':
service_restart => 'service keepalived reload', # When using SysV Init
}
}
class iaas::role::rhmk(
$percona_master = false,
$keepalived_priority = 100,
$keepalived_state = 'BACKUP',
) {
# Base
class { 'iaas::profile::base': } ->
......@@ -7,5 +9,9 @@ class iaas::role::rhmk(
percona_master => $percona_master,
}->
class { 'iaas::profile::haproxy': }
class { 'iaas::profile::keepalived':
state => $keepalived_state,
priority => $keepalived_priority,
}
class { 'iaas::profile::rabbitmq': }
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment