David Roberts da5aeb8be7
[ML] Return assigned node in start/open job/datafeed response (#55570)
Adds a "node" field to the response from the following endpoints:

1. Open anomaly detection job
2. Start datafeed
3. Start data frame analytics job

If the job or datafeed is assigned to a node immediately then
this field will return the ID of that node.

In the case where a job or datafeed is opened or started lazily
the node field will contain an empty string.  Clients that want
to test whether a job or datafeed was opened or started lazily
can therefore check for this.

Backport of #55473
2020-04-22 12:06:53 +01:00

82 lines
2.0 KiB
Plaintext

[role="xpack"]
[testenv="platinum"]
[[ml-open-job]]
=== Open {anomaly-jobs} API
++++
<titleabbrev>Open jobs</titleabbrev>
++++
Opens one or more {anomaly-jobs}.
[[ml-open-job-request]]
==== {api-request-title}
`POST _ml/anomaly_detectors/{job_id}/_open`
[[ml-open-job-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have `manage_ml` or
`manage` cluster privileges to use this API. See
<<security-privileges>>.
[[ml-open-job-desc]]
==== {api-description-title}
An {anomaly-job} must be opened in order for it to be ready to receive and
analyze data. It can be opened and closed multiple times throughout its
lifecycle.
When you open a new job, it starts with an empty model.
When you open an existing job, the most recent model state is automatically
loaded. The job is ready to resume its analysis from where it left off, once new
data is received.
[[ml-open-job-path-parms]]
==== {api-path-parms-title}
`<job_id>`::
(Required, string)
include::{docdir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
[[ml-open-job-request-body]]
==== {api-request-body-title}
`timeout`::
(Optional, time) Controls the time to wait until a job has opened. The default
value is 30 minutes.
[[ml-open-job-response-body]]
==== {api-response-body-title}
`node`::
(string) The ID of the node that the job was opened on. If the job is allowed to
open lazily and has not yet been assigned to a node, this value is an empty string.
`opened`::
(boolean) For a successful response, this value is always `true`. On failure, an
exception is returned instead.
[[ml-open-job-example]]
==== {api-examples-title}
[source,console]
--------------------------------------------------
POST _ml/anomaly_detectors/total-requests/_open
{
"timeout": "35m"
}
--------------------------------------------------
// TEST[skip:setup:server_metrics_job]
When the job opens, you receive the following results:
[source,console-result]
----
{
"opened" : true,
"node" : "node-1"
}
----