Update plugin for MOS 9.0
Change-Id: I6fc0573ec1519a4cd3b4b9d3c6536910485dd66c
This commit is contained in:
parent
5e6601c98f
commit
6e4d9213d2
|
@ -0,0 +1,24 @@
|
||||||
|
include redis::params
|
||||||
|
|
||||||
|
$ensure = 'present'
|
||||||
|
$service_name = $redis::params::service
|
||||||
|
$ocf_root_path = '/usr/lib/ocf'
|
||||||
|
$handler_root_path = '/usr/local/bin'
|
||||||
|
$primitive_provider = 'fuel'
|
||||||
|
$primitive_type = $redis::params::service
|
||||||
|
$ocf_script_name = "${service_name}-ocf-file"
|
||||||
|
$ocf_script_file = 'redis/ocf/redis-server'
|
||||||
|
$ocf_handler_name = "ocf_handler_${service_name}"
|
||||||
|
$ocf_dir_path = "${ocf_root_path}/resource.d"
|
||||||
|
$ocf_script_path = "${ocf_dir_path}/${primitive_provider}/${$primitive_type}"
|
||||||
|
$ocf_handler_path = "${handler_root_path}/${ocf_handler_name}"
|
||||||
|
|
||||||
|
|
||||||
|
file { $ocf_script_name :
|
||||||
|
ensure => $ensure,
|
||||||
|
path => $ocf_script_path,
|
||||||
|
mode => '0755',
|
||||||
|
owner => 'root',
|
||||||
|
group => 'root',
|
||||||
|
source => "puppet:///modules/${ocf_script_file}",
|
||||||
|
}
|
|
@ -58,6 +58,7 @@ class redis::main (
|
||||||
) {
|
) {
|
||||||
|
|
||||||
include ceilometer::params
|
include ceilometer::params
|
||||||
|
include aodh::params
|
||||||
include redis::params
|
include redis::params
|
||||||
|
|
||||||
case $::osfamily {
|
case $::osfamily {
|
||||||
|
@ -142,18 +143,24 @@ class redis::main (
|
||||||
'coordination/check_watchers' : value => $timeout;
|
'coordination/check_watchers' : value => $timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
aodh_config {
|
||||||
|
'coordination/backend_url' : value => redis_backend_url($redis_hosts, $redis_sentinel_port, $timeout, $master_name);
|
||||||
|
'coordination/heartbeat' : value => '1.0';
|
||||||
|
'coordination/check_watchers' : value => $timeout;
|
||||||
|
}
|
||||||
|
|
||||||
service { 'ceilometer-agent-central':
|
service { 'ceilometer-agent-central':
|
||||||
ensure => 'running',
|
ensure => 'running',
|
||||||
name => $::ceilometer::params::agent_central_service_name,
|
name => $::ceilometer::params::agent_central_service_name,
|
||||||
enable => true,
|
enable => true,
|
||||||
hasstatus => true,
|
hasstatus => true,
|
||||||
hasrestart => true,
|
hasrestart => true,
|
||||||
}
|
}
|
||||||
|
|
||||||
service { 'ceilometer-alarm-evaluator':
|
service { 'aodh-evaluator':
|
||||||
ensure => 'running',
|
ensure => 'running',
|
||||||
name => $::ceilometer::params::alarm_evaluator_service_name,
|
name => $::aodh::params::evaluator_service_name,
|
||||||
enable => true,
|
enable => true,
|
||||||
hasstatus => true,
|
hasstatus => true,
|
||||||
hasrestart => true,
|
hasrestart => true,
|
||||||
}
|
}
|
||||||
|
@ -166,38 +173,74 @@ class redis::main (
|
||||||
hasrestart => true,
|
hasrestart => true,
|
||||||
}
|
}
|
||||||
|
|
||||||
pacemaker_wrappers::service { $::ceilometer::params::agent_central_service_name :
|
pacemaker::service { $::ceilometer::params::agent_central_service_name :
|
||||||
complex_type => 'clone',
|
complex_type => 'clone',
|
||||||
ms_metadata => { 'interleave' => true },
|
complex_metadata => { 'interleave' => true },
|
||||||
primitive_type => 'ceilometer-agent-central',
|
primitive_type => 'ceilometer-agent-central',
|
||||||
metadata => $metadata,
|
metadata => $metadata,
|
||||||
parameters => { 'user' => 'ceilometer' },
|
parameters => { 'user' => 'ceilometer' },
|
||||||
operations => $operations,
|
operations => $operations,
|
||||||
}
|
}
|
||||||
|
|
||||||
pacemaker_wrappers::service { $::ceilometer::params::alarm_evaluator_service_name :
|
pacemaker::service { $::aodh::params::evaluator_service_name :
|
||||||
complex_type => 'clone',
|
complex_type => 'clone',
|
||||||
ms_metadata => { 'interleave' => true },
|
complex_metadata => { 'interleave' => true },
|
||||||
primitive_type => 'ceilometer-alarm-evaluator',
|
primitive_type => 'aodh-evaluator',
|
||||||
metadata => $metadata,
|
metadata => $metadata,
|
||||||
parameters => { 'user' => 'ceilometer' },
|
parameters => { 'user' => 'aodh' },
|
||||||
operations => $operations,
|
operations => $operations,
|
||||||
}
|
}
|
||||||
|
|
||||||
pacemaker_wrappers::service { 'redis-server' :
|
pacemaker::service { 'redis-server' :
|
||||||
ocf_script_file => 'redis/ocf/redis-server',
|
ocf_script_file => 'redis/ocf/redis-server',
|
||||||
complex_type => 'clone',
|
complex_type => 'clone',
|
||||||
ms_metadata => { 'interleave' => true },
|
complex_metadata => { 'interleave' => true },
|
||||||
primitive_type => 'redis-server',
|
primitive_type => 'redis-server',
|
||||||
operations => $operations,
|
operations => $operations,
|
||||||
}
|
}
|
||||||
|
|
||||||
Pacemaker_wrappers::Service['redis-server'] ->
|
# During deploy of plugin we need to update resource type from simple to
|
||||||
Pacemaker_wrappers::Service["$::ceilometer::params::agent_central_service_name"] ->
|
# clone, but this is not working with current implementation of pcmk_resource
|
||||||
Pacemaker_wrappers::Service["$::ceilometer::params::alarm_evaluator_service_name"]
|
# type (https://bugs.launchpad.net/fuel/+bug/1580660), that's why we need a
|
||||||
|
# workaround below, this dirty workaround should be removed once
|
||||||
|
# https://bugs.launchpad.net/fuel/+bug/1580660 is fixed.
|
||||||
|
$old_ceilometer_primitive_exists=inline_template("<%= `if pcs resource show | grep -q '^ p_ceilometer-agent-central'; then /bin/echo true; fi;`%>")
|
||||||
|
$old_aodh_primitive_exists=inline_template("<%= `if pcs resource show | grep -q '^ p_aodh-evaluator'; then /bin/echo true; fi;`%>")
|
||||||
|
|
||||||
|
if $old_ceilometer_primitive_exists {
|
||||||
|
|
||||||
|
notify { "Ceilometer agent central simple primitive exists and will be removed": }
|
||||||
|
|
||||||
|
exec { 'remove_old_resource_central_agent':
|
||||||
|
path => '/usr/sbin:/usr/bin:/sbin:/bin',
|
||||||
|
command => 'pcs resource delete p_ceilometer-agent-central --wait=120',
|
||||||
|
}
|
||||||
|
Exec['remove_old_resource_central_agent'] ->
|
||||||
|
Pacemaker::Service['redis-server'] ->
|
||||||
|
Pacemaker::Service["$::ceilometer::params::agent_central_service_name"]
|
||||||
|
} else {
|
||||||
|
Pacemaker::Service['redis-server'] ->
|
||||||
|
Pacemaker::Service["$::ceilometer::params::agent_central_service_name"]
|
||||||
|
}
|
||||||
|
|
||||||
|
if $old_aodh_primitive_exists {
|
||||||
|
|
||||||
|
notify { "Aodh evaluator simple primitive exists and will be removed": }
|
||||||
|
|
||||||
|
exec { 'remove_old_resource_aodh_evaluator':
|
||||||
|
path => '/usr/sbin:/usr/bin:/sbin:/bin',
|
||||||
|
command => 'pcs resource delete p_aodh-evaluator --wait=120',
|
||||||
|
}
|
||||||
|
Exec['remove_old_resource_aodh_evaluator'] ->
|
||||||
|
Pacemaker::Service['redis-server'] ->
|
||||||
|
Pacemaker::Service["$::aodh::params::evaluator_service_name"]
|
||||||
|
} else {
|
||||||
|
Pacemaker::Service['redis-server'] ->
|
||||||
|
Pacemaker::Service["$::aodh::params::evaluator_service_name"]
|
||||||
|
}
|
||||||
|
|
||||||
Ceilometer_config <||> ~> Service["$::ceilometer::params::agent_central_service_name"]
|
Ceilometer_config <||> ~> Service["$::ceilometer::params::agent_central_service_name"]
|
||||||
Ceilometer_config <||> ~> Service["$::ceilometer::params::alarm_evaluator_service_name"]
|
Aodh_config <||> ~> Service["$::aodh::params::evaluator_service_name"]
|
||||||
Ceilometer_config <||> ~> Service['ceilometer-agent-notification']
|
Ceilometer_config <||> ~> Service['ceilometer-agent-notification']
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,46 @@
|
||||||
- id: ceilometer_redis
|
## we must upload ocf scripts on all controllers before
|
||||||
|
## create clone resources.
|
||||||
|
- id: primary_create_redis_ocf
|
||||||
type: puppet
|
type: puppet
|
||||||
groups: [primary-controller, controller]
|
groups: [primary-controller]
|
||||||
required_for: [deploy_end]
|
required_for: [deploy_end]
|
||||||
requires: [ceilometer-controller]
|
requires: [ceilometer-controller]
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: "puppet/manifests/create_redis_ocf.pp"
|
||||||
|
puppet_modules: "puppet/modules:/etc/puppet/modules"
|
||||||
|
timeout: 180
|
||||||
|
|
||||||
|
- id: create_redis_ocf
|
||||||
|
type: puppet
|
||||||
|
groups: [controller]
|
||||||
|
required_for: [deploy_end]
|
||||||
|
requires: [ceilometer-controller]
|
||||||
|
cross-depends:
|
||||||
|
- name: primary_create_redis_ocf
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: "puppet/manifests/create_redis_ocf.pp"
|
||||||
|
puppet_modules: "puppet/modules:/etc/puppet/modules"
|
||||||
|
timeout: 180
|
||||||
|
|
||||||
|
- id: primary_ceilometer_redis
|
||||||
|
type: puppet
|
||||||
|
groups: [primary-controller]
|
||||||
|
required_for: [deploy_end]
|
||||||
|
requires: [ceilometer-controller]
|
||||||
|
cross-depends:
|
||||||
|
- name: create_redis_ocf
|
||||||
|
parameters:
|
||||||
|
puppet_manifest: "puppet/manifests/controller.pp"
|
||||||
|
puppet_modules: "puppet/modules:/etc/puppet/modules"
|
||||||
|
timeout: 3600
|
||||||
|
|
||||||
|
- id: ceilometer_redis
|
||||||
|
type: puppet
|
||||||
|
groups: [controller]
|
||||||
|
required_for: [deploy_end]
|
||||||
|
requires: [ceilometer-controller]
|
||||||
|
cross-depends:
|
||||||
|
- name: primary_ceilometer_redis
|
||||||
parameters:
|
parameters:
|
||||||
puppet_manifest: "puppet/manifests/controller.pp"
|
puppet_manifest: "puppet/manifests/controller.pp"
|
||||||
puppet_modules: "puppet/modules:/etc/puppet/modules"
|
puppet_modules: "puppet/modules:/etc/puppet/modules"
|
||||||
|
|
|
@ -7,7 +7,7 @@ version: 1.0.2
|
||||||
# Description
|
# Description
|
||||||
description: Ceilometer extension that provides a workload-partitioning and HA for ceilometer services
|
description: Ceilometer extension that provides a workload-partitioning and HA for ceilometer services
|
||||||
# Required fuel version
|
# Required fuel version
|
||||||
fuel_version: ['7.0','8.0']
|
fuel_version: ['9.0']
|
||||||
# Specify license of your plugin
|
# Specify license of your plugin
|
||||||
licenses: ['Apache License Version 2.0']
|
licenses: ['Apache License Version 2.0']
|
||||||
# Specify author or company name
|
# Specify author or company name
|
||||||
|
@ -20,12 +20,7 @@ groups: []
|
||||||
# The plugin is compatible with releases in the list
|
# The plugin is compatible with releases in the list
|
||||||
releases:
|
releases:
|
||||||
- os: ubuntu
|
- os: ubuntu
|
||||||
version: 2015.1.0-7.0
|
version: mitaka-9.0
|
||||||
mode: ['ha']
|
|
||||||
deployment_scripts_path: deployment_scripts/
|
|
||||||
repository_path: repositories/ubuntu
|
|
||||||
- os: ubuntu
|
|
||||||
version: liberty-8.0
|
|
||||||
mode: ['ha']
|
mode: ['ha']
|
||||||
deployment_scripts_path: deployment_scripts/
|
deployment_scripts_path: deployment_scripts/
|
||||||
repository_path: repositories/ubuntu
|
repository_path: repositories/ubuntu
|
||||||
|
|
Loading…
Reference in New Issue