Fix CLI 'st2 apikey load' idempotence and API '/api/v1/apikeys' not honoring 'ID' for the new record creation #4542
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We've had this problem before and it seems a regression:
Reproduce
Description
At a high level PR fixes
st2api key load
that wasn't idempotent and failing to import same record twice with the following error:Investigation
Looking at
st2api key load
behavior, we do several requests to guarantee command idempotence:However result of request
2.
goes wrong:Instead of creating a record with the requested
ID
, it creates a new one with randomID
and so next importst2 apikey load
for the same data fails.This leads to a root cause bug fixed in this PR: API
POST /api/v1/apikeys
wasn't creating new record with the providedID
: https://api.stackstorm.com/api/v1/apikeys/#/api_key_controller.postWas spot during the StackStorm/stackstorm-k8s#45 work.