zulip/scripts
Alex Vandiver faf71eea41 upgrade-postgresql: Do not remove other supervisor configs.
We previously used `zulip-puppet-apply` with a custom config file,
with an updated PostgreSQL version but more limited set of
`puppet_classes`, to pre-create the basic settings for the new cluster
before running `pg_upgradecluster`.

Unfortunately, the supervisor config uses `purge => true` to remove
all SUPERVISOR configuration files that are not included in the puppet
configuration; this leads to it removing all other supervisor
processes during the upgrade, only to add them back and start them
during the second `zulip-puppet-apply`.

It also leads to `process-fts-updates` not being started after the
upgrade completes; this is the one supervisor config file which was
not removed and re-added, and thus the one that is not re-started due
to having been re-added.  This was not detected in CI because CI added
a `start-server` command which was not in the upgrade documentation.

Set a custom facter fact that prevents the `purge` behaviour of the
supervisor configuration.  We want to preserve that behaviour in
general, and using `zulip-puppet-apply` continues to be the best way
to pre-set-up the PostgreSQL configuration -- but we wish to avoid
that behaviour when we know we are applying a subset of the puppet
classes.

Since supervisor configs are no longer removed and re-added, this
requires an explicit start-server step in the instructions after the
upgrades complete.  This brings the documentation into alignment with
what CI is testing.
2021-08-24 19:00:58 -07:00
..
lib install-yarn: Upgrade Yarn from 1.22.10 to 1.22.11. 2021-08-23 12:33:27 -07:00
nagios python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
setup upgrade-postgresql: Do not remove other supervisor configs. 2021-08-24 19:00:58 -07:00
README.md cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
__init__.py Factor out venv-creating code from provision.py. 2016-06-21 11:25:41 -07:00
get-django-setting python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
purge-old-deployments script: Add --no-headings option to purge-old-deployments. 2021-06-17 15:49:23 -07:00
refresh-sharding-and-restart puppet: Remove zulip_deliver_scheduled_* from zulip-workers:*. 2021-06-14 17:12:59 -07:00
restart-server restart-server: Add a --skip-tornado. 2021-08-04 10:57:53 -07:00
start-server scripts: Add a start-server as well. 2021-04-21 10:24:08 -07:00
stop-server scripts: Only stop/restart zulip_deliver_scheduled_* processes if known. 2021-07-09 10:04:53 -07:00
upgrade-zulip upgrade: Modify upgrade scripts to handle failure. 2021-06-23 08:42:20 -07:00
upgrade-zulip-from-git upgrade: Modify upgrade scripts to handle failure. 2021-06-23 08:42:20 -07:00
zulip-puppet-apply python: Remove default "r" mode for open(). 2021-08-02 15:53:52 -07:00

README.md

This directory contains scripts that:

  • Generally do not require access to Django or the database (those are "management commands"), and thus are suitable to run operationally.

  • Are useful for managing a production deployment of Zulip (many are also used in a Zulip development environment, though development-only scripts live in tools/).

For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.