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
The CA replication from the primary DC to the secondary DC does not work.
ACLs and Intentions are replicated but he Consul cluster in the secondary DC is not able to replicate the CA.
Reproduction Steps
2 clusters of 3 nodes each in 2 different regions (tested in AWS: eu-west-1 and eu-west-3).
ACL, Connect, TLS are enabled.
replication, agent, default and agent_master tokens are set with appropriate policies.
In the log of the leader in the secondary DC, I have:
Jul 22 22:11:39 ip-10-1-0-22 consul[9365]: 2019/07/22 22:11:39 [ERR] consul: RPC failed to server 10.3.0.13:8300 in DC "eu-west-3": rpc error making call: rpc error making call: Permission denied
Jul 22 22:11:39 ip-10-1-0-22 consul[9365]: 2019/07/22 22:11:39 [ERR] connect: error watching primary datacenter roots: rpc error making call: rpc error making call: Permission denied
I have tested to replace all the tokens with a global-management token: same error.
I have also tested to restart, deactivate/reactive Connect, etc.
I think the problem lies in RPC message sent by the leader of the secondary DC: it does not include the replication token to check the health of the primary cluster.
I think you are correct, that ServerHealth RPC would need a token in order to succeed.
I think the better solution however might be to use the information advertised via Serf instead of making RPC requests to all the servers to figure this out. Thats what we do to determine the legacy/new ACL mode. I will be looking into this more tomorrow morning.
Also thank you for the extremely detailed and clear bug report.
Overview of the Issue
Consul 1.6beta2
The CA replication from the primary DC to the secondary DC does not work.
ACLs and Intentions are replicated but he Consul cluster in the secondary DC is not able to replicate the CA.
Reproduction Steps
2 clusters of 3 nodes each in 2 different regions (tested in AWS: eu-west-1 and eu-west-3).
ACL, Connect, TLS are enabled.
replication, agent, default and agent_master tokens are set with appropriate policies.
Consul info for both Client and Server
Replication policy:
Part of the configuration in the secondary DC:
Part of the configuration in the primary DC:
Operating system and Environment details
debian 9 on t2.micro
Log Fragments
In the primary DC:
In the secondary DC:
Here is the auto-generated CA in the primary DC:
Here is the auto-generated CA in the secondary DC:
=> as we can see, in the secondary DC, the CA is not replicated
Here is the state of the replication in the secondary DC (it's ok):
In the log of the leader in the secondary DC, I have:
I have tested to replace all the tokens with a global-management token: same error.
I have also tested to restart, deactivate/reactive Connect, etc.
I think the problem lies in RPC message sent by the leader of the secondary DC: it does not include the replication token to check the health of the primary cluster.
See the PR #6193
With this PR, the leader in the secondary cluster immediately replicates the CA:
And the old CA is replaced with the one from the primary DC:
The text was updated successfully, but these errors were encountered: