Files
nomad/website/content/docs/commands/volume/status.mdx
Tim Gross 4cdfa19b1e volume status: default type to show both DHV and CSI volumes (#25185)
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
2025-02-24 11:38:07 -05:00

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