-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Catalog get operation randomness problematic in heterogenous ACL environments #276
Comments
chemicL
pushed a commit
that referenced
this issue
Oct 31, 2017
If defined, the local consul agent is used to read list of services. Otherwise, a random agent is picked, but only from the cache of agents already syncing registrations. This change prevents situations, where contacting a random agent in the cluster fails, because it has no ACL-DC configured.
chemicL
pushed a commit
that referenced
this issue
Oct 31, 2017
If defined, the local consul agent is used to read list of services. Otherwise, a random agent is picked, but only from the cache of agents already syncing registrations. This change prevents situations, where contacting a random agent in the cluster fails, because it has no ACL-DC configured.
janisz
pushed a commit
that referenced
this issue
Oct 31, 2017
If defined, the local consul agent is used to read list of services. Otherwise, a random agent is picked, but only from the cache of agents already syncing registrations. This change prevents situations, where contacting a random agent in the cluster fails, because it has no ACL-DC configured.
Fixed by #277 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, the read operation for list of services retries any cached agent in the cluster (obtained via local agent query for nodes).
The issue with that is in non-homogenous environments, where some agents are read-only and have no ACL configuration attached, and are handled by anonymous token.
When marathon-consul is equipped with a token, it can send it to a read-only agent, which will fail the request not knowing where to forward the ACL Token bound query.
Despite having a local agent defined (
consul-local-agent-host
), all read requests still go to a random node in the first place, which should be avoided, too.Steps to reproduce:
consul-token
with the value from step 2.Running marathon-consul in this setup should at some point yield logs:
The text was updated successfully, but these errors were encountered: