From dae3ddca0cbebe67e2f22a98922c78a152b5851a Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Fri, 17 Feb 2017 11:58:11 +0100 Subject: [PATCH 1/6] Fix bug on cluster.pp Change-Id: I7a38c201d65c062902f533dce7f61f58b292d653 --- manifests/cluster.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/cluster.pp b/manifests/cluster.pp index 74ba7b2..3b07b62 100644 --- a/manifests/cluster.pp +++ b/manifests/cluster.pp @@ -221,7 +221,7 @@ class midonet::cluster ( service_ensure => $service_ensure, service_enable => $service_enable, cluster_config_path => $cluster_config_path, - cluster_jvm_config_path => $cluster_config_path, + cluster_jvm_config_path => $cluster_jvm_config_path, cluster_host => $cluster_host, cluster_port => $cluster_port, max_heap_size => $max_heap_size, From 6c215e4f04527c45ada847f0462cc9bb85f4ebde Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Fri, 17 Feb 2017 18:31:39 +0100 Subject: [PATCH 2/6] proxy pass midonet-api Change-Id: Idf9b0e93e38101b0b17cc94e3f4f0371955641bf --- manifests/mem.pp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/manifests/mem.pp b/manifests/mem.pp index 6118222..9718ac0 100644 --- a/manifests/mem.pp +++ b/manifests/mem.pp @@ -172,7 +172,7 @@ class midonet::mem( ) inherits midonet::params { $mem_ws = $insights_ssl? {true => 'wss://' , default => 'ws://'} - $api_proto = $api_ssl? {true => 'https://' , default => 'http://'} + $api_proto = $api_ssl? {true => 'https://' , default => 'http://'} validate_bool($mem_api_token) @@ -241,6 +241,10 @@ class midonet::mem( path => '/var/www/html/midonet-manager', } ], + proxy_pass +> [ + { 'path' => '/midonet-api', 'url' => 'http://localhost:8181' }, + ], + proxy_preserve_host => true } } } From 442a5854850fd78cc4ec08e489c90bf2f36bfa26 Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Mon, 20 Feb 2017 17:49:01 +0100 Subject: [PATCH 3/6] Doesn't make analytics manifests :bomb: on RHEL7 Change-Id: I7d1f5cc753802ae8112086a4ec42cdd777603dc0 --- manifests/analytics.pp | 255 ++++++++++++++++---------------- manifests/analytics/services.pp | 58 ++++---- 2 files changed, 155 insertions(+), 158 deletions(-) diff --git a/manifests/analytics.pp b/manifests/analytics.pp index 091e388..a184e9e 100644 --- a/manifests/analytics.pp +++ b/manifests/analytics.pp @@ -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], + } +} + diff --git a/manifests/analytics/services.pp b/manifests/analytics/services.pp index f986c04..0acafa1 100644 --- a/manifests/analytics/services.pp +++ b/manifests/analytics/services.pp @@ -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'], } } } + From 266b8392098828c979243380636d8a84403206b1 Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Tue, 21 Feb 2017 19:51:37 +0100 Subject: [PATCH 4/6] Put quotes around parameters on analytics.conf Change-Id: Ie35dd2b5ab01b228d9906d9f094a644b5c81b48a --- templates/analytics/analytics_settings.erb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/templates/analytics/analytics_settings.erb b/templates/analytics/analytics_settings.erb index 7cc0fe1..062eaef 100644 --- a/templates/analytics/analytics_settings.erb +++ b/templates/analytics/analytics_settings.erb @@ -13,12 +13,12 @@ insights.jarvis.enabled : <%= @jarvis_enabled %> insights.jarvis.rest_api.uri : "<%= @mem_login_host %>" insights.endpoint.auth.ssl.enabled : <% if !@insights_ssl %>false<% else %><%= @insights_ssl %><% end %> - <% if @ssl_source_type %>insights.endpoint.auth.ssl.source : <%= @ssl_source_type %><% end %> - <% if @ssl_keystore_path %>insights.endpoint.auth.ssl.keystore_path : <%= @ssl_keystore_path %><% end %> - <% if @ssl_keystore_pwd %>insights.endpoint.auth.ssl.keystore_password : <%= @ssl_keystore_pwd %><% end %> - <% if @ssl_cert_path %>insights.endpoint.ssl.certificate_path : <%= @ssl_cert_path %><% end %> - <% if @ssl_privkey_path %>insights.endpoint.ssl.privatekey_path : <%= @ssl_privkey_path %><% end %> - <% if @ssl_privkey_pwd %>insights.endpoint.ssl.privatekey_password : <%= @ssl_privkey_pwd %><% end %> + <% if @ssl_source_type %>insights.endpoint.auth.ssl.source : "<%= @ssl_source_type %>"<% end %> + <% if @ssl_keystore_path %>insights.endpoint.auth.ssl.keystore_path : "<%= @ssl_keystore_path %>"<% end %> + <% if @ssl_keystore_pwd %>insights.endpoint.auth.ssl.keystore_password : "<%= @ssl_keystore_pwd %>"<% end %> + <% if @ssl_cert_path %>insights.endpoint.ssl.certificate_path : "<%= @ssl_cert_path %>"<% end %> + <% if @ssl_privkey_path %>insights.endpoint.ssl.privatekey_path : "<%= @ssl_privkey_path %>"<% end %> + <% if @ssl_privkey_pwd %>insights.endpoint.ssl.privatekey_password : "<%= @ssl_privkey_pwd %>"<% end %> <% else %> clio.enabled : true From 59f6b0937a1a5f165233fd4448871623af02f327 Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Wed, 22 Feb 2017 17:53:18 +0100 Subject: [PATCH 5/6] Fix proxypass statement for MEM Change-Id: I043ab9d5e28914c69c13100039432ee222341da4 --- manifests/mem.pp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifests/mem.pp b/manifests/mem.pp index 9718ac0..dbb3916 100644 --- a/manifests/mem.pp +++ b/manifests/mem.pp @@ -242,7 +242,7 @@ class midonet::mem( } ], proxy_pass +> [ - { 'path' => '/midonet-api', 'url' => 'http://localhost:8181' }, + { 'path' => '/midonet-api', 'url' => 'http://localhost:8181/midonet-api' }, ], proxy_preserve_host => true } From 48f9b22d8101cd1cd424c0ff28765d2da0a26925 Mon Sep 17 00:00:00 2001 From: Alejandro Andreu Date: Fri, 24 Feb 2017 11:10:22 +0100 Subject: [PATCH 6/6] Point to ocata branch in .gitreview Change-Id: I524bd8923575b2b8b3a35d1e7b55944caa4c8538 --- .gitreview | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitreview b/.gitreview index fa34e02..3221dde 100644 --- a/.gitreview +++ b/.gitreview @@ -2,3 +2,4 @@ host=review.openstack.org port=29418 project=openstack/puppet-midonet.git +defaultbranch=stable/ocata