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 update functionality to edge gateway #202

Open
dataclouder opened this issue Jun 12, 2019 · 4 comments
Open

Add update functionality to edge gateway #202

dataclouder opened this issue Jun 12, 2019 · 4 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@dataclouder
Copy link
Contributor

dataclouder commented Jun 12, 2019

As defined in PR #195, we support edge gateway creation and deletion.

To complete the set of functionalities, we should also support updates.

While the API for updates is conceptually simple, as it requires passing the same structure used for creation, determining what can be updated and how is more complicated.

For example, when we change the dependency from an external network as default gateway, we need to change the elements that we know (gateway IP and netmask) but also elements that we don't know directly (the external IP allocated or whether there is an available IP). Also, changing the external network will influence how the depending routed networks will respond.

Moreover, we need to understand which parts of the configuration can be altered without side effects (or with manageable side effects) and which should be considered non-alterable, meaning that we will need to re-deploy the edge gateway to change them.

Given the complexity of the matter, we need to decide between two approaches:

  • Create an Update function, with a structure similar to the one used for CreateEdgeGateway and handle all the possibilities in there.
  • Create a separate function for each element that can be changed (such as UnlinkNetwork, RemoveDefaultGateway, ChangeDefaultGateway, and so on)
@dataclouder dataclouder added enhancement New feature or request help wanted Extra attention is needed labels Jun 12, 2019
@dataclouder dataclouder self-assigned this Jun 12, 2019
@lvirbalas
Copy link
Collaborator

I agree about the complexity and as such like the second suggestion more (with separate functions foreach updatable element). This way we can roll out updates incrementally and manage risks better.

@Didainius
Copy link
Collaborator

While working on some other related edge gateway features I'm leaving a note for "future-us" that extra care must be taken with updating GatewayInterfaces field when the gateway already has some org networks attached. We must ensure that no org networks are detached.

@lvirbalas
Copy link
Collaborator

@slavaavr in the light of your recent PR #287 I hope you'll be interested in trying out this PR when it's ready for merge?

@bogi0704
Copy link

I would like to use the update functionality. Does anyone have an update about this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants