- 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
- 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)
- add support for elasticsearch 7.x
- remove support for elasticsearch 5.x
- update kitchen-ansible configuration (install ansible and jmespath dependencies using os repositories)
- replace geoip plugin in tests as this one is now embeded in elasticsearch since 6.7.0 (cf. https://www.elastic.co/guide/en/elasticsearch/plugins/6.7/ingest-geoip.html)
- update discovery configuration for 7.x (in ES 7.x, discovery.zen.ping.unicast.hosts is replaced by discovery.seed_hosts and transport.tcp.port is replaced by transport.port, also discovery.seed_hosts is disabled on master nodes to avoid "master_not_discovered_exception" error when creating templates in the same play)
- update index template structure for 7.x
- update security realms settings for 7.x (cf. https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-7.0.html#include-realm-type-in-setting)
This was previously passing because our CI configuration was actually
testing 6.x instead of 5.x. Luckily this is the only problem which
hadn't been caught since this was introduced.
This commit is just moving the tests to their new names. The config,
packge and issue test suites have been removed and the tests from these
will be incorporated into the oss and xpack tests.
oss: Standard elasticsearch-oss role with idempotency test
oss-upgrade: Upgrade from previous minor version oss to current minor version oss
oss-to-xpack-upgrade: Upgrade from previous minor version oss to current minor version xpack
xpack: Standard elasticsearch (with xpack) role with idempotency test
xpack-upgrade: Upgrade from previous minor version xpack to current minor version xpack
multi: Tests multiple instances of elasticsearch on a single machine
All of these were not actually defined in the final play of the testing
role however were leftover by the previous run or default install. The
changes in 6.3 moved the locations of these files to a different
directory causing these tests to fail (as they should be doing!)
json matches an md5 hash. This was causing flaky tests because the
order of the users in the test doing `curl -s localhost:9200/_xpack/security/user -u
es_admin:changeMeAgain` is not consistent which caused random failures.
Now if it does fail we will actually know the reason why:
```
security users
should have the elastic user
should have the kibana user (FAILED - 1)
should have the kibana_server user
should have the logstash user
logstash_system access check
should be reported as version 6.2.4
Failures:
1) Xpack Tests security users should have the kibana user
Failure/Error: expect(result['kibana']['username']).to eq('kibana4')
expected: "kibana4"
got: "kibana"
```
The failure output use to look like:
```
Failures:
1) Xpack Tests Command "curl -s localhost:9200/_xpack/security/user -u es_admin:changeMeAgain | md5sum | grep b6a1293c343e745a508c74778c9be8bb" exit_status should eq 0
Failure/Error: its(:exit_status) { should eq 0 }
expected: 0
got: 1
(compared using ==)
/bin/sh -c curl\ -s\ localhost:9200/_xpack/security/user\ -u\ es_admin:changeMeAgain\ \|\ md5sum\ \|\ grep\ b6a1293c343e745a508c74778c9be8bb
```