open-nomad/website/content/docs/commands/job/revert.mdx
Luiz Aoqui 1aceff7806
cli: remove hard requirement on list-jobs (#16380)
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.
2023-03-09 15:00:04 -05:00

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