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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On the oc call at 07-12-2023 there was a comment made by @kidiyoor in support of having a separate action for the resetting of the rollback duration.
If we stick to the same
CommitRequest
message as the current PR proposes for the sake of being in line with NETCONF implementation, we won't actually be vulnerable to the above explained behavior.The initial Set Request is sent with the payload containing the intended changes, whereas the CommitConfirmed extension that is meant to reset the timeout MUST be sent without any payload. This guarantees, that the client can only reset the timeout once it knows that the commit confirmed has already been requested.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The NETCONF definition doesn't address this use-case as this use-case is not valid/relevant in a session based CLI interaction. Hence NETCONF definition is inadequate to define the behavior when a remote automated system client fails due to error in response flow, so I think it is ok to NOT adhere to NETCONF here.
I agree that with additional validation and checks it is possible to overcome the issue. However,
If the only argument to re-use the
CommitRequest
for resetting the rollback duration is to adhere with NETCONF, then I would like us to consider if introducing a new action would simplify the server/client implementation and lead to a cleaner API definition. Please point out demerits with a new action.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have no objections using a separate message.
I can refactor this PR, but first I wanted to see if we should wait for others to comment
@earies and others whos gh handles I don't know/remember...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kidiyoor @dplore due to missing feedback from the community members outside of the OC community call, I went with creating the alternative PR #164 with an explicit Set Rollback Duration action.
This seems to be more in line with @kidiyoor view, so maybe we can ship #164 instead.