aws / aws/chalice

Failed deploy should write components that are rolled out to .chalice/deployed

Open
#1,340 1 comment 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
11.1k
Forks
1k
Avg merge
1d 22h
Merged PRs (30d)
2

Description

Hello,

At the moment chalice does not check in advance if the deployment could fail due to some conflicts on aws side (e.g. creating CloudWatch event that already exists).

The deployment goes step by step (IAM roles, lambdas policies) and in case of failure nothing is written to `.chalice/deployed`, which makes it impossible to roll back (e.g. delete) partially deployed configuration.

I think that in case of failure the partially deployed stack should be saved. Maybe not in the `dev.json` or `prod.json` to not mess up existing stacks, but at least in some `dev-failed.json`/`prod-failed.json`.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the deployment flow that writes `.chalice/deployed`; the issue names no source file, test, or entry point. Reproduce a deployment conflict such as an existing CloudWatch event, then determine how partially deployed components should be recorded in `dev-failed.json` or `prod-failed.json` so rollback can use that state.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, python
Domain
cloud, devops
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.