Repository navigation
Record bundle behavior with faults for every DMS API - #7231
shreyas-goenka wants to merge 9 commits into
Conversation
|
Commit: Regression test reportSelected 15 changed tests (limit=20, 0 not selected) 15 tests: regression=0 unreleased=15 coverage=0 failing=0
TestAccept/bundle/dms_fault/complete_version/DMS=true: branch ✅ | main (e9687c1) ✅ | latest (v1.22.1) ❌latest (v1.22.1): TestAccept/bundle/dms_fault/create_deployment/DMS=true: branch ✅ | main (e9687c1) ✅ | latest (v1.22.1) ❌latest (v1.22.1): TestAccept/bundle/dms_fault/create_version/DMS=true: branch ✅ | main (e9687c1) ✅ | latest (v1.22.1) ❌latest (v1.22.1): TestAccept/bundle/dms_fault/delete_deployment/DMS=true: branch ✅ | main (e9687c1) ✅ | latest (v1.22.1) ❌latest (v1.22.1): TestAccept/bundle/dms_fault/get_deployment/DMS=true: branch ✅ | main (e9687c1) ✅ | latest (v1.22.1) ❌latest (v1.22.1): 10 more failure details omitted, see the full report in the run. |
Integration test reportCommit: 260fb4e
Top 6 slowest tests (at least 2 minutes):
|
5dbdc5d to
9b95f43
Compare
9b95f43 to
c769fef
Compare
## Changes Support `*` within a path segment and `**` across path segments in `fault.py` patterns. Both match zero or more characters; all other characters are literal. Compile each pattern once when its rule is registered.. ## Why useful for tests being added in #7231.
c769fef to
15d2a7e
Compare
15d2a7e to
e1c4557
Compare
9e2109d to
1e09ad4
Compare
| === commands: get_deployment fault enabled | ||
|
|
||
| >>> bundle deploy --auto-approve | ||
| Warn: retrying after 500 Internal Server Error from GET /api/2.0/bundle/deployments/[DEPLOYMENT_ID] |
There was a problem hiding this comment.
these repeated warnings can be made prettier, we can iterate on them separately. It is good enough for now tbh.
|
|
||
| Destroy: 2 deleted | ||
|
|
||
| DMS API called: no |
There was a problem hiding this comment.
this is an important signal, shows whether the API is called or not (should we thus expect a warning in the output or not).
ilyakuz-db
left a comment
There was a problem hiding this comment.
This approach is fine, but maybe it will be simpler instead of making a suite for each API, do suite for each CLI command, and force all DMS APIs to return 500 there (and maybe also add some other Go error to ensure that any bugs won't break the direct engine flow)
@denik WDYT?
| @@ -0,0 +1,148 @@ | |||
|
|
|||
There was a problem hiding this comment.
Should we add init / config-remote-sync? I assume they don't interact directly in DMS, but is it possible through some shared code?
|
@ilyakuz-db if we make all APIs return 500, that'll not exercise all code paths since later flows can depend upon earlier ones succeeding. This is the most robust way to ensure nothing can break for customers. |
Changes
Procedurally generate and run tests for all DMS APIs to ensure that the deployment history feature is truly best effort and DMS going down will not cause deployments to start failing.
This tests also ensure we display adequate warnings when the errors actually happen.