service/survey: document maintenance mode authored by Jérôme Charaoui's avatar Jérôme Charaoui
...@@ -36,17 +36,22 @@ Instead, we deploy from the latest stable zip-file release using Puppet. ...@@ -36,17 +36,22 @@ Instead, we deploy from the latest stable zip-file release using Puppet.
The steps to upgrade LimeSurvey are: The steps to upgrade LimeSurvey are:
1. Login to `survey-01`, stop Apache2 using `systemctl stop apache2 1. Login to `survey-01`, stop Puppet using `puppet agent --disable "pending LimeSurvey upgrade"`
puppet-run.timer` (no maintenance mode in LimeSurvey)
2. Open the [LimeSurvey latest stable release page][] and note the version 2. Open the [LimeSurvey latest stable release page][] and note the version
number and sha256 checksum number and sha256 checksum
3. In the `tor-puppet` repository, edit `hiera/roles/survey.yaml` and update 3. In the `tor-puppet` repository, edit `hiera/roles/survey.yaml` and update
the version and checksum keys with above info the version and checksum keys with above info
4. Run the puppet agent on `survey-01` 4. Enable full maintenance mode
5. Puppet will unpack the new archive under
`/srv/www/survey.torproject.org/${version}`, update the Apache vhost config sudo -u postgres psql -d limesurvey -c "UPDATE lime_settings_global SET stg_value='hard' WHERE stg_name='maintenancemode'"
and run the database update script
6. Login to the [admin interface][] and validate the new version is running 5. Run the puppet agent on `survey-01`: `puppet agent --enable && pat`: Puppet
will unpack the new archive under `/srv/www/survey.torproject.org/${version}`,
update the Apache vhost config and run the database update script
7. Login to the [admin interface][] and validate the new version is running
8. Disable maintenance mode:
sudo -u postgres psql -d limesurvey -c "UPDATE lime_settings_global SET stg_value='off' WHERE stg_name='maintenancemode'"
Because LimeSurvey does not make available previous release zip-files, the old Because LimeSurvey does not make available previous release zip-files, the old
code installation directory is kept on the server, along with prevously code installation directory is kept on the server, along with prevously
... ...
......