Closed jcantrill closed 6 years ago
Tests failed.
cc @t0ffel
cc @portante
Tests failed.
In response to @richm
Can you explain the strategy to ensure only 1 shared searchguard index per cluster?
How do you ensure that updates to the index are atomic?
The algorithm is based upon the recommendations of Elastic and uses optimistic concurrency and document versioning. We load, grab version, and attempt to update which will merge our changes into the existing document and then bump the version. If this fails, it backs off, reloads, and tries again. Additionally, every X seconds we expire entries which is a full document replace since 'update' is only additive; ES makes no effort to remove sections.
Basically, each node will make a single change and continue to try to submit that changes until it is accepted. @portante and I determined removing any notion of caching was acceptable given this is only handing requests with bearer tokens which should be minimal. Conceptually there probably is a case to be made for some sort of DOS if servicing requests if their are high rates using bearer tokens.
@jcantrill how do we ensure that our pre-populated ACL definitions don't expire. Is it simply because they'll have a null
expires
field?
Tests failed.
License check failed: run mvn -N license:format
to update all licenses, commit, squash & force push please.
Tests failed.
@ewolinetz @richm based on [1] and manual testing of this code with 2 ES nodes, believe the initial blockers are resolved. Thoughts on merging?
[1] https://github.com/openshift/origin-aggregated-logging/pull/1177
@jcantrill can we get the license check and the test to pass?
Tests failed.
@ewolinetz @richm @lukas-vlcek any concerns moving forward with merging this PR
[merge]
Merge failed.
[merge]
This PR modifies ACL generation:
This is the 5.x release of #123