Doesn't make analytics manifests 💣 on RHEL7

Change-Id: I7d1f5cc753802ae8112086a4ec42cdd777603dc0
This commit is contained in:
Alejandro Andreu 2017-02-20 17:49:01 +01:00
parent c93158418e
commit 442a585485
2 changed files with 155 additions and 158 deletions

View File

@ -118,11 +118,13 @@ class midonet::analytics (
if versioncmp($midonet_version,'5.2') > 0
{
$ins_service_name = 'elasticsearch-es-01'
$config = { 'network.host' => ['_local_',$elk_bind_ip],
'cluster.name' => $elk_cluster_name,
'discovery.zen.ping.unicast.hosts' => $elk_hosts,
'discovery.zen.minimum_master_nodes' => (size($elk_hosts)/2)+1}
$ins_service_name = 'elasticsearch-instance-es-01'
$config = {
'network.host' => ['_local_',$elk_bind_ip],
'cluster.name' => $elk_cluster_name,
'discovery.zen.ping.unicast.hosts' => $elk_hosts,
'discovery.zen.minimum_master_nodes' => (size($elk_hosts)/2)+1
}
}
else {
@ -130,129 +132,122 @@ class midonet::analytics (
$ins_service_name = 'elasticsearch-instance-es-01'
}
class { 'elasticsearch':
manage_repo => true,
repo_version => $elastic_version,
config => $config,
require => Class['::logstash']
}
contain elasticsearch
class { 'logstash':
manage_repo => true,
repo_version => $logstash_version,
}
contain logstash
elasticsearch::instance { 'es-01':
require => Class['::logstash','::elasticsearch']
}
if $::osfamily == 'Debian' {
anchor { 'curator-begin': } ->
class { 'curator':
version => $curator_version,
} ->
anchor { 'curator-end': }
} elsif $::osfamily == 'RedHat' {
anchor { 'curator-begin': } ->
exec { 'rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch':
path => '/usr/bin'
} ->
yumrepo { 'curator-3':
descr => 'CentOS/RHEL repository for Elasticsearch Curator 3 packages',
baseurl => 'http://packages.elastic.co/curator/3/centos/$releasever',
gpgcheck => true,
gpgkey => 'http://packages.elastic.co/GPG-KEY-elasticsearch',
enabled => true,
} ->
package { 'python-elasticsearch-curator': ensure => installed } ->
anchor { 'curator-end': }
}
if $is_mem {
if $manage_repo == true {
if !defined(Class['midonet::repository']) {
class {'midonet::repository':
is_mem => $is_mem,
midonet_version => undef,
midonet_stage => undef,
openstack_release => undef,
mem_version => undef,
mem_username => $mem_username,
mem_password => $mem_password,
before => Class['midonet::analytics::services',
'midonet::analytics::quickstart']
}
}
}
class { 'midonet::analytics::services':
calliope_port => $calliope_port,
midonet_version => $midonet_version,
require => [
Class['::logstash','::elasticsearch'],
Elasticsearch::Instance['es-01'],
Anchor['curator-end']
]
}
unless $allinone {
if versioncmp($midonet_version,'5.2') > 0
{
class { 'midonet::analytics::quickstart':
zookeeper_hosts => $zookeeper_hosts,
}
}
else {
class { 'midonet::analytics::quickstart':
zookeeper_hosts => $zookeeper_hosts,
notify => Service[$real_analytics_package_name]
}
}
}
}
else {
notice('Skipping installation of midonet analytics services')
}
if $::osfamily == 'Debian' {
file_line { 'Set LS_HEAP_SIZE':
path => '/etc/default/logstash',
line => "LS_HEAP_SIZE='${heap_size_gb}g'",
match => '^LS_HEAP_SIZE.*$',
require => Package['logstash'],
notify => Service['logstash'],
}
file_line { 'Set ES_HEAP_SIZE':
path => '/etc/default/elasticsearch',
line => "ES_HEAP_SIZE='${heap_size_gb}g'",
match => '^ES_HEAP_SIZE.*$',
require => Package['elasticsearch'],
notify => Service[$ins_service_name],
}
}
if $::osfamily == 'RedHat' {
file_line { 'Set LS_HEAP_SIZE':
path => '/etc/sysconfig/logstash',
line => "LS_HEAP_SIZE='${heap_size_gb}g'",
match => '^LS_HEAP_SIZE.*$',
require => Package['logstash'],
notify => Service['logstash'],
}
file_line { 'Set ES_HEAP_SIZE':
path => '/etc/sysconfig/elasticsearch',
line => "ES_HEAP_SIZE='${heap_size_gb}g'",
match => '^ES_HEAP_SIZE.*$',
require => Package['elasticsearch'],
notify => Service[$ins_service_name],
}
}
class { 'elasticsearch':
manage_repo => true,
repo_version => $elastic_version,
config => $config,
require => Class['::logstash']
}
contain elasticsearch
class { 'logstash':
manage_repo => true,
repo_version => $logstash_version,
}
contain logstash
elasticsearch::instance { 'es-01':
require => Class['::logstash','::elasticsearch']
}
if $::osfamily == 'Debian' {
anchor { 'curator-begin': } ->
class { 'curator':
version => $curator_version,
} ->
anchor { 'curator-end': }
}
elsif $::osfamily == 'RedHat' {
anchor { 'curator-begin': } ->
exec { 'rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch':
path => '/usr/bin'
} ->
yumrepo { 'curator-3':
descr => 'CentOS/RHEL repository for Elasticsearch Curator 3 packages',
baseurl => 'http://packages.elastic.co/curator/3/centos/$releasever',
gpgcheck => true,
gpgkey => 'http://packages.elastic.co/GPG-KEY-elasticsearch',
enabled => true,
} ->
package { 'python-elasticsearch-curator': ensure => installed } ->
anchor { 'curator-end': }
}
if $is_mem {
if $manage_repo == true {
if !defined(Class['midonet::repository']) {
class {'midonet::repository':
is_mem => $is_mem,
midonet_version => undef,
midonet_stage => undef,
openstack_release => undef,
mem_version => undef,
mem_username => $mem_username,
mem_password => $mem_password,
before => Class['midonet::analytics::services',
'midonet::analytics::quickstart']
}
}
}
class { 'midonet::analytics::services':
calliope_port => $calliope_port,
midonet_version => $midonet_version,
require => [
Class['::logstash','::elasticsearch'],
Elasticsearch::Instance['es-01'],
Anchor['curator-end']
]
}
unless $allinone {
if versioncmp($midonet_version,'5.2') > 0
{
class { 'midonet::analytics::quickstart':
zookeeper_hosts => $zookeeper_hosts,
}
}
else {
class { 'midonet::analytics::quickstart':
zookeeper_hosts => $zookeeper_hosts,
notify => Service['analytics_service']
}
}
}
}
else {
notice('Skipping installation of midonet analytics services')
}
if $::osfamily == 'Debian' {
$logstash_config_file = '/etc/default/logstash'
$elasticsearch_config_file = '/etc/default/elasticsearch'
$logstash_service = 'logstash'
$elasticsearch_service = 'elasticsearch'
}
if $::osfamily == 'RedHat' {
$logstash_config_file = '/etc/sysconfig/logstash'
$elasticsearch_config_file = '/etc/sysconfig/elasticsearch'
$logstash_service = 'logstash'
$elasticsearch_service = 'elasticsearch'
}
file_line { 'Set LS_HEAP_SIZE':
path => $logstash_config_file,
line => "LS_HEAP_SIZE='${heap_size_gb}g'",
match => '^LS_HEAP_SIZE.*$',
require => Package['logstash'],
notify => Service[$ins_service_name],
}
file_line { 'Set ES_HEAP_SIZE':
path => $elasticsearch_config_file,
line => "ES_HEAP_SIZE='${heap_size_gb}g'",
match => '^ES_HEAP_SIZE.*$',
require => Package['elasticsearch'],
notify => Service[$ins_service_name],
}
}

View File

@ -51,7 +51,9 @@ class midonet::analytics::services (
$tools_package_name = 'midonet-tools',
$elk_package_name = 'midonet-elk',
$calliope_port = '8080',
$midonet_version = '5.2'
$midonet_version = '5.2',
$logstash_service = 'logstash',
$elasticsearch_service = 'elasticsearch',
) {
include ::stdlib
$real_analytics_package_name = versioncmp($midonet_version,'5.2') ? {'1' => $elk_package_name, default => $analytics_package_name}
@ -66,65 +68,65 @@ class midonet::analytics::services (
if versioncmp($midonet_version,'5.2') > 0 {
if $::osfamily == 'Debian' {
exec {'update-ca-certificates -f':
path => ['/usr/bin', '/usr/sbin','/bin'],
before => Package[$tools_package_name],
}
}
package { $tools_package_name:
ensure => present,
name => $tools_package_name,
}
package { $tools_package_name: ensure => present, }
package { $real_analytics_package_name:
ensure => present,
name => $real_analytics_package_name,
} ->
exec { $logstash_command:
path => ['/usr/bin', '/usr/sbin','/sbin'],
require => Package[$real_analytics_package_name],
notify => $analytics_notifications,
}
exec {'service elasticsearch-es-01 restart':
path => ['/usr/bin', '/usr/sbin',],
require => Package[$real_analytics_package_name],
}
if $::osfamily == 'RedHat' {
$analytics_notifications = Service['logstash', 'elasticsearch']
}
elsif $::osfamily == 'Debian' {
$analytics_notifications = undef
exec {'update-ca-certificates -f':
path => ['/usr/bin', '/usr/sbin','/bin'],
before => Package['midonet_tools'],
}
exec { $logstash_command:
path => ['/usr/bin', '/usr/sbin','/sbin'],
require => Package['analytics'],
}
exec { 'service elasticsearch-es-01 restart':
path => ['/usr/bin', '/usr/sbin',],
require => Package['analytics'],
}
}
}
else {
package { $tools_package_name:
package { 'midonet_tools':
ensure => present,
name => $tools_package_name,
}
package { $real_analytics_package_name:
package { 'analytics':
ensure => present,
name => $real_analytics_package_name,
} ->
exec { $logstash_command:
path => ['/usr/bin', '/usr/sbin','/sbin'],
before => Service[$real_analytics_package_name],
before => Service['analytics_service'],
}
unless $calliope_port == '8080' {
exec { "echo calliope.service.ws_port : ${calliope_port} | mn-conf set -t default":
path => ['/usr/bin', '/bin'],
before => Service[$real_analytics_package_name],
before => Service['analytics_service'],
}
}
service { $real_analytics_package_name:
service { 'analytics_service':
ensure => 'running',
name => $real_analytics_package_name,
enable => true,
require => Package[$real_analytics_package_name],
require => Package['analytics'],
}
}
}