Skip to main content
Skip table of contents

Breakers Outages for EKS Environments

Last Updated: December 3, 2024

This document details how breakers outages work in production in relation to the external services utilized by Vets API.

Resources

Breakers Gem

Breakers Datadog dashboard

Steps to force an outage

Pull up the terminal in ArgoCD

EKS Clusters (SOCKS PROXY required):

  1. In the ArgoCD UI, go the desired environment cluster listed above.

  2. Click into any vets-api-web pod, e.g. vets-api-web-696bf8799-pgpfn

    Pointing to ArgoCD pods

    Pointing to ArgoCD pods

  3. Go to the terminal tab

    Image of terminal inside pod

    Image of terminal inside pod

List the available services

bundle exec rake breakers:list_services

e.g.

CODE
nonroot@vets-api-web-696bf8799-pgpfn:~$ RAILS_ENV=production bundle exec rake breakers:list_services
I, [2018-11-13T22:46:26.912071 #4133]  INFO -- sentry: ** [Raven] Raven 2.1.2 ready to catch errors
/srv/vets-api/src/config/initializers/redis.rb:4: warning: already initialized constant REDIS_CONFIG
/srv/vets-api/src/rakelib/connectivity.rake:11: warning: previous definition of REDIS_CONFIG was here
Available Services:
["AppealsStatus", "Rx", "BB", "EmisMilitaryInformation", "EmisPayment", "EmisVeteranStatus", "EVSS/Claims", "EVSS/Common", "EVSS/Documents", "EVSS/Letters", "EVSS/PCIUAddress", "EVSS/GiBillStatus", "VHA_Access_PWT", "VHA_Access_SHEP", "VIC2", "GI", "HCA", "MHVAcctCreation", "MVI", "Preneeds", "SM", "Vet360/ContactInformation", "Search/Results", "OKTA", "CentralMail"]

Force an outage of an external service

Forced outages do not recover automatically and can only be stopped by calling end_forced_outage 

bundle exec rake breakers:begin_forced_outage service=<SERVICE_NAME>

End a forced outage of an external service

bundle exec rake breakers:end_forced_outage service=<SERVICE_NAME>

e.g.

CODE
nonroot@vets-api-web-696bf8799-pgpfn:~$ RAILS_ENV=production bundle exec rake breakers:end_forced_outage service=EVSS/Claims

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.