2015-09-18 06:39:31 +00:00
|
|
|
---
|
2020-02-06 23:45:31 +00:00
|
|
|
layout: docs
|
|
|
|
page_title: 'Commands: job run'
|
|
|
|
sidebar_title: run
|
|
|
|
description: |
|
2018-03-22 17:56:06 +00:00
|
|
|
The job run command is used to run a new job.
|
2015-09-18 06:39:31 +00:00
|
|
|
---
|
|
|
|
|
2018-03-22 17:56:06 +00:00
|
|
|
# Command: job run
|
2019-10-22 13:44:00 +00:00
|
|
|
|
2018-03-22 18:09:26 +00:00
|
|
|
**Alias: `nomad run`**
|
2015-09-18 06:39:31 +00:00
|
|
|
|
2018-03-22 17:56:06 +00:00
|
|
|
The `job run` command is used to submit new jobs to Nomad or to update existing
|
2019-10-22 13:44:00 +00:00
|
|
|
jobs. Job files must conform to the [job specification] format.
|
2015-09-18 06:39:31 +00:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
```plaintext
|
2018-03-22 17:56:06 +00:00
|
|
|
nomad job run [options] <job file>
|
2015-09-18 06:39:31 +00:00
|
|
|
```
|
|
|
|
|
2018-03-22 17:56:06 +00:00
|
|
|
The `job run` command requires a single argument, specifying the path to a file
|
2019-10-22 13:44:00 +00:00
|
|
|
containing a valid [job specification]. This file will be read and the job will
|
|
|
|
be submitted to Nomad for scheduling. If the supplied path is "-", the job file
|
|
|
|
is read from STDIN. Otherwise it is read from the file at the supplied path or
|
|
|
|
downloaded and read from URL specified. Nomad downloads the job file using
|
|
|
|
[`go-getter`] and supports `go-getter` syntax.
|
2016-06-21 20:46:42 +00:00
|
|
|
|
2016-03-15 18:28:31 +00:00
|
|
|
By default, on successful job submission the run command will enter an
|
2015-09-18 06:39:31 +00:00
|
|
|
interactive monitor and display log information detailing the scheduling
|
|
|
|
decisions and placement information for the provided job. The monitor will
|
|
|
|
exit after scheduling has finished or failed.
|
|
|
|
|
2015-09-21 19:26:16 +00:00
|
|
|
On successful job submission and scheduling, exit code 0 will be returned. If
|
|
|
|
there are job placement issues encountered (unsatisfiable constraints, resource
|
|
|
|
exhaustion, etc), then the exit code will be 2. Any other errors, including
|
|
|
|
client connection issues or internal errors, are indicated by exit code 1.
|
|
|
|
|
2016-06-07 18:33:55 +00:00
|
|
|
If the job has specified the region, the -region flag and NOMAD_REGION
|
2016-10-11 19:31:40 +00:00
|
|
|
environment variable are overridden and the job's region is used.
|
2016-06-07 18:33:55 +00:00
|
|
|
|
2019-11-18 21:05:06 +00:00
|
|
|
The run command will set the `consul_token` of the job based on the following
|
|
|
|
precedence, going from highest to lowest: the `-consul-token` flag, the
|
|
|
|
`$CONSUL_TOKEN` environment variable and finally the value in the job file.
|
|
|
|
|
2016-08-17 04:32:25 +00:00
|
|
|
The run command will set the `vault_token` of the job based on the following
|
|
|
|
precedence, going from highest to lowest: the `-vault-token` flag, the
|
|
|
|
`$VAULT_TOKEN` environment variable and finally the value in the job file.
|
|
|
|
|
2015-09-18 06:39:31 +00:00
|
|
|
## General Options
|
|
|
|
|
2020-02-06 23:45:31 +00:00
|
|
|
@include 'general_options.mdx'
|
2015-09-18 06:39:31 +00:00
|
|
|
|
|
|
|
## Run Options
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-check-index`: If set, the job is only registered or
|
2016-10-11 19:31:40 +00:00
|
|
|
updated if the passed job modify index matches the server side version.
|
2016-06-17 00:23:49 +00:00
|
|
|
If a check-index value of zero is passed, the job is only registered if it does
|
|
|
|
not yet exist. If a non-zero value is passed, it ensures that the job is being
|
|
|
|
updated from a known state. The use of this flag is most common in conjunction
|
2019-10-22 13:44:00 +00:00
|
|
|
with [`job plan` command].
|
2016-06-08 23:48:02 +00:00
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-detach`: Return immediately instead of monitoring. A new evaluation ID
|
2016-05-26 01:52:14 +00:00
|
|
|
will be output, which can be used to examine the evaluation using the
|
2019-10-22 13:44:00 +00:00
|
|
|
[eval status] command.
|
2015-09-18 06:39:31 +00:00
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-output`: Output the JSON that would be submitted to the HTTP API without
|
2017-09-19 14:47:10 +00:00
|
|
|
submitting the job.
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-policy-override`: Sets the flag to force override any soft mandatory
|
|
|
|
Sentinel policies.
|
2017-09-19 14:47:10 +00:00
|
|
|
|
2019-11-18 21:05:06 +00:00
|
|
|
- `-consul-token`: If set, the passed Consul token is stored in the job before
|
|
|
|
sending to the Nomad servers. This allows passing the Consul token without
|
2020-02-06 23:45:31 +00:00
|
|
|
storing it in the job file. This overrides the token found in the \$CONSUL_TOKEN
|
2019-11-18 21:05:06 +00:00
|
|
|
environment variable and that found in the job.
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-vault-token`: If set, the passed Vault token is stored in the job before
|
2016-08-17 04:32:25 +00:00
|
|
|
sending to the Nomad servers. This allows passing the Vault token without
|
2020-02-06 23:45:31 +00:00
|
|
|
storing it in the job file. This overrides the token found in the \$VAULT_TOKEN
|
2016-08-17 04:32:25 +00:00
|
|
|
environment variable and that found in the job.
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
- `-verbose`: Show full information.
|
2016-01-19 23:01:26 +00:00
|
|
|
|
2015-09-18 06:39:31 +00:00
|
|
|
## Examples
|
|
|
|
|
2015-09-21 19:05:48 +00:00
|
|
|
Schedule the job contained in the file `job1.nomad`, monitoring placement:
|
2015-09-18 06:39:31 +00:00
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
```shell
|
2018-03-22 17:56:06 +00:00
|
|
|
$ nomad job run job1.nomad
|
2016-01-19 23:01:26 +00:00
|
|
|
==> Monitoring evaluation "52dee78a"
|
2017-07-25 16:37:09 +00:00
|
|
|
Evaluation triggered by job "example"
|
|
|
|
Evaluation within deployment: "62eb607c"
|
2016-01-19 23:01:26 +00:00
|
|
|
Allocation "5e0b39f0" created: node "3e84d3d2", group "group1"
|
|
|
|
Allocation "5e0b39f0" status changed: "pending" -> "running"
|
2015-09-21 19:05:48 +00:00
|
|
|
Evaluation status changed: "pending" -> "complete"
|
2016-01-19 23:01:26 +00:00
|
|
|
==> Evaluation "52dee78a" finished with status "complete"
|
2015-09-18 06:39:31 +00:00
|
|
|
```
|
|
|
|
|
2016-06-17 00:23:49 +00:00
|
|
|
<a id="check-index"></a> Update the job using `check-index`:
|
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
```shell
|
2018-03-22 17:56:06 +00:00
|
|
|
$ nomad job run -check-index 5 example.nomad
|
2016-06-08 23:48:02 +00:00
|
|
|
Enforcing job modify index 5: job exists with conflicting job modify index: 6
|
|
|
|
Job not updated
|
|
|
|
|
2018-03-22 17:56:06 +00:00
|
|
|
$ nomad job run -check-index 6 example.nomad
|
2016-06-08 23:48:02 +00:00
|
|
|
==> Monitoring evaluation "5ef16dff"
|
|
|
|
Evaluation triggered by job "example"
|
2017-07-25 16:37:09 +00:00
|
|
|
Evaluation within deployment: "62eb607c"
|
2016-06-08 23:48:02 +00:00
|
|
|
Allocation "6ec7d16f" modified: node "6e1f9bf6", group "cache"
|
|
|
|
Evaluation status changed: "pending" -> "complete"
|
|
|
|
==> Evaluation "5ef16dff" finished with status "complete"
|
|
|
|
```
|
|
|
|
|
2015-09-21 19:05:48 +00:00
|
|
|
Schedule the job contained in `job1.nomad` and return immediately:
|
2015-09-18 06:39:31 +00:00
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
```shell
|
2018-03-22 17:56:06 +00:00
|
|
|
$ nomad job run -detach job1.nomad
|
2016-01-19 23:01:26 +00:00
|
|
|
4947e728
|
2015-09-18 06:39:31 +00:00
|
|
|
```
|
2015-09-21 19:05:48 +00:00
|
|
|
|
2016-05-26 01:52:14 +00:00
|
|
|
Schedule a job which cannot be successfully placed. This results in a scheduling
|
|
|
|
failure and the specifics of the placement are printed:
|
2015-09-21 19:05:48 +00:00
|
|
|
|
2019-10-22 13:44:00 +00:00
|
|
|
```shell
|
2018-03-22 17:56:06 +00:00
|
|
|
$ nomad job run failing.nomad
|
2016-05-26 01:52:14 +00:00
|
|
|
==> Monitoring evaluation "2ae0e6a5"
|
|
|
|
Evaluation triggered by job "example"
|
2015-09-21 19:05:48 +00:00
|
|
|
Evaluation status changed: "pending" -> "complete"
|
2016-05-26 01:52:14 +00:00
|
|
|
==> Evaluation "2ae0e6a5" finished with status "complete" but failed to place all allocations:
|
|
|
|
Task Group "cache" (failed to place 1 allocation):
|
|
|
|
* Class "foo" filtered 1 nodes
|
|
|
|
* Constraint "${attr.kernel.name} = linux" filtered 1 nodes
|
|
|
|
Evaluation "67493a64" waiting for additional capacity to place remainder
|
2015-09-21 19:05:48 +00:00
|
|
|
```
|
2019-10-22 13:44:00 +00:00
|
|
|
|
|
|
|
[`go-getter`]: https://github.com/hashicorp/go-getter
|
2020-02-06 23:45:31 +00:00
|
|
|
[`job plan` command]: /docs/commands/job/plan
|
|
|
|
[eval status]: /docs/commands/eval-status
|
|
|
|
[job specification]: /docs/job-specification
|