Skip to content

Commit

Permalink
docs: add eval delete website doucmentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
jrasell committed Jul 1, 2022
1 parent 935f8fa commit cbd49a7
Show file tree
Hide file tree
Showing 5 changed files with 139 additions and 1 deletion.
7 changes: 7 additions & 0 deletions .changelog/13492.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
```release-note:improvement
cli: Added `delete` command to the eval CLI
```

```release-note:improvement
agent: Added delete support to the eval HTTP API
```
51 changes: 51 additions & 0 deletions website/content/api-docs/evaluations.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,55 @@ $ curl \
}
```

## Delete Evaluations

This endpoint deletes evaluations. In order to utilise this endpoint the
eval broker should be paused via the
[update_scheduler_configuration][operator scheduler update configuration] API
endpoint.

This API endpoint should be used cautiously and only in outage situations where
there is a large backlog of evaluations not being processed. During most normal
and outage scenarios, Nomad's reconciliation and state management will handle
evaluations as needed.

| Method | Path | Produces |
| --------- | ----------------- | ------------------ |
| `DELETE` | `/v1/evaluations` | `application/json` |

The table below shows this endpoint's support for
[blocking queries](/api-docs#blocking-queries) and
[required ACLs](/api-docs#acls).

| Blocking Queries | ACL Required |
| ---------------- | ------------ |
| `NO` | `management` |

### Parameters

- `EvalIDs` `(array<string>: <required>)`- An array of evaluation UUIDs to
delete. This must be a full length UUID and not a prefix.

### Sample Payload

```javascript
{
"EvalIDs": [
"167ec27d-2e36-979a-280a-a6b920d382db",
"6c193955-ac66-42e2-f4c7-f1fc707f1f5e"
]
}
```

### Sample Request

```shell-session
$ curl \
--request DELETE \
--data @payload.json \
https://localhost:4646/v1/evaluations
```

## List Allocations for Evaluation

This endpoint lists the allocations created or modified for the given
Expand Down Expand Up @@ -332,3 +381,5 @@ $ curl \
}
]
```

[update_scheduler_configuration]: api-docs/operator/scheduler#update-scheduler-configuration
75 changes: 75 additions & 0 deletions website/content/docs/commands/eval/delete.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
layout: docs
page_title: 'Commands: eval delete'
description: |
The eval delete command is used to delete evaluations.
---

# Command: eval delete

The `eval delete` command is used to delete evaluations. It should be used
cautiously and only in outage situations where there is a large backlog of
evaluations not being processed. During most normal and outage scenarios,
Nomad's reconciliation and state management will handle evaluations as needed.

The eval broker is expected to be paused prior to running this command and
un-paused after. These actions can be performed by the
[`operator scheduler get-config`][scheduler_get_config]
and [`operator scheduler set-config`][scheduler_set_config] commands respectively.

## Usage

```plaintext
nomad eval delete [options] [args]
```

It takes an optional argument which is the ID of the evaluation to delete. If
the evaluation ID is omitted, this command will use the filter flag to identify
and delete a set of evaluations.

When ACLs are enabled, this command requires a `management` token.

## General Options

@include 'general_options.mdx'

## Delete Options

- `-filter`: Specifies an expression used to filter evaluations by for
deletion.

- `-yes`: Bypass the confirmation prompt if an evaluation ID was not provided.

## Examples

Delete an evaluation using its ID:

```shell-session
$ nomad eval delete 9ecffbba-73be-d909-5d7e-ac2694c10e0c
Successfuly deleted 1 evaluation
```

Delete all evaluations with status `pending` for the `example` job:
```shell-session
$ nomad eval delete -filter='Stauts == "pending" and JobID == "example"'
Do you want to list evals (3) before deletion? [y/N] y
ID Priority Triggered By Job ID Status Placement Failures
cef92121 50 job-register example pending false
1c905ca0 50 job-register example pending false
b9e77692 50 job-register example pending false
Are you sure you want to delete 3 evals? [y/N] y
Successfuly deleted 3 evaluations
```

Delete all evaluations for the `system` and `service` whilst skipping all
prompts:
```shell-session
$ nomad eval delete -filter='Scheduler == "system" or Scheduler == "service"' -yes
Successfuly deleted 23 evaluations
```

[scheduler_get_config]: /docs/commands/operator/scheduler-get-config
[scheduler_set_config]: /docs/commands/operator/scheduler-set-config
3 changes: 2 additions & 1 deletion website/content/docs/commands/eval/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,10 @@ Usage: `nomad eval <subcommand> [options]`

Run `nomad eval <subcommand> -h` for help on that subcommand. The following
subcommands are available:

- [`eval delete`][delete] - Delete evals
- [`eval list`][list] - List all evals
- [`eval status`][status] - Display the status of a eval

[delete]: /docs/commands/eval/delete 'Delete evals'
[list]: /docs/commands/eval/list 'List all evals'
[status]: /docs/commands/eval/status 'Display the status of a eval'
4 changes: 4 additions & 0 deletions website/data/docs-nav-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -372,6 +372,10 @@
"title": "Overview",
"path": "commands/eval"
},
{
"title": "delete",
"path": "commands/eval/delete"
},
{
"title": "list",
"path": "commands/eval/list"
Expand Down

0 comments on commit cbd49a7

Please sign in to comment.