Ensure presence of pacemaker restart directory.

Currently the /var/lib/tripleo/pacemaker-restarts directory is created
only when base/pacemaker.pp file is included in the manifest. There is a
notification that ensures precedence order and trigger the touch.

The trigger and the dependency on the base/pacemaker.pp should not be
required as someone using the tripleo::pacemaker::resource_restart_flag
would expect the file to be created no matter what.

For instance in the Cinder upgrade in the convergence step has this
defined:

        Cinder_config<||> ~> Tripleo::Pacemaker::Resource_restart_flag["${::cinder::params::volume_service}"]

but in the convergence step, the base/pacemaker.pp is not included and
the above trigger fails as the directory is not created.

It looks the same for manilla.pp.

This patch removes the trigger and ensures the directory is created when
needed.

Change-Id: Ic3aa82c818662e9e88e21c8381d657adef5b43ac
Closes-Bug: #1632232
This commit is contained in:
Sofer Athlan-Guyot 2016-10-11 10:18:16 +02:00
parent 000c633a50
commit c16cdec847
2 changed files with 11 additions and 4 deletions

View File

@ -26,10 +26,21 @@
#
define tripleo::pacemaker::resource_restart_flag() {
ensure_resource('file', ['/var/lib/tripleo', '/var/lib/tripleo/pacemaker-restarts'],
{
'ensure' => 'directory',
'owner' => 'root',
'mode' => '0755',
'group' => 'root',
}
)
exec { "${title} resource restart flag":
command => "touch /var/lib/tripleo/pacemaker-restarts/${title}",
path => ['/bin','/usr/bin','/sbin','/usr/sbin'],
refreshonly => true,
}
File['/var/lib/tripleo/pacemaker-restarts'] ->
Exec["${title} resource restart flag"]
}

View File

@ -68,10 +68,6 @@ class tripleo::profile::base::pacemaker (
# enable stonith after all fencing devices have been created
Class['tripleo::fencing'] -> Class['pacemaker::stonith']
}
file { '/var/lib/tripleo/pacemaker-restarts':
ensure => directory,
} ~> Tripleo::Pacemaker::Resource_restart_flag<||>
}
if $step >= 2 {