Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Umbrella upgrade for production site #123

Closed
5 of 28 tasks
GUI opened this issue Sep 4, 2014 · 1 comment
Closed
5 of 28 tasks

API Umbrella upgrade for production site #123

GUI opened this issue Sep 4, 2014 · 1 comment

Comments

@GUI
Copy link
Member

GUI commented Sep 4, 2014

There's a substantial update to API Umbrella in the pipeline. It will finally get a lot of the pending issues pushed live on api.data.gov (including #56, #55, #121, #112, #121, #122). This issue is to coordinate what needs to happen in order to get that live.

The basic plan so far:

  • Spin up the staging servers and make sure their code base is updated.
  • Sync the production mongodb database back to staging (includes users).
  • Sync the production elasticsearch database back to staging (includes analytics).
  • Expand the staging db server disk space so there's enough room for the upgrade.
  • Expand the production db server disk space so there's enough room for the upgrade.
  • Build new chef scripts to install the updated API Umbrella stack from RPMs.
  • Run chef script to install the new API Umbrella software and install config files, but do not start the new services automatically (we'll manually stop old stuff and start new stuff to try to minimize downtime)
  • Upgrade Elasticsearch (see cluster restart upgrade process):
    • Disable shard reallocation
    • Stop all old elasticsearch servers
    • Copy data into new database directory location
    • Start new elasticsearch servers
    • Re-enable shard reallocation
  • Upgrade MongoDB (see 2.4 to 2.6):
    • Stop one mongo server. Ensure another becomes primary.
    • Copy data into new database directory location
    • Start new mongo server.
    • Repeat process for each replica, one at a time.
  • Upgrade API Umbrella Router/Gatekeeper/Web
    • Remove server from load balancer
    • Shutdown the old service. This includes these services:
      • nginx
      • redis
      • supervisor
      • varnish, varnishlog, varnishncsa
    • Startup new service
    • Test and add back to load balancer if everything looks good
  • Adjust chef scripts so that the new API Umbrella services automatically start on each server
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants