This commit fix "List Native Roles" task with Elasticsearch 7.11.0+
by removing the unused `body_format` parameter from `uri` module.
This parameter isn't used with a GET method but make request fail with
`request [GET /_security/role] does not support having a body` error
with Elasticsearch 7.11.0+.
Without become option stat operation for old users file will work only if user is in elasticsearch group, but copying of old file will fail because user have no write access in elasticsearch config dir.
- rename es_enable_xpack variable to oss_version
this variable name should be more explicit and consistent with the xpack changes made in 6.3
es_enable_xpack can still be used but is deprecated and will be removed in a later version.
- remove es_xpack-features variables
this variable was not working anymore since 6.3 [0]
[0]: https://github.com/elastic/ansible-elasticsearch/issues/608
In Python2, the dict.keys(), dict.values(), and dict.items() methods returns a list. Jinja2 returns that to Ansible via a string representation that Ansible can turn back into a list. In Python3, those methods return a dictionary view object.
resource: https://docs.ansible.com/ansible/2.4/playbooks_python_version.html#dictionary-views
- Stop forcing es_xpack_features variable in order to let elasticsearch install default features described in http://localhost:9200/_xpack
- Change xpack test scope to be able to test default xpack install
- xpack scenario will test xpack install with default features
- xpack upgrade scenario will fully test security feature
- oss-to-xpack-upgrade will test installing only other specific features
- Cleanup some duplicate serverspec tests
- Remove `system_key`feature (deprecated in 5.6 and removed in 6.0 - [Breaking Changes 6.0.0](https://www.elastic.co/guide/en/elasticsearch/reference/6.0/breaking-6.0.0-xes.html))
- Cleanup some ansible code (especially in `when` conditions)
Previously, each of the calls generated a warning : "Using tests as
filters is deprecated. Instead of using `result|version_compare` use
`result is version_compare`. This feature will be removed in version
2.9.".
In 6.5 Elasticsearch finds the old file which breaks the way the ansible
playbook is detecting the installed users. This means that after an
upgrade to 6.5 the users still actually exist but the playbook fails
when trying to add them again as they already exist.