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

Add support of HA-flow endpoints update. #5418

Draft
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

dmitrii-beliakov
Copy link
Collaborator

@dmitrii-beliakov dmitrii-beliakov commented Oct 5, 2023

This feature introduces an endpoint update for HA-flows: a partial update without paths recalculation. The condition for executing this kind of update is the updating only fields of endpoint that don't affect paths between them:

  • port
  • inner VLAN
  • outer VLAN
  • Create new paths in the FSM to bypass resources allocation and de-allocation
  • Make sure proper rules are installed
  • find out a way to check whether a diverse group ID has changed

closes #5415

@dmitrii-beliakov
Copy link
Collaborator Author

Here are pictures of the new paths in the update FSM workflow. A new path skips old resources de-allocation (because the new are the same as the old):
HaFlowUpdateFsm_change_1
and resources reverting on error (again, because the new and the old rules are the same):
HaFlowUpdateFsm_change_2

@dmitrii-beliakov
Copy link
Collaborator Author

For some reason the third picture is missing. I add it again:
HaFlowUpdateFsm_change_3

@dmitrii-beliakov
Copy link
Collaborator Author

As for the rules: at this point rule manager creates meters to add, which cannot be added, because they are already on the switch. So. apparently these rules could be skipped. However, it is not that straightforward how to implement it. One idea was to pass an additional flag to the rule manager from the build rules action and adjust the rule manager to use that. Probably there is a better way to implement it.
With the diverse group ID: changes in the diverse group ID says that the path might require recalculation and therefore endpoints update cannot be executed. However, database contains the current state and it is not clear whether the data from the update request lead to the diverse group ID change, it is not a part of the request object. There is a need to implement a method that will be invoked when a decision about the endpoints update is made, whether the diverse group ID changes.

@dmitrii-beliakov dmitrii-beliakov removed their assignment May 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

HA flow endpoints update
2 participants