This PR makes put-alias project aware so that the aliases API works in a
multi-project setup. This is achieved by adding a new project-id field
to IndicesAliasesClusterStateUpdateRequest.
The alias actions are also used by MetadataRolloverService. These usages
are NOT updated in this PR and still assumes default project. They will
be handled separately.
This PR proposes changes to make a YAML test pass for cluster reroute
commands, specifically the cancel allocation command. The allocation
command is initiated by user but batch executed in the cluster state
update thread where it loses the thread context. It also no longer has
access to the original request object at that time. This PR changes
the parsing process to take the project id and inject it into the command
objects itself.
The retry_failed parameter can be used without any specific allocation
command. For the time being, the PR keeps it working at cluster level
but adds constraint that it can only be used if there is no allocation
command.
This makes the ingest CRUD APIs and the majority of the `IngestService`
project aware.
This does not include the parts of the `IngestService` that are related
to executing the pipelines in bulk requests.
As title says, this PR makes the auto-create-index action project aware
and unmute YAML tests that can now pass. Note this works for regular
indices. More work is still required for data-streams.
In the multi-project yaml rest tests, switch to using the routing table
(from cluster state, see MP-1695) to determine that the projects have been
correctly created and configured in the test client.
This introduces a new QA project that runs the core YAML rest tests
against a cluster with multiple projects.
At this point in time:
- Only 1 project is actively tested at a time
- That project is not the "default" project
- There are other projects in the cluster
- Those projects are empty
- There is a long exclude list of YAML tests
- There are a handful of tests that are executed successfully