Support for the detach-database plugin
This patch adds the support when the database is deployed on a dedicated node [1]. [1] https://github.com/openstack/fuel-plugin-detach-database Change-Id: If800d9d09204a1456640863a3ed3c5dc66d29017 Closes-Bug: #1547089
This commit is contained in:
parent
6dc87065fb
commit
2d72b53784
|
@ -15,11 +15,12 @@
|
|||
notice('fuel-plugin-lma-collector: aggregator.pp')
|
||||
|
||||
prepare_network_config(hiera('network_scheme', {}))
|
||||
$mgmt_address = get_network_role_property('management', 'ipaddr')
|
||||
$lma_collector = hiera_hash('lma_collector')
|
||||
$roles = node_roles(hiera('nodes'), hiera('uid'))
|
||||
$is_controller = member($roles, 'controller') or member($roles, 'primary-controller')
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
$mgmt_address = get_network_role_property('management', 'ipaddr')
|
||||
$lma_collector = hiera_hash('lma_collector')
|
||||
$roles = node_roles(hiera('nodes'), hiera('uid'))
|
||||
$is_controller = member($roles, 'controller') or member($roles, 'primary-controller')
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
$is_mysql_server = roles_include(['standalone-database', 'primary-standalone-database'])
|
||||
|
||||
$network_metadata = hiera_hash('network_metadata')
|
||||
$controllers = get_nodes_hash_by_roles($network_metadata, ['primary-controller', 'controller'])
|
||||
|
@ -29,7 +30,7 @@ $management_network = hiera('management_network_range')
|
|||
$aggregator_port = 5565
|
||||
$check_port = 5566
|
||||
|
||||
if $is_controller or $is_rabbitmq {
|
||||
if $is_controller or $is_rabbitmq or $is_mysql_server {
|
||||
# On nodes where pacemaker is deployed, make sure the LMA service is
|
||||
# configured with the "pacemaker" provider
|
||||
include lma_collector::params
|
||||
|
|
|
@ -25,6 +25,13 @@ $current_node_name = hiera('user_node_name')
|
|||
$current_roles = hiera('roles')
|
||||
$network_metadata = hiera_hash('network_metadata')
|
||||
$detach_rabbitmq = hiera('detach-rabbitmq', {})
|
||||
$detach_database = hiera('detach-database', {})
|
||||
|
||||
if $detach_database['metadata'] and $detach_database['metadata']['enabled'] {
|
||||
$is_mysql_server = roles_include(['standalone-database', 'primary-standalone-database'])
|
||||
} else {
|
||||
$is_mysql_server = $is_controller
|
||||
}
|
||||
|
||||
if $detach_rabbitmq['metadata'] and $detach_rabbitmq['metadata']['enabled'] {
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
|
@ -121,10 +128,10 @@ lma_collector::heka { 'metric_collector':
|
|||
}
|
||||
|
||||
# The LMA collector service is managed by Pacemaker on nodes that are
|
||||
# running RabbitMQ and on controller nodes.
|
||||
# running RabbitMQ and database in detached mode and also on controller nodes.
|
||||
# We use pacemaker_wrappers::service to reconfigure the service resource
|
||||
# to use the "pacemaker" service provider
|
||||
if $is_controller or $is_rabbitmq {
|
||||
if $is_controller or $is_rabbitmq or $is_mysql_server {
|
||||
|
||||
# TODO(all): remove this include from the manifest
|
||||
include lma_collector::params
|
||||
|
@ -328,6 +335,12 @@ if $elasticsearch_mode != 'disabled' {
|
|||
require => Class['lma_collector'],
|
||||
}
|
||||
|
||||
if $is_mysql_server {
|
||||
class { 'lma_collector::logs::mysql':
|
||||
require => Class['lma_collector'],
|
||||
}
|
||||
}
|
||||
|
||||
if $is_rabbitmq {
|
||||
class { 'lma_collector::logs::rabbitmq':
|
||||
require => Class['lma_collector'],
|
||||
|
@ -367,6 +380,23 @@ case $influxdb_mode {
|
|||
require => Class['lma_collector'],
|
||||
}
|
||||
|
||||
if $is_mysql_server {
|
||||
$nova = hiera_hash('nova', {})
|
||||
|
||||
class { 'lma_collector::collectd::mysql':
|
||||
username => 'nova',
|
||||
password => $nova['db_password'],
|
||||
require => Class['lma_collector::collectd::base'],
|
||||
}
|
||||
|
||||
lma_collector::collectd::dbi_mysql_status { 'mysql_status':
|
||||
username => 'nova',
|
||||
dbname => 'nova',
|
||||
password => $nova['db_password'],
|
||||
require => Class['lma_collector::collectd::base'],
|
||||
}
|
||||
}
|
||||
|
||||
class { 'lma_collector::influxdb':
|
||||
server => $influxdb_server,
|
||||
database => $influxdb_database,
|
||||
|
|
|
@ -16,13 +16,14 @@ notice('fuel-plugin-lma-collector: cinder.pp')
|
|||
|
||||
include lma_collector::params
|
||||
|
||||
$ceilometer = hiera_hash('ceilometer', {})
|
||||
$lma_collector = hiera_hash('lma_collector')
|
||||
$roles = node_roles(hiera('nodes'), hiera('uid'))
|
||||
$is_controller = member($roles, 'controller') or member($roles, 'primary-controller')
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
$ceilometer = hiera_hash('ceilometer', {})
|
||||
$lma_collector = hiera_hash('lma_collector')
|
||||
$roles = node_roles(hiera('nodes'), hiera('uid'))
|
||||
$is_controller = member($roles, 'controller') or member($roles, 'primary-controller')
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
$is_mysql_server = roles_include(['standalone-database', 'primary-standalone-database'])
|
||||
|
||||
if $is_controller or $is_rabbitmq {
|
||||
if $is_controller or $is_rabbitmq or $is_mysql_server {
|
||||
# On nodes where pacemaker is deployed, make sure the LMA service is
|
||||
# configured with the "pacemaker" provider
|
||||
include lma_collector::params
|
||||
|
|
|
@ -20,13 +20,14 @@ $lma = hiera_hash('lma_collector', {})
|
|||
$roles = node_roles(hiera('nodes'), hiera('uid'))
|
||||
$is_controller = member($roles, 'controller') or member($roles, 'primary-controller')
|
||||
$is_rabbitmq = roles_include(['standalone-rabbitmq', 'primary-standalone-rabbitmq'])
|
||||
$is_mysql_server = roles_include(['standalone-database', 'primary-standalone-database'])
|
||||
|
||||
$alarms_definitions = $lma['alarms']
|
||||
if $alarms_definitions == undef {
|
||||
fail('Alarms definitions not found. Check files in /etc/hiera/override.')
|
||||
}
|
||||
|
||||
if $is_controller or $is_rabbitmq {
|
||||
if $is_controller or $is_rabbitmq or $is_mysql_server {
|
||||
# On nodes where pacemaker is deployed, make sure the LMA service is
|
||||
# configured with the "pacemaker" provider
|
||||
include lma_collector::params
|
||||
|
|
|
@ -266,7 +266,6 @@ if ! $storage_options['objects_ceph'] {
|
|||
|
||||
# Logs
|
||||
if $lma_collector['elasticsearch_mode'] != 'disabled' {
|
||||
class { 'lma_collector::logs::mysql': }
|
||||
class { 'lma_collector::logs::pacemaker': }
|
||||
}
|
||||
|
||||
|
@ -358,17 +357,6 @@ if $influxdb_mode != 'disabled' {
|
|||
cpu_allocation_ratio => 8.0,
|
||||
}
|
||||
|
||||
class { 'lma_collector::collectd::mysql':
|
||||
username => 'nova',
|
||||
password => $nova['db_password'],
|
||||
}
|
||||
|
||||
lma_collector::collectd::dbi_mysql_status{ 'mysql_status':
|
||||
username => 'nova',
|
||||
dbname => 'nova',
|
||||
password => $nova['db_password'],
|
||||
}
|
||||
|
||||
class { 'lma_collector::collectd::haproxy':
|
||||
socket => $haproxy_socket,
|
||||
# Ignore internal stats ('Stats' for 6.1, 'stats' for 7.0) and lma proxies
|
||||
|
|
|
@ -27,6 +27,10 @@ if ($plugin_data) {
|
|||
$detach_rabbitmq = hiera('detach-rabbitmq', {})
|
||||
$detach_rabbitmq_enabled = $detach_rabbitmq['metadata'] and $detach_rabbitmq['metadata']['enabled']
|
||||
|
||||
# detach_database_enabled is used in templates
|
||||
$detach_database = hiera('detach-database', {})
|
||||
$detach_database_enabled = $detach_database['metadata'] and $detach_database['metadata']['enabled']
|
||||
|
||||
$elasticsearch_mode = $plugin_data['elasticsearch_mode']
|
||||
$monitor_elasticsearch = $elasticsearch_mode ? {
|
||||
'local' => true,
|
||||
|
|
|
@ -91,6 +91,32 @@ lma_collector:
|
|||
window: 120
|
||||
periods: 0
|
||||
function: avg
|
||||
- name: 'cpu-critical-mysql'
|
||||
description: 'The CPU usage is too high (MySQL node)'
|
||||
severity: 'critical'
|
||||
enabled: 'true'
|
||||
trigger:
|
||||
logical_operator: 'or'
|
||||
rules:
|
||||
- metric: cpu_idle
|
||||
relational_operator: '<='
|
||||
threshold: 5
|
||||
window: 120
|
||||
periods: 0
|
||||
function: avg
|
||||
- name: 'cpu-warning-mysql'
|
||||
description: 'The CPU usage is high (MySQL node)'
|
||||
severity: 'warning'
|
||||
enabled: 'true'
|
||||
trigger:
|
||||
logical_operator: 'or'
|
||||
rules:
|
||||
- metric: cpu_idle
|
||||
relational_operator: '<='
|
||||
threshold: 15
|
||||
window: 120
|
||||
periods: 0
|
||||
function: avg
|
||||
- name: 'cpu-critical-storage'
|
||||
description: 'The CPU usage is too high (storage node)'
|
||||
severity: 'critical'
|
||||
|
@ -705,7 +731,11 @@ lma_collector:
|
|||
|
||||
node_cluster_roles:
|
||||
controller: ['primary-controller', 'controller']
|
||||
<% if @detach_database_enabled -%>
|
||||
mysql-nodes: ['primary-standalone-database', 'standalone-database']
|
||||
<% else -%>
|
||||
mysql-nodes: ['primary-controller', 'controller']
|
||||
<% end -%>
|
||||
compute: ['compute']
|
||||
storage: ['cinder', 'ceph-osd']
|
||||
<% if @monitor_elasticsearch -%>
|
||||
|
@ -721,7 +751,11 @@ lma_collector:
|
|||
<% else -%>
|
||||
rabbitmq: ['primary-controller', 'controller']
|
||||
<% end -%>
|
||||
<% if @detach_database_enabled -%>
|
||||
mysql: ['primary-standalone-database', 'standalone-database']
|
||||
<% else -%>
|
||||
mysql: ['primary-controller', 'controller']
|
||||
<% end -%>
|
||||
apache: ['primary-controller', 'controller']
|
||||
nova-api: ['primary-controller', 'controller']
|
||||
nova-logs: ['primary-controller', 'controller', 'compute']
|
||||
|
@ -757,6 +791,10 @@ lma_collector:
|
|||
root-fs: ['root-fs-critical', 'root-fs-warning']
|
||||
<% end -%>
|
||||
mysql-nodes:
|
||||
<% if @detach_database_enabled -%>
|
||||
cpu: ['cpu-critical-mysql', 'cpu-warning-mysql']
|
||||
root-fs: ['root-fs-critical', 'root-fs-warning']
|
||||
<% end -%>
|
||||
mysql-fs: ['mysql-fs-critical', 'mysql-fs-warning']
|
||||
compute:
|
||||
cpu: ['cpu-critical-compute', 'cpu-warning-compute']
|
||||
|
|
|
@ -409,6 +409,10 @@ lma_collector:
|
|||
policy: majority_of_members
|
||||
group_by: hostname
|
||||
members:
|
||||
<% if @detach_database_enabled -%>
|
||||
- cpu
|
||||
- root-fs
|
||||
<% end -%>
|
||||
- mysql-fs
|
||||
compute:
|
||||
policy: majority_of_members
|
||||
|
@ -461,7 +465,9 @@ lma_collector:
|
|||
- mysqld-tcp
|
||||
- mysql
|
||||
- mysql-nodes
|
||||
<% if not @detach_database_enabled -%>
|
||||
- controller
|
||||
<% end -%>
|
||||
haproxy:
|
||||
policy: highest_severity
|
||||
group_by: member
|
||||
|
|
Loading…
Reference in New Issue