Back in the Mitaka cycle via the change If6b43982c958f63bc78ad997400bf1279c23df7e
we made sure that the default start and stop timeouts for pacemaker
systemd resources is 200s (>= twice the default 90s DefaultTimeoutStopSec
in systemd). We did this change by setting puppet resource defaults for
the Pacemaker::Resource::Service class:
Pacemaker::Resource::Service {
op_params => 'start timeout=200s stop timeout=200s',
}
The problem is that after the composable services rework, this does not
work anymore and the pacemaker systemd resources that still exist do not
have these timeouts set.
We want to move away from resource defaults for this because its results
are dependent on the inclusion order which in tripleo is not guaranteed
any longer (https://docs.puppet.com/puppet/latest/reference/lang_scope.html#scope-lookup-rules)
The only services affected in Newton are: cinder-volume,
cinder-backup, manila-share, haproxy. I preferred fixing all the
pacemaker resources because it seems the cleanest and most logical
commit.
Change-Id: If89a95706514e536a7a2949871a0002c79b6046e
Closes-Bug: #
1629366
Class['tripleo::fencing'] -> Class['pacemaker::stonith']
}
- # FIXME(gfidente): sets 200secs as default start timeout op
- # param; until we can use pcmk global defaults we'll still
- # need to add it to every resource which redefines op params
- Pacemaker::Resource::Service {
- op_params => 'start timeout=200s stop timeout=200s',
- }
-
file { '/var/lib/tripleo/pacemaker-restarts':
ensure => directory,
} ~> Tripleo::Pacemaker::Resource_restart_flag<||>
if $step >= 5 and $pacemaker_master {
include ::apache::params
pacemaker::resource::service { $::apache::params::service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
verify_on_create => true,
}
case downcase(hiera('ceilometer_backend')) {
/mysql/: {
pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Pacemaker::Resource::Ocf['openstack-core'],
}
}
default: {
pacemaker::resource::service { $::ceilometer::params::agent_central_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => [Pacemaker::Resource::Ocf['openstack-core'],
Pacemaker::Resource::Service[$::mongodb::params::service_name]],
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::ceilometer::params::agent_notification_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
Exec<| title == 'galera-ready'|> -> Class['ceilometer::db::mysql']
}
pacemaker::resource::service { $::ceilometer::params::collector_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::cinder::params::api_service :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Pacemaker::Resource::Ocf['openstack-core'],
}
}
if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::cinder::params::backup_service : }
+ pacemaker::resource::service { $::cinder::params::backup_service :
+ op_params => 'start timeout=200s stop timeout=200s',
+ }
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::cinder::params::scheduler_service :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
pacemaker::constraint::base { 'cinder-api-then-cinder-scheduler-constraint':
}
if $step >= 5 and $pacemaker_master {
- pacemaker::resource::service { $::cinder::params::volume_service : }
+ pacemaker::resource::service { $::cinder::params::volume_service :
+ op_params => 'start timeout=200s stop timeout=200s',
+ }
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::glance::params::registry_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Pacemaker::Resource::Ocf['openstack-core'],
}
pacemaker::resource::service { $::glance::params::api_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
include ::gnocchi::metricd
pacemaker::resource::service { $::gnocchi::params::metricd_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
include ::gnocchi::statsd
pacemaker::resource::service { $::gnocchi::params::statsd_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
# of pacemaker VIPs could move into puppet-tripleo or we should
# make use of less specific hiera parameters here for the settings.
pacemaker::resource::service { 'haproxy':
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => true,
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::heat::params::api_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::heat::params::api_cfn_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
# Heat
pacemaker::resource::service { $::heat::params::api_cloudwatch_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::heat::params::engine_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
# only manila-share is pacemaker managed, and in a/p
- pacemaker::resource::service { $::manila::params::share_service : }
+ pacemaker::resource::service { $::manila::params::share_service :
+ op_params => 'start timeout=200s stop timeout=200s',
+ }
}
}
if $step >= 2 and $pacemaker_master {
pacemaker::resource::service { $::memcached::params::service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Class['::memcached'],
}
unless => '/sbin/pcs resource show neutron-server',
} ->
pacemaker::resource::service { $::neutron::params::server_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Pacemaker::Resource::Ocf['openstack-core']
}
} else {
pacemaker::resource::service { $::neutron::params::server_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
require => Pacemaker::Resource::Ocf['openstack-core']
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::neutron::params::dhcp_agent_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::neutron::params::l3_agent_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::neutron::params::metadata_agent_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service {'tomcat':
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::neutron::params::ovs_agent_service:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::api_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::conductor_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::consoleauth_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::scheduler_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and downcase($::hostname) == $pacemaker_master {
pacemaker::resource::service { $::nova::params::vncproxy_service_name:
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
# Sahara
pacemaker::resource::service { $::sahara::params::api_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}
if $step >= 5 and $pacemaker_master {
pacemaker::resource::service { $::sahara::params::engine_service_name :
+ op_params => 'start timeout=200s stop timeout=200s',
clone_params => 'interleave=true',
}
}