-
Notifications
You must be signed in to change notification settings - Fork 19
Bat Team Tips
Matt Roberts edited this page Feb 18, 2022
·
21 revisions
When we get a production incident from PagerDuty or DataDog alert, we typically go through the following.
- See notes and links in the DataDog alert
- https://monitor.cf.ds.va.gov/
-
https://app.datadoghq.com/dashboard/lists
- triggered monitors
- Be aware of scheduled downtime
- List of production machines and AWS zones
- Cloudwatch logs: directly from AWS or via Kibana
- Follow the Bat Team manual on responding to production incidents
- If needed, refer to First Responder Manual
When we get a support issue in the #appeals-batteam Slack channel, we typically go through the following.
- Log into Citrix Access Gateway (CAG) to access Caseflow in production: https://appeals.cf.ds.va.gov
- Impersonate as the user using their CSS_ID at https://appeals.cf.ds.va.gov/test/users
- Browse to the URL relevant to the problem provided by the Support Team
- ssm into a production machine:
ssm caseflow prod auto
sudo su -c "source /opt/caseflow-certification/caseflow-certification_env.sh; cd /opt/caseflow-certification/src; bin/rails c"
- Get the appeal/case id from the URL if possible
- URL format for queue is
https://appeals.cf.ds.va.gov/queue/appeals/<vacols_id or appeal_uuid>
- URL format for queue is
- Retrieve an AMA appeal
- Given appeal uuid:
Appeal.find_by(uuid: "b6a684f8-37f0-4856-a0ec-426d138545f6")
- Given a docket number for an AMA appeal, it is in the format
#{receipt_date.strftime('%y%m%d')}-#{id}
(seedef docket_number
inappeal.rb
), so just use theid
number after the hyphen to grab the appeal:Appeal.find(id)
- Given appeal uuid:
- Retrieve a Legacy appeal
- Given VACOLS id:
LegacyAppeal.find_by(vacols_id: 2717083)
- Given docket number:
- Given VACOLS id:
docket_number = "1853273A"
vacols_id = VACOLS::Folder.find_by(tinum: docket_number).ticknum
appeal = LegacyAppeal.find_by(vacols_id: vacols_id)
- Print the task tree for an appeal
puts appeal.structure_render(:id, :status, :updated_at)
To find similar real task trees, check out Task Tree docs
- Similarly to AMA Appeals, HLRs and SCs are identified by UUID:
sc = SupplementalClaim.find_by(uuid: "77cdc5af-cc7b-4662-acd6-0ddfc3ed0136")
- Given a VBMS Claim ID, we can also retrieve Caseflow's corresponding EPE:
epe = EndProductEstablishment.find_by(reference_id: CLAIM_ID)
- Once you have any relevant model (even just a Veteran object), print the intake structure:
puts IntakeRenderer.render(obj)
Read more about the Intake Structure Renderer on its wiki page.
Keep the Intake Data Model handy, as a guide to the complicated relationships between intake models.
Search on:
- Bat Team quick ref
- Slack messages
- Previous Bat Team journals on Bat Team handoffs page
- Ask Tech Lead of relevant team/product:
- Echo (Queue, Reader): JC
- Foxtrot (Intake, Decision Reviews): Yang
- Tango (Hearings): Tomas
- Ask Engineering Lead: Lowell
When we investigate a Sentry alert, we typically do the following.
-
Remember to enable socks proxy
sockson <mfa_pin>
. See utility scripts and - Click on the alert link in Slack which loads
https://sentry.ds.va.gov/department-of-veterans-affairs/caseflow/issues/...
in a browser - Click the Comments tab to check for any previous work or ticket reference
- Click the Events tab to check for frequency and/or patterns
- Scroll up in Slack for comments and reactions to similar alerts
- Use the search bars to look for existing GitHub issues
- See the other "Search for existing solutions" section above
- See the relevant section in the Bat Team manual.
- Post ticket in Sentry alert's Comment tab and in a Slack thread for the alert.
- Home
- Acronyms and Glossary
- Caseflow products
- Caseflow Intake
- Caseflow Queue
- Appeals Consumer
- Caseflow Reader
- Caseflow eFolder
- Caseflow Hearings
- Caseflow Certification
- Caseflow APIs
- Appeal Status API
- Caseflow Dispatch
-
CSUM Roles
- System Admin
- VHA Team Management
- Active Record Queries Resource
- External Integrations
- Caseflow Demo
- Caseflow ProdTest
- Background
- Stuck Jobs
- VA Notify
-
Caseflow-Team
- Tier 4
- Bat Team
- Technical Documentation
- Backend Code Patterns
- Backend Working Group
- FACOLS, VACOLS DB Schema
- Asyncable Models
- External Data: where and why
- Data Fetching Scripts
- Caseflow Data Model and Dictionary
- User Access Permissions
- Controller Schemas
- Constants
- Frontend Best Practices
- Accessibility
- How-To
- Debugging Tips
- Adding a Feature Flag with FeatureToggle
- Editing AMA issues
- Editing a decision review
- Fixing task trees
- Investigating and diagnosing issues
- Data and Metric Request Workflow
- Exporting and Importing Appeals
- Explain page for Appeals
- Record associations and Foreign Keys
- Upgrading Ruby
- Stuck Appeals
- Testing Action Mailer Messages Locally
- Re-running Seed Files
- Rake Generator for Legacy Appeals
- Manually running Scheduled Jobs
- System Admin UI
- Caseflow Makefile
- Upgrading Postgresql from v11.7 to v14.8 Locally
- VACOLS VM Trigger Fix M1
- Using SlackService to Send a Job Alert
- Technical Talks