open-consul/agent
Freddy 04e6e79b09
Allow dialer to re-establish terminated peering (#16776)
Currently, if an acceptor peer deletes a peering the dialer's peering
will eventually get to a "terminated" state. If the two clusters need to
be re-peered the acceptor will re-generate the token but the dialer will
encounter this error on the call to establish:

"failed to get addresses to dial peer: failed to refresh peer server
addresses, will continue to use initial addresses: there is no active
peering for "<<<ID>>>""

This is because in `exchangeSecret().GetDialAddresses()` we will get an
error if fetching addresses for an inactive peering. The peering shows
up as inactive at this point because of the existing terminated state.

Rather than checking whether a peering is active we can instead check
whether it was deleted. This way users do not need to delete terminated
peerings in the dialing cluster before re-establishing them.
2023-04-03 12:07:45 -06:00
..
ae
auto-config
cache
cache-types
checks
config
configentry
connect
consul
debug
dns
envoyextensions
exec
grpc-external
grpc-internal
grpc-middleware
hcp
local
log-drop
metadata
metrics
mock
pool
proxycfg
proxycfg-glue
proxycfg-sources
router
routine-leak-checker
rpc
rpcclient/health
structs
submatview
systemd
token
uiserver
xds
acl.go
acl_endpoint.go
acl_endpoint_test.go
acl_oss.go
acl_test.go
agent.go
agent_endpoint.go
agent_endpoint_oss.go
agent_endpoint_oss_test.go
agent_endpoint_test.go
agent_oss.go
agent_test.go
apiserver.go
apiserver_test.go
catalog_endpoint.go
catalog_endpoint_oss.go
catalog_endpoint_test.go
check.go
config_endpoint.go
config_endpoint_test.go
connect_auth.go
connect_ca_endpoint.go
connect_ca_endpoint_test.go
coordinate_endpoint.go
coordinate_endpoint_test.go
delegate_mock_test.go
denylist.go
denylist_test.go
discovery_chain_endpoint.go
discovery_chain_endpoint_test.go
dns.go
dns_oss.go
dns_oss_test.go
dns_test.go
enterprise_delegate_oss.go
event_endpoint.go
event_endpoint_test.go
federation_state_endpoint.go
health_endpoint.go
health_endpoint_test.go
http.go
http_decode_test.go
http_oss.go
http_oss_test.go
http_register.go
http_test.go
intentions_endpoint.go
intentions_endpoint_oss_test.go
intentions_endpoint_test.go
keyring.go
keyring_test.go
kvs_endpoint.go
kvs_endpoint_test.go
metrics.go
metrics_test.go
nodeid.go
nodeid_test.go
notify.go
notify_test.go
operator_endpoint.go
operator_endpoint_oss.go
operator_endpoint_oss_test.go
operator_endpoint_test.go
peering_endpoint.go
peering_endpoint_oss_test.go
peering_endpoint_test.go
prepared_query_endpoint.go
prepared_query_endpoint_test.go
proxycfg_test.go
reload.go
remote_exec.go
remote_exec_test.go
retry_join.go
retry_join_test.go
service_checks_test.go
service_manager.go
service_manager_test.go
session_endpoint.go
session_endpoint_test.go
setup.go
setup_oss.go
sidecar_service.go
sidecar_service_test.go
signal_unix.go
signal_windows.go
snapshot_endpoint.go
snapshot_endpoint_test.go
status_endpoint.go
status_endpoint_test.go
streaming_test.go
testagent.go
testagent_test.go
translate_addr.go
txn_endpoint.go
txn_endpoint_test.go
ui_endpoint.go
ui_endpoint_oss_test.go
ui_endpoint_test.go
user_event.go
user_event_test.go
util.go
util_test.go
watch_handler.go
watch_handler_test.go