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

Fix incompatibility with OVN-based clouds #54

Merged
merged 2 commits into from
Jun 21, 2024

Conversation

tschuettig
Copy link
Contributor

Changes:

  • add config to L3 client
  • overwrite allowed address pairs after provisioning and deletion of L3 port
  • periodically (currently every 5 minutes) overwrite allowed address pair to ensure correct setup after an agent was down
  • move openstack config into separate file to avoid circular imports
  • add wrappers to Portclient for better testability

The changes can be tested using the branch tschuettig/issue-659-lbaas from the yaook/k8s repository. (MR into sstrk/issue-659 is pending)

Fixes #53

Copy link
Collaborator

@horazont horazont left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed by me and tested by @Lykos153 .

@tschuettig Could you please squash the commits into commits which make sense individually and provide them with commit messages according to https://cbea.ms/git-commit/ ?

These values are used by the OpenStackL3PortManager to create a VRRP
setup that is compatible with new versions of the OVN ML2 plugin and
need to be added to the configuration with yaook/k8s.
Additionally, the openstack config was moved to the config package to
avoid cyclic imports.
To setup VRRP with new versions of the OVN ML2 plugin, additional IP
addresses of the agent configuration (at the moment of this commit only
the IP address of the VIP port is used) and all fixed IP addresses of
all L3 ports need to be added to the allowed address pairs of each agent
node. This is done by overwriting the address pairs accordingly after
the provisioning or deletion of a L3 port as well as periodically during
the entire runtime of the k8s-lbaas using the EnsureAgentsStateJob. The
periodic job is used to ensure the setup will still be created after an
agent was unreachable.

As a part of this commit functions provided by the package
openstack/networking/v2/ports were wrapped into the PortClient to allow
better testability.
@tschuettig tschuettig force-pushed the fix-ovn-based-clouds branch from ff10e45 to 17b761e Compare June 20, 2024 13:36
@tschuettig
Copy link
Contributor Author

@horazont Hope this is better now, if something could be improved let me know.

@horazont horazont merged commit 5a28338 into cloudandheat:master Jun 21, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incompatible with OVN-based clouds
2 participants