mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-06 13:08:29 +00:00
Currently, both the NativeUsersStore and NativeRolesStore can undergo multiple state transitions. This is done primarily to check if the security index is usable before it proceeds. However, such checks are only needed for the tests, because if the security index is unavailable when it is needed, the downstream actions invoked by the NativeUsersStore and NativeRolesStore will throw the appropriate exceptions notifying of that condition. In addition, both the NativeUsersStore and NativeRolesStore had much duplicate code that listened for cluster state changes and made the exact same state transitions. This commit removes the complicated state transitions in both classes and enables both classes to use the SecurityTemplateService to monitor all of the security index lifecycle changes they need to be aware of. This commit also moves the logic for determining if the security index needs template and/or mapping updates to the SecurityLifecycleService, and makes the NativeRealmMigrator solely responsible for applying the updates. Original commit: elastic/x-pack-elasticsearch@b31d144597
Simplifies security index state changes and template/mapping updates (elastic/x-pack-elasticsearch#551)
Simplifies security index state changes and template/mapping updates (elastic/x-pack-elasticsearch#551)
= Elasticsearch X Pack A set of Elastic's commercial plugins: - License - Security - Watcher - Monitoring - Machine Learning = Setup You must checkout x-pack and elasticsearch with a specific directory structure. The elasticsearch checkout will be used when building x-pack. The structure is: - /path/to/elastic/elasticsearch - /path/to/elastic/elasticsearch-extra/x-pack-elasticsearch == Native Code **This is mandatory as tests depend on it** Machine Learning requires platform specific binaries, build from https://github.com/elastic/machine-learning-cpp via CI servers. The native artifacts are stored in S3. To retrieve them infra's team Vault service is utilized, which requires a github token. Please setup a github token as documented: https://github.com/elastic/infra/blob/master/docs/vault.md#github-auth The github token has to be put into ~/.elastic/github.token, while the file rights must be set to 0600. = Build - Run unit tests: + [source, txt] ----- gradle clean test ----- - Run all tests: + [source, txt] ----- gradle clean check ----- - Run integration tests: + [source, txt] ----- gradle clean integTest ----- - Package X-Pack (wihtout running tests) + [source, txt] ----- gradle clean assemble ----- - Install X-Pack (wihtout running tests) + [source, txt] ----- gradle clean install -----
Description
Languages
Java
99.5%
Groovy
0.4%