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

GlobalNet - exported service isn't reachable using desired port after service port edit #1738

Closed
yboaron opened this issue Mar 17, 2022 · 6 comments · Fixed by #2828
Closed
Assignees
Labels
bug Something isn't working priority:medium size:small This can be implemented in less than half a sprint

Comments

@yboaron
Copy link
Contributor

yboaron commented Mar 17, 2022

What happened:
This issue is similar to #1734

  1. I followed the service export instructions from [A],
    a. I created a service (default/nginx) on cluster2 and export it
    b. I was able to access the service from cluster1.
  2. I changed the frontend port# of service default/nginx from 80 to 8080 using 'kubectl edit'
  3. While I can successfully connect the service with port 8080 using the local DNS name from cluster2 [B] I can't connect to exported service from cluster1 with port 8080 [C]

I think that root cause is that the service created by GN controller to handle ingress traffic towards service pods not being updated with the desired port

[A]

https://submariner.io/getting-started/quickstart/kind/#verify-manually

[B]

bash-5.0# curl nginx.default.svc.cluster2.local:8080

<title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style>

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

bash-5.0# curl nginx.default.svc.cluster2.local:80 curl: (28) Failed to connect to nginx.default.svc.cluster2.local port 80: Operation timed out bash-5.0#

[C]

bash-5.0# curl nginx.default.svc.clusterset.local:8080
curl: (28) Failed to connect to nginx.default.svc.clusterset.local port 8080: Operation timed out
bash-5.0# curl nginx.default.svc.clusterset.local:80

<title>Welcome to nginx!</title> <style> html { color-scheme: light dark; } body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style>

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

bash-5.0#
@yboaron yboaron added the bug Something isn't working label Mar 17, 2022
@yboaron yboaron changed the title Globalnet - exported service isn't reachable using desired port after service port edit GlobalNet - exported service isn't reachable using desired port after service port edit Mar 17, 2022
@yboaron yboaron self-assigned this Mar 17, 2022
@sridhargaddam sridhargaddam added next-version-candidate size:medium This can be implemented in a single sprint priority:low labels Mar 17, 2022
@sridhargaddam
Copy link
Member

Currently Globlanet controller does not process Service creation/updation events and it only processes delete events. In order to handle this use-case we will have to enhance the code to process update events for Services.

@stale
Copy link

stale bot commented Oct 15, 2022

This issue has been automatically marked as stale because it has not had activity for 60 days. It will be closed if no further activity occurs. Please make a comment if this issue/pr is still valid. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Oct 15, 2022
@dfarrell07
Copy link
Member

CC @vthapar might take this up if/when he has time.

It was discussed if these are related:
submariner-io/lighthouse#899
submariner-io/lighthouse#879

@stale stale bot removed the wontfix This will not be worked on label Oct 18, 2022
@sridhargaddam
Copy link
Member

sridhargaddam commented Oct 18, 2022

Some additional notes:

Submariner Globalnet controller internally creates an additional service with globalIP configured as external_ip. When the original service is updated, the Globalnet controller does not listen on the service updates, so it will not update the internal service, because of this, port update is not propagated to the internal service as we can see below.

[sgaddam@localhost submariner]$ kubectl get svc
NAME                                          TYPE        CLUSTER-IP       EXTERNAL-IP     PORT(S)    AGE
kubernetes                                    ClusterIP   100.65.0.1       <none>          443/TCP    10m
nginx                                         ClusterIP   100.65.37.138    <none>          8081/TCP   7m41s
submariner-lpq6zr4tl4o5qvrv2t7o3l3gawkagast   ClusterIP   100.65.225.203   242.254.1.253   8080/TCP   7m18s

@stale
Copy link

stale bot commented Mar 18, 2023

This issue has been automatically marked as stale because it has not had activity for 60 days. It will be closed if no further activity occurs. Please make a comment if this issue/pr is still valid. Thank you for your contributions.

@stale
Copy link

stale bot commented Aug 12, 2023

This issue has been automatically marked as stale because it has not had activity for 60 days. It will be closed if no further activity occurs. Please make a comment if this issue/pr is still valid. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Aug 12, 2023
@tpantelis tpantelis removed the wontfix This will not be worked on label Aug 12, 2023
@tpantelis tpantelis self-assigned this Aug 12, 2023
@Jaanki Jaanki removed size:medium This can be implemented in a single sprint priority:low labels Oct 5, 2023
@Jaanki Jaanki added size:small This can be implemented in less than half a sprint priority:medium labels Oct 5, 2023
@tpantelis tpantelis moved this from Todo to In Progress in Submariner 0.17 Dec 5, 2023
tpantelis added a commit to tpantelis/submariner that referenced this issue Dec 6, 2023
...specifically the ports.

Fixes submariner-io#1738

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
tpantelis added a commit to tpantelis/submariner that referenced this issue Dec 6, 2023
...specifically the ports.

Fixes submariner-io#1738

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
tpantelis added a commit to tpantelis/submariner that referenced this issue Dec 8, 2023
...specifically the ports.

Fixes submariner-io#1738

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
@tpantelis tpantelis moved this from In Progress to In Review in Submariner 0.17 Dec 8, 2023
tpantelis added a commit to tpantelis/submariner that referenced this issue Dec 9, 2023
...specifically the ports.

Fixes submariner-io#1738

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
aswinsuryan pushed a commit that referenced this issue Dec 11, 2023
...specifically the ports.

Fixes #1738

Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
@github-project-automation github-project-automation bot moved this from In Review to Done in Submariner 0.17 Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working priority:medium size:small This can be implemented in less than half a sprint
Projects
No open projects
Status: Done
6 participants