-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
…#11532) Fixes an issue described in #10132, where if two DCs are WAN federated over mesh gateways, and the gateway in the non-primary DC is terminated and receives a new IP address (as is commonly the case when running them on ephemeral compute instances) the primary DC is unable to re-establish its connection until the agent running on its own gateway is restarted. This was happening because we always preferred gateways discovered by the `Internal.ServiceDump` RPC (which would fail because there's no way to dial the remote DC) over those discovered in the federation state, which is replicated as long as the primary DC's gateway is reachable.
- Loading branch information
Showing
7 changed files
with
392 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
```release-note:bug | ||
xds: fixes a bug where replacing a mesh gateway node used for WAN federation (with another that has a different IP) could leave gateways in the other DC unable to re-establish the connection | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
133 changes: 133 additions & 0 deletions
133
...estdata/endpoints/mesh-gateway-newer-information-in-federation-states.envoy-1-16-x.golden
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
{ | ||
"versionInfo": "00000001", | ||
"resources": [ | ||
{ | ||
"@type": "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment", | ||
"clusterName": "bar.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", | ||
"endpoints": [ | ||
{ | ||
"lbEndpoints": [ | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.6", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
}, | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.7", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
}, | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.8", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
} | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"@type": "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment", | ||
"clusterName": "dc2.internal.11111111-2222-3333-4444-555555555555.consul", | ||
"endpoints": [ | ||
{ | ||
"lbEndpoints": [ | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "198.18.1.3", | ||
"portValue": 443 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
} | ||
] | ||
} | ||
] | ||
}, | ||
{ | ||
"@type": "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment", | ||
"clusterName": "foo.default.dc1.internal.11111111-2222-3333-4444-555555555555.consul", | ||
"endpoints": [ | ||
{ | ||
"lbEndpoints": [ | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.3", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
}, | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.4", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
}, | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.5", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
}, | ||
{ | ||
"endpoint": { | ||
"address": { | ||
"socketAddress": { | ||
"address": "172.16.1.9", | ||
"portValue": 2222 | ||
} | ||
} | ||
}, | ||
"healthStatus": "HEALTHY", | ||
"loadBalancingWeight": 1 | ||
} | ||
] | ||
} | ||
] | ||
} | ||
], | ||
"typeUrl": "type.googleapis.com/envoy.api.v2.ClusterLoadAssignment", | ||
"nonce": "00000001" | ||
} |
Oops, something went wrong.