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
Steps to force an outage
Pull up the terminal in ArgoCD
EKS Clusters (SOCKS PROXY required):
In the ArgoCD UI, go the desired environment cluster listed above.
Click into any vets-api-web pod, e.g. vets-api-web-696bf8799-pgpfn
Go to the terminal tab
List the available services
bundle exec rake breakers:list_services
e.g.
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.
nonroot@vets-api-web-696bf8799-pgpfn:~$ RAILS_ENV=production bundle exec rake breakers:end_forced_outage service=EVSS/Claims
Help and feedback
Get help from the Platform Support Team in Slack.
Submit a feature idea to the Platform.