skupper icon indicating copy to clipboard operation
skupper copied to clipboard

deleting services from 'other' ns

Open pwright opened this issue 2 years ago • 6 comments

Not sure if this is a documentation issue or if more information needs to be given to user thru cli?

After performing 'hello-world':

bash-5.2$ skupper service delete backend -n west
bash-5.2$ skupper service status -n west
Services exposed through Skupper:
╰─ backend (tcp port 8080)

ie As a user I expect the delete command to remove the service or give me a message saying why that is not possible

Could be documented as:

If you want to delete a service, make sure that either 'service-sync' is disabled or service status returns the underlying target(s).

pwright avatar Mar 16 '23 15:03 pwright

I was not able to re-create this issue. I am seeing the service get remove correctly with service-sync enabled. I tried with/without namespace specifier. If you have any additional context to re-create, please pass along...

ajssmith avatar Apr 17 '23 14:04 ajssmith

relates to deleting services from 'other ns', leaving open for review

pwright avatar Apr 17 '23 16:04 pwright

I was working on this a bit, and from creating skupper using the CLI, I don't see any way to turn off service-sync? Only option in the CLI is --enable-service-sync, but it already defaults to true. So, if you add this option or not service-sync is always true. Am I missing config option here? Should the option be --disable-service-sync?

If you are using the hello-world example and try to delete backend service on east router it is not deleted. If you delete the backend service on the west router it is deleted, or at least no longer exposed.

Do you expect that you can delete the backend service when issuing the command on the east router? skupper service delete backend -n west

Or you just want a warning saying the backend service doesn't exist on local router?

on west router:

skupper service delete backend

skupper unexpose deployment/backend

both remove the backend from being exposed to other skupper routers.

if you try to unexpose backend on the east router you do see a warning message

skupper unexpose deployment/backend -n west
Error: Unable to unbind skupper service: Could not find target backend for service interface backend

So is this what you are looking for on the east router if you issue the skupper service delete backend -n west?

lynnemorrison avatar May 03 '24 23:05 lynnemorrison

I also have a question on service-sync I ran with service-sync false on both west and east routers.
I was still able to expose the backend deployment on the west router. Is that expected behavior?

on east router

skupper expose deployment/backend --port 8080
deployment backend exposed as backend

kubectl get configmaps skupper-site -o yaml | grep service-sync
service-snc: "false"

on west router

kubectl get configmaps skupper-site -o yaml | grep service-sync
service-snc: "false"

skupper service status
Services exposed through Skupper:
╰─backend:8080 (tcp)

lynnemorrison avatar May 06 '24 20:05 lynnemorrison

@lynnemorrison thanks I've reproduced your findings with skupper 1.7.0

skupper init --enable-service-sync=false on east/west

east: skupper expose deployment/backend --port 8080

west: skupper service status Services exposed through Skupper: ╰─ backend:8080 (tcp)

However, I don't think the west service is working as expected.

pwright avatar May 07 '24 12:05 pwright

@nluaces I've created https://github.com/skupperproject/skupper/issues/1466 as requested.

pwright avatar May 07 '24 16:05 pwright

i believe this is fixed, reopen if required

pwright avatar Oct 29 '24 17:10 pwright