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

interfaces: convert GIF configuration to MVC/API #7241

Closed
2 tasks done
fichtner opened this issue Feb 15, 2024 · 0 comments
Closed
2 tasks done

interfaces: convert GIF configuration to MVC/API #7241

fichtner opened this issue Feb 15, 2024 · 0 comments
Assignees
Labels
feature Adding new functionality
Milestone

Comments

@fichtner
Copy link
Member

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.

GIF interfaces can not be operated by API.

Describe the solution you like

Time to migrate!

Describe alternatives you considered

N/A

Additional context

N/A

@fichtner fichtner added the feature Adding new functionality label Feb 15, 2024
@fichtner fichtner added this to the 24.7 milestone Feb 15, 2024
AdSchellevis added a commit that referenced this issue Apr 1, 2024
First batch of changes for this migration, the data underneath should be left mostly unchanged. The model overlays the existing data, only new entries will be slightly different.
When an interface is offered, it will be stored in the <if> field, an address will be moved to the <ipaddr> field, one of these values will be used instead of both for ipalias entries.

The reconfigure action is similar to the one in laggs, and will only apply the records changed by the user. Dropping gif interfaces before creation shouldn't be needed, so that's removed as well.

Using the LinkAddressField type we can either offer an (existing) address or an interface/carp vhid, to keep things backwards compatible. With the replaceInputWithSelector() javascript helper we can offer the choice between an address or a known entity from the list.
AdSchellevis added a commit that referenced this issue Apr 2, 2024
some minor cleanups and validation improvements.
AdSchellevis added a commit that referenced this issue Apr 2, 2024
cleanup _interfaces_gif_configure() a bit and mark the sections that should be removed in 24.7, the idea is to make sure routing is consistent between all interface types, which means the routing parts should go away. Existing configurations should stay functional, only when adding an aliasip no interface would be connected (which after final cleanup would be the default behavior anyway).

Ditch legacy pages and change menu registrations and acl's. This state should be safe for a minor release, so we can push the behavioral change in 24.7 by only removing the marked sections.
AdSchellevis added a commit that referenced this issue Apr 3, 2024
AdSchellevis added a commit that referenced this issue Apr 4, 2024
minor modification in reconfigure_gifs.php to prevent ipv6 addresses to be left behind after a change.
When the interface already exists, flush all addresses in the same way Wireguard is doing on our end and link virtual ips and routes back after configuration.

For IPv4 this seems to be less problematic as additional addresses are aliases and changing the address leads to an update instead of an "insert".
AdSchellevis added a commit that referenced this issue Apr 4, 2024
AdSchellevis added a commit that referenced this issue Apr 4, 2024
for consistency, when removing a legacy role, keep the -edit one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Adding new functionality
Development

No branches or pull requests

3 participants