Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

redis_ip: new_private_ip_of_scihist_digicoll-database1-stagingproduction
postgres_ip: new_private_ip_of_scihist_digicoll-database1-stagingproduction

SOLR server
ansible-playbook create_kithe.yml --vault-password-file password_file.txt --private-key=~/.ssh/chf_prod.pem --extra-vars "role=solr tier=production"

...

solr_ip: new_private_ip_of_scihist_digicoll-solr1-stagingproduction

Jobs
ansible-playbook create_kithe.yml --vault-password-file ~/.ansible_password.txt --private-key=~/.ssh/chf_prod.pem --extra-vars "role=jobs tier=production"

...

  • Point the prod URL in your etc/hosts file locally to the web server.

  • Spin up the downtime server

  • Point the elastic IP for the prod web server to the downtime server

  • Spin down the existing prod servers

  • Copy the old database over to the new DB server.

  • Index
    bundle exec cap staging production invoke:rake TASK="scihist:solr:reindex"

  • Point elastic IP to the new web server:

    • Select "Elastic IPs"

    • Select "digicoll-production"

    • Actions -> Associate address

    • Under the "Resource type", Choose "Instance".

    • Fill in the appropriate instance (the prod web server)

    • Check "Allow this Elastic IP address to be reassociated if already attached"

    • Click "Associate".

  • Remove the etc/hosts entry and check that traffic is indeed routed to the new server

  • Announce the switch is complete

...