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

feat(): Add slice gw edge feature to use a LB for inter-cluster traffic (test automation is WIP) #316

Merged
merged 14 commits into from
Nov 23, 2023

Conversation

bharath-avesha
Copy link
Contributor

@bharath-avesha bharath-avesha commented Oct 10, 2023

Description

Introducing a slice gateway edge service of type LoadBalancer to receive all inter-cluster traffic from remote clusters of a slice. The backend for this service would be a passthrough proxy that uses NAT rules to forward the traffic to the right slice gateway vpn server pod. It will only be created on those clusters that are assigned to host one or more vpn servers.
The doc for this feature contains more details: https://docs.google.com/document/d/1nLHZpeeKd_LvK7fiXK0OExUB_8TS_HzS5eVYzrYGOy8/edit?usp=sharing

Fixes #

This is not a bug fix. This is a new feature.

How Has This Been Tested?

Tested this feature on cloud clusters where a service of type LoadBalancer could be created. On a two cluster setup, a slice with the slice gateway service type set to LB for the first cluster was created.
Verified that the slice gw edge service is created.
Verified that the service contains the correct ports list corresponding to the NodePort numbers of all the slice gw vpn servers.
Verified that the Slice Gw Edge (SGE) deployment is created automatically.
Verified that the operator sends the correct portmap to the SGE.
Verified that the SGE creates DNAT and MASQUERADE rules to forward the incoming traffic to the right vpn server pod.

Checklist:

  • The title of the PR states what changed and the related issues number (used for the release note).
  • Does this PR requires documentation updates?
  • I've updated documentation as required by this PR.
  • I have ran go fmt
  • I have updated the helm chart as required by this PR.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have tested it for all user roles.
  • I have added all the required unit test cases.
  • I have verified the E2E test cases with new code changes.
  • I have added all the required E2E test cases.

Does this PR introduce a breaking change?

NO


Set slicegatewayservice type in the slice object

Signed-off-by: Bharath Horatti <[email protected]>
Signed-off-by: Bharath Horatti <[email protected]>
Added code comments

Signed-off-by: Bharath Horatti <[email protected]>
@bharath-avesha bharath-avesha changed the title feat(): Add slice gw edge feature to use a LB for inter-cluster traffic (test automation is WIP feat(): Add slice gw edge feature to use a LB for inter-cluster traffic (test automation is WIP) Oct 10, 2023
@bharath-avesha bharath-avesha requested review from narmidm and YachikaRalhan and removed request for narmidm and YachikaRalhan October 10, 2023 10:18
@narmidm narmidm merged commit 964ca09 into master Nov 23, 2023
8 checks passed
@narmidm narmidm linked an issue Feb 2, 2024 that may be closed by this pull request
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.

Add LB service support for Slice VPN Gateways
2 participants