1aceff7806
Most job subcommands allow for job ID prefix match as a convenience functionality so users don't have to type the full job ID. But this introduces a hard ACL requirement that the token used to run these commands have the `list-jobs` permission, even if the token has enough permission to execute the basic command action and the user passed an exact job ID. This change softens this requirement by not failing the prefix match in case the request results in a permission denied error and instead using the information passed by the user directly.
128 lines
3.9 KiB
Plaintext
128 lines
3.9 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: 'Commands: job revert'
|
|
description: |
|
|
The revert command is used to revert to a prior version of the job.
|
|
---
|
|
|
|
# Command: job revert
|
|
|
|
The `job revert` command is used to revert a job to a prior version of the
|
|
job. The available versions to revert to can be found using [`job history`]
|
|
command.
|
|
|
|
The revert command will use a Consul token with the following preference:
|
|
first the `-consul-token` flag, then the `$CONSUL_HTTP_TOKEN` environment variable.
|
|
Because the consul token used to [run] the targeted job version was not
|
|
persisted, it must be provided to revert if the targeted job version includes
|
|
Consul Connect enabled services and the Nomad servers were configured to require
|
|
[consul service identity] authentication.
|
|
|
|
The revert command will use a Vault token with the following preference:
|
|
first the `-vault-token` flag, then the `$VAULT_TOKEN` environment variable.
|
|
Because the vault token used to [run] the targeted job version was not
|
|
persisted, it must be provided to revert if the targeted job version includes
|
|
Vault policies and the Nomad servers were configured to require [vault policy]
|
|
authentication.
|
|
|
|
## Usage
|
|
|
|
```plaintext
|
|
nomad job revert [options] <job> <version>
|
|
```
|
|
|
|
The `job revert` command requires two inputs, the job ID and the version of that
|
|
job to revert to.
|
|
|
|
When ACLs are enabled, this command requires a token with the `submit-job`
|
|
capability for the job's namespace. The `list-jobs` capability is required to
|
|
run the command with a job prefix instead of the exact job ID. The `read-job`
|
|
capability is required to monitor the resulting evaluation when `-detach` is
|
|
not used.
|
|
|
|
## General Options
|
|
|
|
@include 'general_options.mdx'
|
|
|
|
## Revert Options
|
|
|
|
- `-detach`: Return immediately instead of monitoring. A new evaluation ID
|
|
will be output, which can be used to examine the evaluation using the
|
|
[eval status] command.
|
|
|
|
- `-consul-token`: If set, the passed Consul token is sent along with the revert
|
|
request to the Nomad servers. This overrides the token found in the
|
|
`$CONSUL_HTTP_TOKEN` environment variable.
|
|
|
|
- `-vault-token`: If set, the passed Vault token is sent along with the revert
|
|
request to the Nomad servers. This overrides the token found in the
|
|
`$VAULT_TOKEN` environment variable.
|
|
|
|
- `-verbose`: Show full information.
|
|
|
|
## Examples
|
|
|
|
Revert to an older version of a job:
|
|
|
|
```shell-session
|
|
$ nomad job history -p example
|
|
Version = 1
|
|
Stable = false
|
|
Submit Date = 07/25/17 21:27:30 UTC
|
|
Diff =
|
|
+/- Job: "example"
|
|
+/- Task Group: "cache"
|
|
+/- Task: "redis"
|
|
+/- Config {
|
|
+/- image: "redis:7" => "redis:4.0"
|
|
port_map[0][db]: "6379"
|
|
}
|
|
|
|
Version = 0
|
|
Stable = false
|
|
Submit Date = 07/25/17 21:27:18 UTC
|
|
|
|
$ nomad job revert example 0
|
|
==> Monitoring evaluation "faff5c30"
|
|
Evaluation triggered by job "example"
|
|
Evaluation within deployment: "e17c8592"
|
|
Allocation "4ed0ca3b" modified: node "e8a2243d", group "cache"
|
|
Evaluation status changed: "pending" -> "complete"
|
|
==> Evaluation "faff5c30" finished with status "complete"
|
|
|
|
$ nomad job history -p example
|
|
Version = 2
|
|
Stable = true
|
|
Submit Date = 07/25/17 21:27:43 UTC
|
|
Diff =
|
|
+/- Job: "example"
|
|
+/- Task Group: "cache"
|
|
+/- Task: "redis"
|
|
+/- Config {
|
|
+/- image: "redis:4.0" => "redis:7"
|
|
port_map[0][db]: "6379"
|
|
}
|
|
|
|
Version = 1
|
|
Stable = false
|
|
Submit Date = 07/25/17 21:27:30 UTC
|
|
Diff =
|
|
+/- Job: "example"
|
|
+/- Task Group: "cache"
|
|
+/- Task: "redis"
|
|
+/- Config {
|
|
+/- image: "redis:7" => "redis:4.0"
|
|
port_map[0][db]: "6379"
|
|
}
|
|
|
|
Version = 0
|
|
Stable = false
|
|
Submit Date = 07/25/17 21:27:18 UTC
|
|
```
|
|
|
|
[`job history`]: /nomad/docs/commands/job/history
|
|
[eval status]: /nomad/docs/commands/eval/status
|
|
[consul service identity]: /nomad/docs/configuration/consul#allow_unauthenticated
|
|
[vault policy]: /nomad/docs/configuration/vault#allow_unauthenticated
|
|
[run]: /nomad/docs/commands/job/run
|