From 38421b77ead4384feeafcd2bfd28e9cc45777c40 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Wed, 7 May 2025 10:24:48 -0400 Subject: [PATCH] upgrade-postgresql: Use tags to partially-apply configuration. This uses the same technique used in 840884ec89c4, to only apply select parts of the Puppet configuration. This is more correct, and simpler, than attempting to chop out some base puppet roles, and hack around the `purge => true` supervisor.d configuration. (cherry picked from commit e13f82f048d82fe8d639de4725dde9a7fde0736d) --- puppet/zulip/manifests/postgresql_base.pp | 5 ++++- puppet/zulip/manifests/postgresql_common.pp | 1 + puppet/zulip/manifests/supervisor.pp | 5 +---- scripts/setup/upgrade-postgresql | 3 +-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/puppet/zulip/manifests/postgresql_base.pp b/puppet/zulip/manifests/postgresql_base.pp index c30e3a6b4f..59ca2a28e5 100644 --- a/puppet/zulip/manifests/postgresql_base.pp +++ b/puppet/zulip/manifests/postgresql_base.pp @@ -47,12 +47,13 @@ class zulip::postgresql_base { ensure => link, require => Package[$postgresql], target => $postgresql_dict_dict, + tag => ['postgresql_upgrade'], } file { "${tsearch_datadir}/en_us.affix": ensure => link, require => Package[$postgresql], target => $postgresql_dict_affix, - + tag => ['postgresql_upgrade'], } file { "${tsearch_datadir}/zulip_english.stop": ensure => file, @@ -61,6 +62,7 @@ class zulip::postgresql_base { group => 'root', mode => '0644', source => 'puppet:///modules/zulip/postgresql/zulip_english.stop', + tag => ['postgresql_upgrade'], } zulip::nagios_plugins { 'zulip_postgresql': } @@ -73,6 +75,7 @@ class zulip::postgresql_base { Package[$postgresql], Exec[$setup_system_deps] ], + tag => ['postgresql_upgrade'], } exec { 'pgroonga-config': require => Package["${postgresql}-pgdg-pgroonga"], diff --git a/puppet/zulip/manifests/postgresql_common.pp b/puppet/zulip/manifests/postgresql_common.pp index 961cdfe0f0..6795c34183 100644 --- a/puppet/zulip/manifests/postgresql_common.pp +++ b/puppet/zulip/manifests/postgresql_common.pp @@ -61,6 +61,7 @@ class zulip::postgresql_common { zulip::safepackage { $postgresql_packages: ensure => installed, require => Exec['generate-default-snakeoil'], + tag => ['postgresql_upgrade'], } if $facts['os']['family'] == 'Debian' { diff --git a/puppet/zulip/manifests/supervisor.pp b/puppet/zulip/manifests/supervisor.pp index 47166f4a3d..a7f1bcd4d7 100644 --- a/puppet/zulip/manifests/supervisor.pp +++ b/puppet/zulip/manifests/supervisor.pp @@ -12,15 +12,12 @@ class zulip::supervisor { } $conf_dir = $zulip::common::supervisor_conf_dir - # lint:ignore:quoted_booleans - $should_purge = $facts['leave_supervisor'] != 'true' - # lint:endignore file { $conf_dir: ensure => directory, require => Package['supervisor'], owner => 'root', group => 'root', - purge => $should_purge, + purge => true, recurse => true, notify => Service[$supervisor_service], } diff --git a/scripts/setup/upgrade-postgresql b/scripts/setup/upgrade-postgresql index a441b967b6..49fa6e0f15 100755 --- a/scripts/setup/upgrade-postgresql +++ b/scripts/setup/upgrade-postgresql @@ -75,7 +75,6 @@ fi cp /etc/zulip/zulip.conf "$TEMP_CONF_DIR" ZULIP_CONF="${TEMP_CONF_DIR}/zulip.conf" crudini --set "$ZULIP_CONF" postgresql version "$UPGRADE_TO" - crudini --set "$ZULIP_CONF" machine puppet_classes zulip::profile::base,zulip::postgresql_base if [ -f "/usr/share/postgresql/$UPGRADE_FROM/pgroonga_setup.sql.applied" ]; then # This file is intentionally blank, to trigger always running @@ -83,7 +82,7 @@ fi touch "/usr/share/postgresql/$UPGRADE_TO/pgroonga_setup.sql.applied" fi - FACTER_LEAVE_SUPERVISOR=true "$ZULIP_PATH"/scripts/zulip-puppet-apply -f --config "$ZULIP_CONF" + "$ZULIP_PATH"/scripts/zulip-puppet-apply -f --config "$ZULIP_CONF" --tags postgresql_upgrade rm -rf "$TEMP_CONF_DIR" )