Open nicolacdnll opened 1 year ago
The root cause of this issue seems to be in the qdr
package of the skupper repo. The Listener
and Connector
structs are missing the connection timeout parameters so those just get ignored when the skupper-internal
config map is read or written by config-sync
. I'm going to open PR to fix this in the skupper repo shortly.
Ideally we will not lose any arbitrary fields added to the config. I think this is best done not by explicitly defining fields in the control plane for all the fields in the router entities, but by retaining those values that are not recognised and emitting them when rewriting out the config. I have created a PR that shows one way of doing that.
The benefits of this approach are (1) it works for all unrecognised fields including those added in the future and (2) it avoids having explicit fields that are never actually used by the control plane.
As described also here, changes to
skupper-internal
config map are lost as it gets re-written.We have seen this when adding
"idleTimeoutSeconds": 64
to theedge-listener
using Skupper v2.2.0. And @ted-ross was able to reproduce the issue by adding an annotated service.As Ted was suggesting, we need a reliable way to make arbitrary changes to the router configuration.