Ensure keystone packages are installed before configuring apache

... so that items like wsgi script, which are provided by the packages,
are available. This is required to make sure the default vhost file,
which is installed by the keystone package, is properly purged by
the apache class.

Change-Id: Ia299314ea8ac5e34bb363b27e061d6ffbf1d7a6a
This commit is contained in:
Takashi Kajinami 2022-01-04 22:15:35 +09:00
parent 824e119e9d
commit e331df0662

View File

@ -209,19 +209,27 @@ class keystone::wsgi::apache (
error_log_file => $error_log_file,
error_log_pipe => $error_log_pipe,
error_log_syslog => $error_log_syslog,
require => Anchor['keystone::install::end'],
}
# Workaround to empty Keystone vhost that is provided & activated by default with running
# Canonical packaging (called 'keystone'). This will make sure upgrading the package is
# possible, see https://bugs.launchpad.net/ubuntu/+source/keystone/+bug/1737697
#
# The file should be created after the apache class is invoked, otherwise
# the file is deleted because of its default behavior which removes all files
# in sites-available/sites-enabled.
if ($::operatingsystem == 'Ubuntu') {
ensure_resource('file', '/etc/apache2/sites-available/keystone.conf', {
'ensure' => 'file',
'content' => '',
})
Package<| tag == 'keystone-package' |>
Anchor['keystone::install::end']
-> File<| title == '/etc/apache2/sites-available/keystone.conf' |>
~> Anchor['keystone::install::end']
File<| title == '/etc/apache2/sites-available' |>
-> File<| title == '/etc/apache2/sites-available/keystone.conf' |>
~> Anchor['keystone::service::begin']
}
}