...
1 - Preamble
- eas changeset ididentifier: TBDe7696197ffe0
- sfeas_config changeset ididentifier: TBD91ac3c3c21bf
This deployment will consist of the follow following general steps:
- Send an email to DT-EAS-User-Group and CC-ed to DT-SFGIS-User-Group to let them know that the version release has begun.
- 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 *).
...
Place the Web servers into maintenance mode (SF PROD WEB, DR PROD WEB):.
Code Block |
---|
language | bash |
---|
linenumbers | true |
---|
|
cd /var/www/html
sudo ./set_eas_mode.sh MAINT |
- SF PROD WEB is in maintenance mode: http://eas.sfgov.org/
Code Block |
---|
language | bash |
---|
linenumbers | true |
---|
|
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 |
---|
language | bash |
---|
linenumbers | true |
---|
|
sudo -u postgres -i
/home/dba/scripts/dbbackup.sh > /var/tmp/dbbackup.log
|
Code Block |
---|
language | bash |
---|
linenumbers | true |
---|
|
# 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 |
---|
language | bash |
---|
linenumbers | true |
---|
|
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 Issueinstructions 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 |
---|
language | bash |
---|
linenumbers | true |
---|
|
cd /var/www/html
sudo ./deploy_eas_init.sh <eas-changeset-id> <sfeas_config-changeset-id>e7696197ffe0 91ac3c3c21bf samuelvaldez |
- Test the application to make sure everything works.
...
6 - Deploy the Web Application (DR)
Note |
---|
title | Disable Database Replication? |
---|
|
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. |
- 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 used performed in the San Francisco production environment (* PROD WEB only).
- Make sure that the disaster recovery production environment Web application functions correctly.
- Testing the disaster recovery production environment Web application surfaced this issue: DR PROD WEB/GEO cannot connect to DR PROD DB
- Place the disaster recovery Web server (DR PROD WEB) into standby mode:
Code Block |
---|
language | bash |
---|
linenumbers | true |
---|
|
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 |
---|
language | bash |
---|
linenumbers | true |
---|
|
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!
...