Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: In Section 6, noted the issue that was surfaced.

...

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
languagebash
linenumberstrue
cd /var/www/html
sudo ./set_eas_mode.sh MAINT
Code Block
languagebash
linenumberstrue
cd /var/www/html
sudo ./set_eas_mode.sh MAINT

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
languagebash
linenumberstrue
sudo -u postgres -i
/home/dba/scripts/dbbackup.sh > /var/tmp/dbbackup.log
  •  Database was backed up
Code Block
languagebash
linenumberstrue
# 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
languagebash
linenumberstrue
cd C:\apps\
python eas_automation_deploy.py eas_automation

5 - Deploy the Web Application (SF)

Code Block
languagebash
linenumberstrue
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
titleDisable 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.
  •  Place the disaster recovery Web server (DR PROD WEB) into standby mode:
Code Block
languagebash
linenumberstrue
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
languagebash
linenumberstrue
cd C:\apps\eas_automation\automation\src
python job.py --action EXECUTE --job announce_new_release --env SF_PROD
  •  When you receive the release announcement, then forward it by email to DT-EAS-New-Release-Announcement.  This is a temporary workaround to issue #234.  One example of this email was sent on 5/11/2018 8:44 PM.
     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!

...