mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
The `-type` option for `volume status` is a UX papercut because for many clusters there will be only one sort of volume in use. Update the CLI so that the default behavior is to query CSI and/or DHV. This behavior is subtly different when the user provides an ID or not. If the user doesn't provide an ID, we query both CSI and DHV and show both tables. If the user provides an ID, we query DHV first and then CSI, and show only the appropriate volume. Because DHV IDs are UUIDs, we're sure we won't have collisions between the two. We only show errors if both queries return an error. Fixes: https://hashicorp.atlassian.net/browse/NET-12214
138 lines
4.4 KiB
Plaintext
138 lines
4.4 KiB
Plaintext
---
|
|
layout: docs
|
|
page_title: 'Commands: volume status'
|
|
description: |
|
|
Display information and status of volumes.
|
|
---
|
|
|
|
# Command: volume status
|
|
|
|
The `volume status` command displays status information for [Container
|
|
Storage Interface (CSI)][csi] volumes or [dynamic host volumes][dhv].
|
|
|
|
## Usage
|
|
|
|
```plaintext
|
|
nomad volume status [options] [volume]
|
|
```
|
|
|
|
This command accepts an optional volume ID or prefix as the sole argument. If
|
|
there is an exact match based on the provided volume ID or prefix, then
|
|
information about the specific volume is queried and displayed. Otherwise, a
|
|
list of matching volumes and information will be displayed.
|
|
|
|
If the ID is omitted, the command lists out all of the existing volumes and a
|
|
few of the most useful status fields for each.
|
|
|
|
When ACLs are enabled, this command requires a token with the appropriate
|
|
capability in the volume's namespace: the `csi-read-volume` and
|
|
`csi-list-volumes` capability for CSI volumes, or `host-volume-read` for dynamic
|
|
host volumes.
|
|
|
|
## General Options
|
|
|
|
@include 'general_options.mdx'
|
|
|
|
## Status Options
|
|
|
|
- `-type`: Display only volumes of a particular type (one of `"host"` or
|
|
`"csi"`). If omitted, the command will query for both dynamic host volumes and
|
|
CSI volumes.
|
|
|
|
- `-plugin_id`: Display only volumes managed by a particular [CSI
|
|
plugin][csi_plugin].
|
|
|
|
- `-short`: Display short output. Used only when a single volume is
|
|
being queried. Drops verbose volume allocation data from the
|
|
output.
|
|
|
|
- `-verbose`: Show full information. Allocation create and modify times are
|
|
shown in `yyyy/mm/dd hh:mm:ss` format. When listing volumes, this flag will
|
|
cause Nomad to query the storage provider for volumes that are known to the
|
|
storage provider but not yet registered with Nomad. This may include volumes
|
|
that have been created by the [`volume create`] command that are not yet
|
|
schedulable.
|
|
|
|
## Examples
|
|
|
|
List of all volumes:
|
|
|
|
```shell-session
|
|
$ nomad volume status
|
|
Dynamic Host Volumes
|
|
ID Name Namespace Plugin ID Node ID Node Pool State
|
|
070dc8ca internal-plugin default mkdir c3c27514 default ready
|
|
7ce38017 external-plugin default example-plugin-mkfs c3c27514 default ready
|
|
|
|
Container Storage Interface
|
|
ID Name Namespace Plugin ID Schedulable Access Mode
|
|
ebs_prod_db1 database default ebs-prod true single-node-writer
|
|
```
|
|
|
|
List of all CSI volumes, with external provider info:
|
|
|
|
```shell-session
|
|
$ nomad volume -type csi status -verbose
|
|
ID Name Namespace Plugin ID Schedulable Access Mode
|
|
ebs_prod_db1 database default ebs-prod true single-node-writer
|
|
|
|
External ID Condition Nodes
|
|
vol-abcedf OK i-abc123f2,i-14a12df13
|
|
vol-cd46df Abnormal (provider message here) i-14a12df13
|
|
```
|
|
|
|
Short view of a specific volume:
|
|
|
|
```shell-session
|
|
$ nomad volume status ebs_prod_db1
|
|
ID = ebs_prod_db1
|
|
Name = database
|
|
Type = csi
|
|
External ID = vol-23452345
|
|
Plugin ID = ebs-prod
|
|
Provider = aws.ebs
|
|
Version = 1.0.1
|
|
Capacity = 100 GiB
|
|
Schedulable = true
|
|
Controllers Healthy = 1
|
|
Controllers Expected = 1
|
|
Nodes Healthy = 1
|
|
Nodes Expected = 1
|
|
Access Mode = single-node-writer
|
|
Attachment Mode = file-system
|
|
Mount Options = fs_type: ext4 flags: ro
|
|
Namespace = default
|
|
```
|
|
|
|
Full status information of a volume:
|
|
|
|
```shell-session
|
|
$ nomad volume status -verbose ebs_prod_db1
|
|
ID = ebs_prod_db1
|
|
Name = database
|
|
Type = csi
|
|
External ID = vol-23452345
|
|
Plugin ID = ebs-prod
|
|
Provider = aws.ebs
|
|
Version = 1.0.1
|
|
Capacity = 100 GiB
|
|
Schedulable = true
|
|
Controllers Healthy = 1
|
|
Controllers Expected = 1
|
|
Nodes Healthy = 1
|
|
Nodes Expected = 1
|
|
Access Mode = single-node-writer
|
|
Attachment Mode = file-system
|
|
Mount Options = fs_type: ext4 flags: ro
|
|
Namespace = default
|
|
|
|
Allocations
|
|
ID Node ID Access Mode Task Group Version Desired [...]
|
|
b00fa322 28be17d5 write csi 0 run
|
|
```
|
|
|
|
[csi]: https://github.com/container-storage-interface/spec
|
|
[csi_plugin]: /nomad/docs/job-specification/csi_plugin
|
|
[`volume create`]: /nomad/docs/commands/volume/create
|
|
[dhv]: /nomad/docs/other-specifications/volume/host
|