...
1 - Preamble
...
- eas changeset ididentifier: TBDe7696197ffe0
- sfeas_config changeset ididentifier: TBD
...
- 91ac3c3c21bf
This deployment will consist of the following general steps:
- Perform the steps below in the San Francisco production environment (SF PROD *) and then test the application in that environment.
...
- If the application passes its tests, then perform the steps below in the disaster recovery production environment (DR PROD *) and then test the application in that environment.
...
- In the unlikely event that things go very badly, we would switch over to the previous version of the application in the disaster recovery production environment (DR PROD *).
2 - Web Application into Maintenance Mode
...
Place the Web servers into maintenance mode (SF PROD WEB, DR PROD WEB).
Code Block | ||||
---|---|---|---|---|
| ||||
cd /var/www/html
sudo ./set_eas_mode.sh MAINT |
- SF PROD WEB is in maintenance mode: http://eas.sfgov.org/
Code Block | ||||
---|---|---|---|---|
| ||||
cd /var/www/html sudo ./set_eas_mode.sh MAINT |
- DR PROD WEB is in maintenance mode: http://10.255.8.116/
3 - Backup the
...
EAS Databases
...
Log onto SF PROD DB and back up the
...
EAS databases. The database backup script simply creates an additional daily backup, which are periodically purged from the file system, so there is no need to be concerned about the accumulation of "forgotten" database backups.
Code Block | ||||
---|---|---|---|---|
| ||||
sudo -u postgres -i /home/dba/scripts/dbbackup.sh > /var/tmp/dbbackup.log |
- Database was backed up
Code Block | ||||
---|---|---|---|---|
| ||||
# You should receive an email notifying you of the status of the backup.
# The database backup log file is another source of information about the
# outcome of the backups. Note that an empty database backup log file
# indicates that the backups were successful.
ls -la /var/tmp/dbbackup.log
cat /var/tmp/dbbackup.log
# The existence of the database backups can also be confirmed directly
# from the command line:
ls -la /mnt/backup/pg/daily/easproddb.sfgov.org-* |
- Database backup was verified
4 - Deploy Automation Scripts (SF only)
There is no DR PROD AUTO machine.
- Deploy the automation scripts to SF PROD AUTO per the instructions that are on * * AUTO Server. If you staged the compressed repositories ahead of time, then you can use these commands to deploy the automation scripts:
Code Block | ||||
---|---|---|---|---|
| ||||
cd C:\apps\
python eas_automation_deploy.py eas_automation |
5 - Deploy the Web Application (SF)
- Deploy the Web application to SF PROD WEB per the Deployment Workaround for 2018 TLS 1.2 Compatibility Issue.instructions that are on * * WEB Server. If you stage staged the uncompressed repositories ahead of time, then you can use these commands to deploy the Web application:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /var/www/html sudo ./deploy_eas_init.sh 0485057b0593e7696197ffe0 b80a53e54e6691ac3c3c21bf samuelvaldez |
- Test the application to make sure everything works.
...
6 - Deploy the Web Application (DR)
Note | ||
---|---|---|
| ||
You will not be able to log into the Web application in the disaster recovery production environment (DR PROD WEB) if database replication is running. |
- used performed in the San Francisco production environment (* PROD WEB only). If testing in the San Francisco production environment (SF PROD *) is successful, then deploy the Web application to the disaster recovery production environment (DR PROD *) with steps that parallel those that were
- Make sure that the disaster recovery production environment Web application functions correctly.
...
title | Disable Database Replication? |
---|
...
- Testing the disaster recovery production environment
...
- Web application surfaced this issue:DR PROD WEB
...
- Place the disaster recovery Web server (DR PROD WEB) into standby mode:
Code Block | ||||
---|---|---|---|---|
| ||||
cd /var/www/html sudo ./set_eas_mode.sh STANDBY_DR |
...
7 - Release Notifications
- Remove 1.3.7 8 from the road map.
- Publish the blog post for this release. Ideally, this blog post would have already been drafted. An example is Release 1.3.6.
- Log on to the automation machine (SF PROD AUTO) and run the following job to send the release announcement to stake holders:
Code Block | ||||
---|---|---|---|---|
| ||||
cd C:\apps\eas_automation\automation\src python job.py --action EXECUTE --job announce_new_release --env SF_PROD |
...
- This release announcement will also be sent to the Yammer All Company group, so check your email inbox for the request from Yammer to post the release announcement there.
- Return to Step 18 26 of the release checklist because you are all done here!
...