You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merging of VirtualServices based on the delegate doesn't happen when VirtualServices are set to be exported to their own namespace (setting defaultVirtualServiceExportTo: ["."]) and the exportTo in VirtualService is not set.
In the Mesh config we have VirtualServices being exported to their own namespace.
defaultVirtualServiceExportTo: ["."]
Expected Behaviour
Since both VirtualServices are in the same namespace and are exported to their own namespace by default, the VirtualServices routes should be merged and the istio-proxy sidecar should receive a routing rule that matches dummy-svc-1.service and forwards it to dummy-svc-1.ns-1.svc.cluster.local
Actual Behaviour
The istio-proxy sidecar doesn't receive any routing logic for this VirtualService at all.
On further investigation, found the following error in Istiod logs
debug model delegate virtual ns-1/dummy-svc-1-dlg of ns-1/dummy-svc-1 is not exported to ns-1
Version
client version: 1.13.1
control plane version: 1.15.0
data plane version: 1.15.0 (9 proxies)
Additional Information
This issue doesn't show up if the VirtualServices are exported to all namespaces by default (defaultVirtualServiceExportTo:["*"]), or if we explicitly define exportTo:["."] in the delegate VirtualService.
The text was updated successfully, but these errors were encountered:
For defaultVirtualServiceExportTo: ["."], defaultExportTo is a map containing a key visibility.Instance(".") which doesn't match the key visibility.Instance(root.Namespace).
This PR fixes that check by adding a new key visibility.Instance(vs.Namespace), similar to what is done while processing exportTo within VirtualServices.
Fixesistio#42602
For defaultVirtualServiceExportTo: ["."], defaultExportTo is a map containing a key visibility.Instance(".") which doesn't match the key visibility.Instance(root.Namespace).
This PR fixes that check by adding a new key visibility.Instance(vs.Namespace), similar to what is done while processing exportTo within VirtualServices.
Fixes#42602
Bug Description
Merging of VirtualServices based on the
delegate
doesn't happen when VirtualServices are set to be exported to their own namespace (settingdefaultVirtualServiceExportTo: ["."]
) and theexportTo
in VirtualService is not set.Setup
VirtualService
Delegate VirtualService
In the Mesh config we have VirtualServices being exported to their own namespace.
Expected Behaviour
Since both VirtualServices are in the same namespace and are exported to their own namespace by default, the VirtualServices routes should be merged and the istio-proxy sidecar should receive a routing rule that matches
dummy-svc-1.service
and forwards it todummy-svc-1.ns-1.svc.cluster.local
Actual Behaviour
The istio-proxy sidecar doesn't receive any routing logic for this VirtualService at all.
On further investigation, found the following error in Istiod logs
Version
Additional Information
This issue doesn't show up if the VirtualServices are exported to all namespaces by default (
defaultVirtualServiceExportTo:["*"]
), or if we explicitly defineexportTo:["."]
in the delegate VirtualService.The text was updated successfully, but these errors were encountered: