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

Update deploy task to warn devs of migration status after a failed deploy #1289

Open
exalate-issue-sync bot opened this issue Jan 17, 2025 · 0 comments
Assignees
Labels

Comments

@exalate-issue-sync
Copy link

During the API deploy process, it is possible for migrations to be all or partially applied even when the deploy fails. While this doesn’t need to cause downtime (so long as the migrations were backwards compatible), it still leaves the API in a somewhat delicate state. (See Intra-Deploy Scenario #5 in our docs here)

At the end of the deploy process, devs should be notified in the logs as to which migrations were applied. In the event that the deploy process failed, this should be part of a clear, highly visible postmortem log entry.

QA Notes

No external changes will be visible. Devs should provide screenshots showing examples of the new logs.

DEV Notes

The deploy process should not delete the migrator app until after the deploy process has finished.

After the deploy process has finished, use {{showmigrations --list}} (run against the migrator and not fecfile-web-api) to determine which migrations were successfully applied. In the deploy process, you can use {{ctx.run().stdout}} to retrieve the stdout stream from the running task, which might be helpful.

Write an end of deploy summary for the logs, ideally in a separate CircleCI step.

this should include any failures and information about what failed, specifically

it should include a list of migrations that were successfully applied and a list of any that failed

Determine the ease of accessing fecfile-api-migrator logs through Kibana. If it’s difficult, then we should stop deleting the migrator app. Investigate whether using the {{cf stop [APP]}} command saves memory and/or CPU resources.

Design

null

See full ticket and images here: FECFILE-1957

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant