Kube adaptor accumulates connections to the router
Describe the bug The kube-adaptor's config-sync function occasionally opens new connections to the router but does not appear to ever close those connections. As a result, over time many open connections are present..
How To Reproduce Create a simple site via CR in a namespace. Then create a RouterAccess to open a listener on the router. Delete and re-add this RouterAccess several times. Observe via the router log or 'skstat -c' the accumulation of connections.
Expected behavior I expect kube-adaptor to open and use a single connection for router management. If there's any reason to open a new connection, older connections should be closed.
Environment details
- Skupper CLI: N/A
- Skupper Operator (if applicable): main
- Platform: Minikube on Fedora
Additional context
My site and router-access yamls:
apiVersion: skupper.io/v2alpha1
kind: Site
metadata:
name: test
spec:
linkAccess: default
---
apiVersion: skupper.io/v2alpha1
kind: Certificate
metadata:
name: skupper-local-server-custom
spec:
ca: skupper-local-ca
hosts:
- skupper-local-server-custom
server: true
subject: skupper-local-server-custom
---
apiVersion: skupper.io/v2alpha1
kind: RouterAccess
metadata:
name: testaccess
spec:
roles:
- name: normal
port: 10001
tlsCredentials: skupper-local-server-custom
skstat -c output:
Connections
id host container role proto dir security authentication meshId last dlv uptime
==================================================================================================================================================================
1 ::1:56300 kube-flow-collector normal amqp in no-security no-auth 000:00:00:01 000:01:46:38
2 ::1:56316 kube-flow-controller normal amqp in no-security no-auth 000:00:00:02 000:01:46:38
3 ::1:56328 AZH0JLJrYLAQsV43IcGT0AxTJtheI-ZSokAUTYYUVson84_n8qy0Xg normal amqp in no-security no-auth 000:01:46:38 000:01:46:38
4 ::1:56334 itJGjmJR1BIdTIdohtsCwqo66wLxXS1P3N8dluuHQXKxe5qLrFK-XQ normal amqp in no-security no-auth 000:01:44:55 000:01:46:38
5 ::1:36716 qjMWHrpI3hGFhIKM3UfxAD9R9pIv3jH_NDmDLShOkC4_-DzOvr1zYQ normal amqp in no-security no-auth 000:01:44:53 000:01:44:53
6 ::1:36722 bqfAjBFPaPlqZ_P_MJhUZm3QfIGFdWdVj-EHcFZkioE4WMcRjjmigQ normal amqp in no-security no-auth 000:01:44:53 000:01:44:53
7 ::1:42398 kwmwiySWxBKwR-zyAnMOCvzmICim-Yf4s6UxK7oQQfFWugSit1p8og normal amqp in no-security no-auth 000:01:41:45 000:01:41:45
8 ::1:40944 EfPePmhwly8cgNd1fI2J6B5h3-bYvqTbmdrXGFE6irN7slqRgUbeMA normal amqp in no-security no-auth 000:01:40:45 000:01:41:38
9 ::1:44468 raLL-xc3PM6ZkRk02jRKZINDE1gqFOGzODmGIqQMJbw9paUIb1MzrQ normal amqp in no-security no-auth 000:01:40:13 000:01:40:13
11 ::1:36160 prJ3gi1raF0ZjoDw3wOVH2OneWYaIs_AaTWOnPrss3hAGr0trnDwWQ normal amqp in no-security no-auth 000:01:39:15 000:01:39:15
12 ::1:36162 ekk9tQXZnCGRNjpfIqEsk4Q4g4ySyarIePENuySv7HFAT--r180h7A normal amqp in no-security no-auth 000:01:39:14 000:01:39:14
13 ::1:48996 FdHl8PodKE3dR7-2aMyDOROlqjlukcGpCcx0yBTotHuSfvglGBj3Kw normal amqp in no-security no-auth 000:01:38:15 000:01:38:15
14 ::1:40568 XWLGklPXv3y7xU3EY5uFRLTMn2772ktOTMEKN41ft7az4eTqk9OrwA normal amqp in no-security no-auth 000:01:37:45 000:01:37:45
15 ::1:33336 ReI2mf1nMbPbibW0ZszGNKD-sdr9KU8fS5Ub-2QHxNO3wHnG4UJY-A normal amqp in no-security no-auth 000:01:37:15 000:01:37:15
16 ::1:33340 m-mAWCVCUVBZ5uQFEMWWfSmEH9VKgHuQ18i5F4l3W8Kkw51Z-BubCw normal amqp in no-security no-auth 000:01:37:14 000:01:37:14
17 ::1:38690 057Tsv7IyNJuvlk0IUpKXBkFys9FjAiK9CB39qBeIkvlJAeKMrg3ug normal amqp in no-security no-auth 000:01:37:04 000:01:37:04
18 ::1:52600 uwzJGbrbXBg4XrEYM7bXf3RmwuggZKq53WE__zCBwAmEzvR9Z3ormg normal amqp in no-security no-auth 000:01:36:54 000:01:36:54
19 ::1:41810 1JqW6C6D5LeGg1iQHq2f9nWREmOu_6wQrCFUIhabYYByAX5oG653_A normal amqp in no-security no-auth 000:01:36:29 000:01:36:38
20 ::1:42448 vcVOXrtVA8BOLq_N_jiNOMe6Mlpnwr6yCYvQW-iZApB72gfxUDNaRw normal amqp in no-security no-auth 000:01:36:14 000:01:36:14
23 ::1:55282 esj9DNoUIaRjte9VYyDpiKbpvXYIzz7ZdsTD-xbHKDyWKBH6JZrhTw normal amqp in no-security no-auth 000:01:32:54 000:01:32:54
24 ::1:51194 f4oZnzFYQn-ksteDe-OGF5XhFPpsO4G6H_WXtuLMwtZr8v2h7_R-bQ normal amqp in no-security no-auth 000:01:32:44 000:01:32:44
26 ::1:60668 OhsJ7vBDVlzUwca7CETaHrwEO3xA5EcH5vnfoQ9iJW3_RM4sD1qF3Q normal amqp in no-security no-auth 000:00:41:08 000:01:31:38
32 ::1:57654 g4kKckg315Ao5u09e1--DKVEUY9eaFX0HdiF8AOqBej5Lhr2hJoXAw normal amqp in no-security no-auth 000:00:40:46 000:00:40:46
33 ::1:56556 byyv01Kjwqrc4jdyqctcJDsPZpHwD2IXGnURJhG4BjlwJ7f4XZD8WA normal amqp in no-security no-auth 000:00:40:36 000:00:40:36
35 ::1:41188 oJz5Nm27WsgKR6xm0ZgSKK6x5rmDHVfI_gfqQrhJYw_52HCIjoYtog normal amqp in no-security no-auth 000:00:40:16 000:00:40:16
37 ::1:54770 yE9WF07mD55mgkDbZCEYuTau9tFeS4lWuslKExrrkPwjAPRnPuHGVw normal amqp in no-security no-auth 000:00:01:40 000:00:36:39
39 127.0.0.1:48102 3a842c48-b853-42c5-a996-b2144dd34f25 normal amqp in no-security no-auth 000:00:00:00 000:00:00:00
This issue has been fixed via https://github.com/skupperproject/skupper/commit/3fc2c5e86d48780521d0a03a1c21fad4f79931a2