Exploring the Diamanti CLI
This guide provides a comprehensive reference to the Diamanti command line interface (CLI). The Diamanti CLI offers a set of commands that makes it easy to manage Diamanti D-Series clusters, nodes (appliances), storage volumes, networks, and more.
Note: Users issue standard Kubernetes commands to manage pods, containers, and other Kubernetes resources in the environment.
Overview
The dctl
utility allows users to configure, manage, and monitor objects in the Diamanti cluster.
Note: Users need to download the Diamanti tools to run the Diamanti CLI on a local machine.
Understanding Roles
The Diamanti software uses role-based access control (RBAC) to regulate access to resources within the environment. Users therefore need to be assigned specific roles to run dctl
commands.
Each command described in this chapter includes the role needed to run the command (if applicable). In addition, users need to be assigned the following roles to run Kubernetes commands:
container-view/namespace
role to run the kubectl get and kubectl describe commandscontainer-edit/namespace
role to run all kubectl commands
Note that Diamanti roles include a qualifier, either view or edit. For example, the roles related to node commands are node-view
and node-edit
. The view qualifier applies to read-only operations while the edit qualifier indicates a read-write operation (such as creating or removing an object). Roles with an edit qualifier include view privileges for an object.
For more information about RBAC, see the dctl user role
command.
Synopsis
Configure and control the Diamanti cluster.
dctl [global options] <command> [command options] [arguments...]
Note: All commands, except the dctl cluster create
and dctl cluster info
commands, require users to be logged into the cluster (using the dctl login
command).
Commands
port port commands
help, h Shows a list of commands or help for one command
CLUSTER-COMMANDS:
cluster Cluster commands
config Config commands
login Provide credentials for authentication
logout Logout from the current user session.
node Node commands
passwd Change password for the logged in user
MULTI-CLUSTER COMMANDS:
mcm Multi-cluster commands
NETWORK-COMMANDS:
endpoint Endpoint commands
network Network commands
OTHER-COMMANDS:
event Event commands
diagnosticbundle DiagnosticBundle commands
feature Feature commands
zone Zone commands
QOS-COMMANDS:
perf-tier Performance tier commands
RBAC-COMMANDS:
namespace Manage namespace for the current user context; see also 'kubectl config current-context'
user User commands
whoami Display user for the current session
STORAGE-COMMANDS:
drive Drive commands
snapshot Snapshot commands
snapshot-group Snapshot group commands
volume Volume commands
volume-group Volume group commands
Global Options
--debug Print additional information [$DEBUG]
--output simple, -o simple Output response in given format (simple or `json`)
(default: "simple | wide")
--server value, -s value Ex: 67.238.64.123 (default: "127.0.0.1") [$VIRTUAL_IP]
--ca-cert value Path to PEM formatted Certificate Authority to use for
validation of Server's identity [$CA_CERT]
--config value, -c value json or yaml config file
--insecure, -i perform operations in insecure mode (ignore ca.crt)
--dctlconfig value dctl config path (default: "/home/rktripathi") [$DCTL_CONFIG]
--timeout value timeout for any dctl operation in seconds
(default: 30) [$DCTL_TIMEOUT]
--help, -h show help
--version, -v print the version
dctl cluster
Manage clusters, including creating and destroying clusters. Use also to add and remove nodes in a cluster, as well as display the status of a cluster, among other operations.
Syntax
dctl [global options] cluster <command> [command options] [arguments...]
Commands
create Create a cluster
destroy Destroy the cluster
status Status of the cluster
configure Configure the cluster
license License check operations
export Export cluster configuration
(Only JSON output format supported)
info Report minimal information about the
cluster for unauthenticated users
etcd-add Add node to the etcd cluster
etcd-remove Remove node from the etcd cluster
add Add node(s) to the cluster
remove Remove node(s) from the cluster
update Update node(s) in the cluster
Options
--help, -h Show help
dctl cluster create
Create a cluster.
Syntax
dctl cluster create [command options] [arguments...]
Options
--masters value, -m value Comma separated list of master/etcd
nodes in the cluster
--virtual-ip value, --vip value IP address for managing the cluster
--poddns-domain value, --poddns value Domain name for the kubedns service
for all containers deployed in the
cluster (default: "cluster.local")
--storage-vlan value, --svlan value VLAN for networked storage
(0: Disable, default) (default: 0)
--admin-password value, -p value Password for the 'admin' user
--ca-cert value Certificate Authority for the Cluster
--tls-cert value TLS Certificate for the Cluster
--tls-key value TLS Private Key for the Cluster
--multizone value Enable/Disable multizone support
--vip-mgmt value VIP Management (external/local)
(default: "local")
--skip-min-node Skip minimum nodes and quorom size
checks
Example
dctl -s node-01 cluster create mycluster node-01,node-02,node-03
--vip 192.168.30.10 --poddns mycluster.diamanti.com --storage-vlan 2
dctl cluster add
Add node(s) to the cluster.
Syntax
dctl [global options] cluster add [arguments...]
Example
dctl cluster add node-04
For more information, see Add and remove Node for AWS and Add and Remove node for GCP.
dctl cluster update certificate
Update user-supplied certificates in a cluster.
Syntax
dctl [global options] cluster update certificate [command options]
[arguments...]
Options
--ca-cert value Absolute path of ca certificate
--server-cert value Absolute path of server certificate
--server-key value Absolute path of server certificate key
Example
$ dctl cluster update certificate --ca-cert sample_certs1/ca.crt
--server-key sample_certs1/server.key --server-cert sample_certs1/server.crt
dctl cluster update software
Update the Diamanti software in the cluster.
Syntax
dctl [global options] cluster update software [command options] [arguments...]
Options
--image value, -i value (Required) The absolute path of the
RPM image file on the master node
--node-list value, -l value List of nodes to update
--force, -f Force rpm update
--no-reboot, --nr Skip reboot after upgrade
--abort-on-failure, -t Abort on failure
--no-drain, --nd Skip draining pods during upgrade
--parallel-count value, -p value Number of nodes to activate image
in parallel (default: 1)
Example
dctl cluster update software --image
"/home/diamanti/diamanti-cx-2.0.1-1.x86_64.rpm"
dctl cluster update status
Display the status of a Diamanti software update.
Syntax
dctl [global options] cluster update status [arguments...]
Example
dctl cluster update status
dctl cluster remove
Remove node(s) from the cluster.
Syntax
dctl [global options] cluster remove [command options] [arguments...]
Options
--no-reboot, --nr Skip reboot after removal
--assume-yes, -y Assume yes for prompt
Example
dctl cluster remove node-04
For more information, see Add and Remove node for GCP.
dctl cluster etcd-add
Add node to the etcd cluster.
Syntax
dctl [global options] cluster etcd-add [arguments...]
Example
dctl cluster etcd-add node-04
dctl cluster etcd-remove
Remove node from the etcd cluster.
Syntax
dctl [global options] cluster etcd-remove [command options] [arguments...]
Options
--no-reboot, --nr Skip reboot after removal
--assume-yes, -y Assume yes for prompt
--skip-min-node Skip minimum nodes and quorom size checks
Examples
dctl cluster etcd-remove node-04
dctl cluster configure
Configure the cluster.
Syntax
dctl [global options] cluster configure [command options] [arguments...]
Options
--storage-vlan value, (Required) VLAN for networked storage
--svlan value (0: Disable, default) (default: 0)
--master value Master for the cluster
--assume-yes, -y Assume yes for prompt
Examples
dctl cluster configure --svlan 22 --master <new-master>
dctl cluster export
Export cluster configuration (Only JSON output format supported)
Syntax
dctl [global options] cluster export [arguments...]
Example
dctl -o json cluster export
dctl cluster destroy
Destroy the cluster. The command prompts for confirmation. Use with care; this action cannot be undone.
Syntax
dctl [global options] cluster destroy [command options] [arguments...]
Options
--delete-volumes, -d Delete volumes in the cluster
--no-reboot, --nr Skip reboot nodes in the cluster
--assume-yes, -y Assume yes for prompt
Example
dctl cluster destroy 0b58792c-cb99-11e5-814f-080027767789
For more information, see Cluster deletion for GCP and Cluster deletion for AWS.
dctl cluster status
Display the status of the cluster.
Syntax
dctl [global options] cluster status [arguments...]
Example
dctl cluster status
Output
Cluster status
Name The name of the cluster.
UUID The universally unique identifier of the cluster.
State The state of the cluster.
Version The Diamanti software version.
Etcd State The state of the quorum, from among the following:
- Healthy — The number of healthy quorum members is
greater than the quorum size and the number of
members in the etcd cluster is odd.
- Degraded — The number of healthy quorum members is
greater than the quorum size and the number of
members in the etcd cluster is even.
- NoFaultTolerance — The number of healthy quorum
members is equal to the quorum size.
Virtual IP The cluster virtual IP address.
Pod DNS Domain The DNS server for the pod.
Nodes status
Name The DNS (short) name of the node.
Node-Status The status of the node.
K8S-Status The Kubernetes status of the node.
Role The Kubernetes role of the node.
Millicores The used and available physical CPU cores (times 1000).
Memory The used and available memory.
Storage The used and available storage.
SCTRLS The number of used and available storage controllers.
(Total, Remote)
dctl cluster info
Report minimal information about the cluster for unauthenticated users.
Syntax
dctl [global options] cluster info [command options] [arguments...]
Options
--quiet, -q Quiet mode
--save, -s Store cluster configuration
--insecure, --insecure-skip-tls-verify, -i Skip server certificate verification
when running dctl commands
--insecure-k8s Skip server certificate verification
when running kubectl commands
--proxy, -p Configure Proxy mode for K8S
--assume-yes, -y Assume yes for prompt
--ca-cert Display CA Certificate used by dctl
--k8s-ca-cert Display CA Certificate used by kubectl
--all-servers Display List of All Cluster Endpoints
Note: The command only works using the VIP or FQDN. When specifying the FQDN, DNS needs to be enabled in your environment. Note also that users can save the cluster and certification information for a single Diamanti cluster, only at any given time.
dctl config
Generate cluster configuration files.
Syntax
dctl [global options] config <command> [command options] [arguments...]
Commands
get-cluster Display cluster configuration
set-cluster Set cluster configuration
Options
--help, -h Show help
dctl config set-cluster
Manually generate a configuration file to access the Diamanti cluster. This command is equivalent to the dctl -s [node ip] cluster info --save
command.
Syntax
dctl [global options] config set-cluster [command options] [arguments...]
Options
--api-version <version> (Required) The API version
for dctl cluster
configuration entry. The
default is v1.
--virtual-ip <cluster-virtual-ip>, (Required) The IP address
--vip <cluster-virtual-ip> for managing the cluster.
--certificate-authority <certificate-file>, (Required) The path to the
--ca <certificate-file> certificate authority file
whose contents are to be
embedded in the
configuration file.
--k8s-certificate-authority <certificate-file>, The path to certificate
--k8s-ca <certificate-file> authority file whose
contents are to be
embedded in the
.kube/config file.
--proxy-k8s, --proxy The proxy mode for the
Kubernetes API server.
--insecure-k8s Enable Insecure mode for
K8S APIServer Operations
(ignore ca.crt if set)
--insecure Enable Insecure Mode for
DCTL Operations (ignore
ca.crt if set)
--secure Enable Secure Mode for
DCTL Operations
--quiet, -q Quiet mode
--dns-name value, -d value Fully Qualified Domain
Name for the Cluster
APIServer
--server value, -s value Server Endpoint to use
for dctl operations
Example
dctl config set-cluster mycluster --api-version v1 --virtual-ip 192.168.30.10
--ca /etc/diamanti/certs/ca.crt
dctl drive
Manage drives, including listing and formatting drives.
Syntax
dctl [global options] drive <command> [command options] [arguments...]
Commands
get Get drive information
list List drives on cluster-wide (default) or a
specific node
format Format drives on a specific node
rotate-key Rotate Cluster-Wide drive encryption master
key
set-transit-key Set transit key against all Self-Encrypting
drives for a node
remove-transit-key Remove transit key against all
Self-Encrypting drives for a node
Options
--help, -h Show help
dctl drive get
Display information about a specific drive.
Syntax
dctl [global options] drive get [command options] [arguments...]
Options
--node <node-name>, -n <node-name> (Required) The name of the node.
--slot <slot-number>, -s <slot-number> The slot number for the drive.
Example
dctl drive get -n node-01 -s 0
dctl drive list
List drives on cluster-wide (default) or a specific node.
Syntax
dctl [global options] drive list [command options] [arguments...]
Options
--node <node-name>, -n <node-name> The name of the node.
Example
dctl drive list -n node-01
Output
Node The node associated with the drive.
Slot The slot in which the drive resides.
S/N The serial number of the drive.
Driveset The drive set with which the drive is associated.
Raw Capacity The raw capacity of the drive.
Usable Capacity The usable capacity of the drive.
Allocated The current allocation of the drive.
Firmware The firmware of the drive.
State The state of the drive, from among the following:
- Up — The drive is up.
- Down — The drive is down because of some failure.
- Missing — The drive is missing from the node (the
drive was part of the node, but was removed).
- Uninitialized — The drive is uninitialized. This
can happen when a new drive is inserted in the
server but has not been added to Diamanti storage.
- Foreign — A drive from another node is discovered
in the node.
- Formatting — The drive is being formatted.
Self-Encrypted If the drive is self encrypted or not.
dctl endpoint
Manage endpoints, including listing and deleting endpoints, as well as displaying information about specific endpoints.
Syntax
dctl [global options] endpoint <command> [command options] [arguments...]
Commands
create Create a persistent endpoint.
list Display a summary of all endpoints.
get Display information about a specific endpoint.
delete Delete an endpoint
Options
--help, -h Show help.
dctl endpoint create
Create a persistent endpoint.
Syntax
dctl [global options] endpoint create <endpoint-name> [command options]
[arguments...]
Options
--ip <ip-address>, -i <ip-address> The IP address.
--network <network-name>, -n <network-name> The name of the network
associated with the endpoint.
--labels <label>, -l <label> The labels associated with
the node.
--namespace <namespace>, --ns <namespace> The namespace for the
endpoint. The default value
is “default”.
Example
dctl endpoint create ep1 -n blue -ns default
dctl endpoint list
Display a summary of all endpoints.
Syntax
dctl [global options] endpoint list [arguments...]
Example
dctl endpoint list
Output
Name The name of the endpoint.
Namespace The namespace associated with the endpoint.
Container The container associated with the endpoint.
Network The network associated with the endpoint.
IP The IP address of the endpoint.
MAC The MAC address of the endpoint.
Gateway The gateway associated with the endpoint.
VLAN The VLAN associated with the endpoint.
VF The virtual function associate with the endpoint.
PORT The port number.
Node The node associated with the endpoint.
Labels The labels associated with the endpoint.
dctl endpoint delete
Delete an endpoint.
Syntax
dctl [global options] endpoint delete <endpoint-name> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
--force, -f Force delete the endpoint.
--namespace <name>, The namespace for the endpoint. The default
--ns <name> value is “default”.
Example
dctl endpoint delete endpoint-01
dctl event
Display events, and configure and show event policies.
Syntax
dctl [global options] event <command> [command options] [arguments...]
Commands
list Display events. By default, the 50 most recent events
are displayed.
status Display event policies.
configure Configure policies for events, such as the event retention
period (in days).
Options
--help, -h Show help
dctl event list
Display events, and configure and show event policies.
Syntax
dctl [global options] event list [command options] [arguments...]
Options
--namespace <namespace>, Display events related to the specified
--ns <namespace> namespace.
--node <node-name>, -n <node-name> Display events related to the specified
node (or "all" nodes).
--pod <pod-name>, -p <pod-name> Display events related to the specified
pod (or "all" pods).
--volume <volume-name>, Display events related to the specified
-v <volume-name> volume (or "all" volumes).
--source <source-name>, Display events related to the specified
-s <source-name> source, for example "scheduler".
--severity <value>, --sev <value> Filter by severity, for example "ERROR".
--limit <number-of-events>, Limit the number of events displayed,
-l <number-of-events> up to 1000. The default value is 50.
--offset <offset-value>, Set the offset to start displaying
-o <offset-value> events from the number specified by
offset-value. For example, an
offset-value of 500 starts displaying
the 500th most recent event. The
default value is 0.
Example
dctl event list
Output
First-seen When the event was first seen.
Last-seen When the event was last seen.
Count The number of times the event was seen.
Severity The severity of the event.
Namespace The namespace of the event.
Name The name of entity responsible for the event.
UUID The universally unique identifier of the entity.
Kind The kind of event.
Host The host on which the event occurred.
Component The component related to the event.
Reason The reason for the event.
Message The event message.
dctl event status
Display event policies.
Syntax
dctl [global options] event status [arguments...]
Example
dctl event status
Output
Retention Days The number of days that events are retained.
SNMP Enabled Indicates whether SNMP is enabled.
dctl event configure
Configure policies for events, such as the event retention period (in days).
Syntax
dctl [global options] event configure [command options] [arguments...]
Options
--retention-days <n> The number of days to retain events. By
default, events are retained for 30 days.
--snmp-enable=<true|false> Enable SNMP traps (true or false). When
enabled, the Diamanti appliance
generates SNMPv2 traps containing all
information from event records. In
addition, the appliance supplies a
MIB file to install on the receiver to
interpret the traps (available at /usr/
share/diamanti/mibs/DW-EVENT-MIB.txt).
--snmp-community “<string>” The SNMP community string (in double
quotes). The default is "public".
--snmp-receiver=<ip-address-1 The IP addresses of the SNMP receivers
[,ip-address-2,ip-address-3]> (up to three, separated by commas). This
is required when SNMP traps are enabled.
Example
dctl event configure --retention-days 60 --snmp-enable=true
--snmp-receiver=172.16.6.105
dctl event configure --retention-days 30 --snmp-enable=true
--snmp-receiver=172.16.6.105,172.16.6.106,172.16.6.107
dctl login
Log in to a cluster (from any node in the cluster) to perform authenticated operations.
There are two ways to log in to a cluster:
Insecure mode — Use when user-supplied certificates were used to create the cluster and the certificate authority (ca.crt) is not available for the user. This allows the user to configure
dctl
to ignore server certificate validation. This is the default login mode.Kubernetes proxy mode — In certain environments (such as with an SSL passthrough load-balancer),
kubectl
commands are not properly relayed to the API server causingkubectl
commands to fail with an error message. In these cases, use the proxy option, which relayskubectl
commands through the Diamanti server.
Note: Before logging in to the cluster for the first time, users need to save the cluster configuration using the dctl cluster info --save
command. The command only works using the VIP or FQDN. When specifying the FQDN, DNS needs to be enabled in your environment. (See the Examples section.)
Syntax
dctl login [command options] [arguments...]
Options
--username <username>, -u <username> The user name. The default
is "admin".
--password <password>, -p password> The password associated with
the user name.
--namespace <namespace>, -n <namespace> The namespace for the kubectl
context.
--bc, -b Login backward compatibility
--quiet, -q Run the command in quiet mode.
--proxy, --proxy-k8s Log in to the cluster using
Kubernetes proxy mode. The
default is false.
--insecure Enable insecure mode for
appliance API server requests.
The default is false.
--insecure-k8s Enable insecure mode for
Kubernetes API server requests.
The default is false.
--expiry-time value Authentication token max expiry
time, sec (default: 900)
Example
dctl login --user myuser --password myPassw0rd!
dctl logout
Log out from the current user session.
Syntax
dctl logout [arguments...]
Example
dctl logout
dctl namespace
Manage the namespace for the current user context.
Note: See also kubectl config current-context
.
Syntax
dctl [global options] namespace <command> [command options] [arguments...]
Commands
list List the namespaces for the current user context.
set Set the namespace when a user has access to multiple
namespaces on the Kubernetes cluster.
get Get the namespace for the current user context.
Options
--help, -h Show help
dctl namespace list
List the namespaces for the current user context.
Syntax
dctl [global options] namespace list [arguments...]
Example
dctl namespace list
Output
Name The name of the namespace available to the current user.
dctl namespace set
Set the namespace when a user has access to multiple namespaces on the Kubernetes cluster.
Syntax
dctl [global options] namespace set <namespace>
Example
dctl namespace set mynamespace
dctl namespace get
Get the namespace for the current user context.
Syntax
dctl [global options] namespace get [arguments...]
Example
dctl namespace get
dctl network
It is used as a clusterwide private network used for pod to pod communication..
Syntax
dctl [global options] network <command> [command options] [arguments...]
Commands
overlay Overlay Network commands
Options
--help, -h Show help
dctl network get
Display information about a specific network.
Syntax
dctl [global options] network get <network-name> [arguments...]
Example
dctl network get blue
Output
Name The name of the network.
Type The type of network.
Start Address The starting network IP address on the pool.
Total The total number of IP addresses in the network.
Used The number of IP addresses used in the network.
Gateway The IP address of the network gateway.
VLAN The VLAN identifier for the network.
dctl network list
Display a summary of all networks.
Syntax
dctl [global options] network list [command options] [arguments...]
Options
--type value, -t value Type of network: storage, host, container,
ipvlan, macvlan. Type is optional:
Default is container
Example
dctl network list
Output
Name The name of the network.
Type The type of network.
Start Address The starting network IP address on the pool.
Total The total number of IP addresses in the network.
Used The number of IP addresses used in the network.
Gateway The IP address of the network gateway.
VLAN The VLAN identifier for the network.
dctl network update
Update a network.
Syntax
dctl [global options] network update <network-name> [command options]
[arguments...]
Options
--set-default Set the default network.
--clear-default Clear the default network.
--host-network Set as host network
--network-group <group-name>, -n <group-name> The network group name.
--selectors <selectors>, The node selector for
--sel <selectors> host endpoints.
--perf-tier <perf-tier>, The performance tier for
-p <perf-tier> host endpoints.
--end <end-address> Update the end address to
extend the range.
Example
dctl network update blue --set-default
dctl network delete
Delete a network.
Syntax
dctl [global options] network delete <network-name> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl network delete blue
dctl network overlay
Manage private networks, including creating, listing, and deleting networks, as well as displaying information about specific private networks.
Syntax
dctl [global options] network overlay <command> [command options] [arguments...]
Commands
create Create a private network.
get Display information about a specific private network.
list Display a summary of all private networks.
list-namespaces Display a summary of the namespaces.
update Update a private network.
delete Delete a private network.
Options
--help, -h Show help
dctl network overlay create
Create the overlay network.
Syntax
dctl [global options] network overlay create <overlay-network-name>
[command options] [arguments...]
Options
--subnet <subnet/class>, -s <subnet/class> (Required) The subnet for
the network (in CIDR format).
--overlay-nw=<network-name> The network on which to overlay
the private network.
--overlay-nw-group=<group-name>, The network group name.
-n=<group-name>
--isolate-ns=<true|false> (Optional) Specifies whether to
isolate the private network.
The default is true.
--set-default Set as default network
Example
dctl network overlay create red -s 172.30.0.0/16 <--overlay-nw=blue
| --overlay-nw-group=blueGP> [--isolate-ns=true] [--set-default]
Note: The network specified for the overlay-nw parameter should already be created and have host-network enabled for it.
dctl network overlay get
Display information about a specific overlay network.
Syntax
dctl [global options] network overlay get <network-name> [arguments...]
Example
dctl network overlay get pvt-network-1
Output
Name The name of the network.
Type The type of network, either public or private.
Subnet The network subnet.
Overlay-NW The name of the overlay network.
Isolate-NS Indicates whether the namespace is isolated.
Network-Group The group associated with the network.
dctl network overlay list
Display a summary of all overlay networks.
Syntax
dctl [global options] network overlay list [arguments...]
Example
dctl network overlay list
Output
Name The name of the network.
Type The type of network, either public or private.
Subnet The network subnet.
Overlay-NW The name of the overlay network.
Isolate-NS Indicates whether the namespace is isolated.
Network-Group The group associated with the network.
dctl network overlay list-namespaces
List network namespaces for an overlay network.
Syntax
dctl [global options] network overlay list-namespaces <network-name>
[arguments...]
Example
dctl network list-namespaces pvt-network-1
Output
Name The name of the namespace.
dctl network overlay update
Update a private network.
Syntax
dctl [global options] network overlay update <overlay-network-name>
[command options] [arguments...]
Options
--set-default Set the default private network.
--clear-default Clear the default private network.
--join-namespaces value Join namespaces for an overlay
network. [dctl network overlay
update red --join-namespaces
ns1,ns2,ns3]
--isolate-namespaces value Isolate namespaces for an overlay
network. [dctl network overlay
update red --isolate-namespaces
ns1]
Example
dctl network overlay update red --set-default
dctl network overlay delete
Delete a overlay network.
Syntax
dctl [global options] network overlay delete <network-name> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl network overlay delete red
dctl node
Manage nodes, including discovering and listing nodes.
Syntax
dctl [global options] node <command> [command options] [arguments...]
Commands
license Node license commands
inventory Display an inventory of discovered Diamanti nodes.
list Display a summary of all nodes.
get Display information about a specific node.
health Display the health status of the node.
network Display the status of the management network and the
network ports.
label Manage labels associated with a node.
rediscover Rediscover a node to update the drive inventory.
Options
--help, -h Show help
dctl node license
Node license commands.
Syntax
dctl [global options] node license [command options] [arguments...]
Commands
status Get licensing status of a node/nodes in the cluster
list Get license list of a node/nodes in the cluster
add Add license to the node in the cluster
activate Activate the provisioned licenses of the node
clean Clean expired/inactive licenses
Options
--help, -h Show help
dctl node license status
Get licensing status of a node/nodes in the cluster.
Syntax
dctl [global options] node license status [arguments...]
Example
dctl node license status [[<node-name>][,<node-name>]...]
dctl node license list
Get license list of a node/nodes in the cluster.
Syntax
dctl [global options] node license list [arguments...]
Example
dctl node license list [[<node-name>][,<node-name>]...]
dctl node license add
Add license to the node in the cluster.
Syntax
dctl [global options] node license add [arguments...]
Example
dctl node license add <node-name> <full-path-to-license-file>
dctl node license activate
Activate the provisioned licenses of the node.
Syntax
dctl [global options] node license activate [arguments...]
Example
dctl node license activate [[<node-name>][,<node-name>]...]
dctl node license clean
Clean expired/inactive licenses.
Syntax
dctl [global options] node license clean [command options] [arguments...]
Options
--expired Expired license flag
--inactive Inactive license flag
Example
dctl node license clean [[<node-name>][,<node-name>]...] [ [--inactive] | [--expired] ]
dctl node inventory
Display an inventory of discovered Diamanti nodes.
Syntax
dctl [global options] node inventory [arguments...]
Example
dctl node inventory
dctl node list
Display a summary of all nodes.
Syntax
dctl [global options] node list [arguments...]
Example
dctl node list
Output
Name The DNS (short) name of the node.
Node-Status The status of the node.
K8S-Status The Kubernetes status of the node.
Role The Kubernetes role of the node.
Millicores The used and available physical CPU cores
(times 1000).
Memory The used and available memory.
Storage The used and available storage.
SCTRLS The number of used and available storage controllers.
(Total, Remote)
dctl node get
Display information about a specific node.
Syntax
dctl [global options] node get <node-name> [arguments...]
Example
dctl node get node-01
dctl node health
Display the health status of the node.
Syntax
dctl [global options] node health <command> <node-name> [command options]
[arguments...]
Commands
status Get health of a node in the cluster.
Options
--help, -h Show help
Example
dctl node health status node-01
Ouput
General
Hostname The name of the node.
UUID The universally unique identifier of the node.
Node Health The health of the node.
K8s Health The Kubernetes health of the node.
Schedulable Whether the node is schedulable or not.
Node State The state of the node.
Kubernetes Conditions
MemoryPressure True if pressure exists on the node memory, that
is if the node memory is low; otherwise false.
DiskPressure True if pressure exists on the disk size, that is
if the disk capacity is low; otherwise false.
PIDPressure Default False.
Ready Whether the node is ready, from among the
following:
- true if the node is healthy and ready to
accept pods
- false if the node is not healthy and is not
accepting pods
- unknown if the node controller has not heard
from the node in the last 40 seconds
Power Supplies
PS The power supply.
Status The status of the power supply.
Fan The status of the power supply fan.
System Fans
Fan The system fan.
Status The status of the system fan.
dctl node network
Display the status of the management network and the network ports.
Syntax
dctl [global options] node network <command> <node-name> [command options]
[arguments...]
Options
--help, -h Show help
Example
dctl node network status node-01
Ouput
General
Hostname The name of the node.
UUID The universally unique identifier of the node.
Management Network
Name The name of the host or interface.
IP Address The IP address of the host or interface.
MAC Address The MAC address of the host or interface.
Gateway The gateway of the host or interface.
Status The status of the host or interface.
DNS The domain name servers associated with the host
or interface.
Network Ports
Port The network port.
Status The status of the network port.
dctl node label
Manage labels associated with a node.
Syntax
dctl [global options] node label <node-name> <label=value> [command options]
[arguments...]
Options
--overwrite, -o Overwrite a label.
Examples
// Add a label to a node
dctl node label node-01 node=web-tier
// Overwrite a label
dctl node label node-01 node=db-tier -o
// Remove a label from a node
$ dctl node label node-01 node-
dctl node rediscover
Rediscover a node to update the drive inventory.
Syntax
dctl [global options] node rediscover <node-name> [arguments...]
Example
dctl node rediscover node-01
dctl passwd
Change the password of the logged in user.
Syntax
dctl [global options] passwd [command options] [arguments...]
Options
--current-password <password> The current password.
--password <password>, -p <password> The new password.
Example
dctl passwd --current-password myPassw0rd! --password newPassw0rd!
dctl perf-tier
Manage performance tiers, including creating, listing, and deleting templates, as well as dis- playing information about specific performance tiers.
Syntax
dctl [global options] perf-tier <command> [command options] [arguments...]
Commands
create Create a performance tier.
delete Stop and delete the specified performance tier.
get Display information about a specific performance tier.
list Display a summary of all performance tiers.
Options
--help, -h Show help.
dctl perf-tier create
Create a performance tier.
Syntax
dctl [global options] perf-tier create <perf-tier> [command options]
[arguments...]
OPTIONS:
--storage-iops <storage-iops>, The input/output operations per second
-i <storage-iops> associated with the performance tier.
--max-storage-iops <storage-iops>, The maximum storage IOPS
-I <storage-iops> (in kilobytes).
--network-bw <network-bandwidth>, The network bandwidth associated with
-b <network-bandwidth> the performance tier.
--max-network-bw value, The maximum network bandwidth
-B <network-bandwidth> (in gigabytes).
--labels <labels>, -l <labels> The labels associated with the
performance tier, using the following
format: key=value.
Example
dctl perf-tier create perf-tier1 -i 1k -b 1G -l type=backend
dctl perf-tier delete
Stop and delete the specified performance tier.
Syntax
dctl [global options] perf-tier delete <perf-tier> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl perf-tier delete perf-tier1
dctl perf-tier get
Display information about a specific performance tier.
Syntax
dctl [global options] perf-tier get <perf-tier> [arguments...]
Example
dctl perf-tier get perf-tier1
Output
Name The name of the performance tier.
Storage IOPS The input/output operations per second associated
with the performance tier.
Network Bandwidth The network bandwidth associated with the
performance tier.
Max Storage IOPS The maximum storage IOPS.
Max Network Bandwidth The maximum network bandwidth.
Labels The labels associated with the performance tier.
dctl perf-tier list
Display a summary of all performance tiers.
Syntax
dctl [global options] perf-tier list [command options] [arguments...]
Options
--labels <labels>, -l <labels> The labels associated with the
performance tier, using the following
format: key=value.
Example
dctl perf-tier list
Output
Name The name of the performance tier.
Storage IOPS The input/output operations per second associated
with the performance tier.
Network Bandwidth The network bandwidth associated with the
performance tier.
Max Storage IOPS The maximum storage IOPS.
Max Network Bandwidth The maximum network bandwidth.
Labels The labels associated with the performance tier.
dctl snapshot
Manage snapshots, including listing and deleting snapshots, as well as displaying information about specific snapshots.
Syntax
dctl [global options] snapshot <command> [command options] [arguments...]
Commands
create Create a snapshot.
delete Delete a snapshot
get Display information about a specific snapshot.
list Display a summary of all snapshots.
describe Describe a snapshot
Options
--help, -h Show help.
dctl snapshot create
Create a snapshot.
Syntax
dctl [global options] snapshot create <snapshot-name> [command options]
[arguments...]
Options
--source <volume>, --src <volume> The source volume for the snapshot.
--mirror-count <value>, -m <value> The mirror count. The default is 1.
--prefix <prefix>, -p <prefix> The prefix to add to the snapshot name.
--selectors <value>, --sel <value> The selectors to constrain the node
selection, using the following format:
[key|key=val][,key|key=val]*
Example
dctl snapshot create [snap1 | --prefix snap1] --src vol-01
dctl snapshot delete
Delete a snapshot.
Syntax
dctl [global options] snapshot delete <snapshot-name> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl snapshot delete snap1
dctl snapshot get
Display information about a specific snapshot.
Syntax
dctl [global options] snapshot get <snapshot-name>
Example
dctl snapshot get snap1
Output
Name The name of the snapshot.
Size The size of the snapshot.
Node The node associated with the snapshot.
Labels The labels associated with the snapshot.
Parent The parent of the snapshot.
Phase The phase of the snapshot.
Status The status of the snapshot.
Age The age of the snapshot.
dctl snapshot list
Display a summary of all snapshots of a volume.
Syntax
dctl [global options] snapshot list [command options] [arguments...]
Options
--source value, -s value List all snapshots of a volume.
Example
dctl snapshot list -s vol1
Output
Name The name of the snapshot.
Size The size of the snapshot.
Node The node associated with the snapshot.
Labels The labels associated with the snapshot.
Parent The parent of the snapshot.
Phase The phase of the snapshot.
Status The status of the snapshot.
Age The age of the snapshot.
dctl user
Manage users, including creating, editing, listing, and deleting users.
Syntax
dctl [global options] user <command> [command options] [arguments...]
Commands
create Create a user.
edit Edit a user.
delete Delete a user.
get Display information about a specific user.
list Display a summary of all users.
role Role commands.
group Group commands.
auth-server Authentication server commands.
Options
--help, -h Show help.
dctl user create
Create a user.
Syntax
dctl [global options] user create <user-name> [command options] [arguments...]
Options
--local-auth Specifies that the user is to be
authenticated locally by validating
a supplied password against
credentials stored in the local
configuration. The default is false.
--password <password>, -p <password> The password associated with the user.
--group-list <group-list>, The list of groups to which the
-g <group-list> user belongs.
Note: Local groups defined in the Diamanti system are used to give users specific permissions. In contrast, remote groups are simply a collection of users and do not give users specific permissions.
Example
dctl user create user1 --local-auth --password myPassw0rd!
--group-list group1,group2
dctl user edit
Edit the specified user.
Syntax
dctl [global options] user edit <user-name> [command options] [arguments...]
Options
--local-auth Specifies that the user is to be
authenticated locally by validating
a supplied password against
credentials stored in the local
configuration. The default is false.
--reset-password, -r Reset password from input.
--group-list <group-list>, The list of groups to which the
-g <group-list> user belongs.
Note: Local groups defined in the Diamanti system are used to give users specific permissions. In contrast, remote groups are simply a collection of users and do not give users specific permissions.
Example
dctl user edit myuser [--local-auth] [--group-list mygroup1,mygroup2]
[--reset-password]
dctl user delete
Delete the specified User.
Syntax
dctl [global options] user delete <user-name> [command options] [arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl user delete myuser
dctl user get
Display information about a specific user.
Syntax
dctl [global options] user get <user-name>
Example
dctl user get user1
Output
Name The name of the built-in or custom user.
Built-in Specifies whether the user is built-in (true) or
custom (false).
Local Auth Indicates whether the user is authenticated locally
by validating a supplied password against credentials
stored in the local configuration.
Group List The list of groups associated with the user.
dctl user list
Display a summary of all users.
Syntax
dctl [global options] user list [arguments...]
Example
dctl user list
Output
Name The name of the built-in or custom user.
Built-in Specifies whether the user is built-in (true) or
custom (false).
Local Auth Indicates whether the user is authenticated locally
by validating a supplied password against credentials
stored in the local configuration.
Group List The list of groups associated with the user.
dctl user auth-server
Manage authentication servers, including creating, listing, and deleting authentication servers, as well as displaying information about specific authentication servers.
Syntax
dctl [global options] user auth-server <command> [command options]
[arguments...]
Commands
create Create the specified authentication server.
edit Edit the specified authentication server.
delete Delete the specified authentication server.
get Display information about a specific authentication server.
list Display a summary of all authentication servers.
Options
--help, -h Show help
dctl user auth-server create
Create the specified authentication server.
Syntax
dctl [global options] user auth-server create [command options]
[arguments...]
Options
--server value, -S value Server name or IP
--port value, -p value Port for authentication server
(default: 389)
--enable Enable authentication;
default false
--base-dn value, -l value Base string to use in LDAP
authentication request
--bind-dn value Distinguished Name (DN) used
to bind to the LDAP server
--bind-password value Password used to bind to the
LDAP server
--user-filter value LDAP user name filter string,
e.g. '(sAMAccountName=%s)'
--group-name-attr value LDAP group name attribute as
it is used in group object to
get name of a group.
--usessl Secure LDAP (LDAPS), default
is false for STARTTLS
--cacert value Path to PEM format file for
LDAP server certificate
authority
Example
dctl user auth-server create myauth --server ldap1.example.com --port
389 --base-dn 'dc=example,dc=com' --bind-dn 'cn=mybinddn'
--bind-password 'mybindpassword' --user-filter '(sAMAccountName=%s)'
[--group-name-attr 'name'] [--enable] [--usessl] [--cacert ca.pem]
dctl user auth-server create ldap-auth -S ds1.example.com --port 636
--base-dn 'CN=Users,DC=example,DC=com'
--bind-dn 'CN=Administrator,CN=Users,DC=example,DC=com'
--bind-password '111Password' --user-filter '(sAMAccountName=%s)'
--usessl --cacert windows-ca.crt
// Non-secured example
dctl user auth-server create ldap-auth -S ds1.example.com --port 389
--base-dn 'CN=Users,DC=example,DC=com'
--bind-dn 'CN=Administrator,CN=Users,DC=example,DC=com'
--bind-password '111Password' --user-filter '(sAMAccountName=%s)'
dctl user auth-server edit
Edit the specified authentication server.
Syntax
dctl [global options] user auth-server edit [command options]
[arguments...]
Options
--server value, -S value Server name or IP
--port value, -p value Port for authentication server
(default: 0)
--enable Enable for user authentication
--base-dn value, -l value Base string to use in LDAP
authentication request
--bind-dn value Distinguished Name (DN) used
to bind to the LDAP server
--bind-password value Password used to bind to the
LDAP server
--reset-bind-password Reset password used to bind to
the LDAP server from input
--user-filter value LDAP user name filter string,
e.g. '(sAMAccountName=%s)'
--group-name-attr value LDAP group name attribute as
it is used in group object to
get name of a group
--usessl Secure LDAP (LDAPS), default
to false for STARTTLS
--cacert value Path to PEM format file for
LDAP server certificate
authority; empty file to
remove
Example
dctl user auth-server edit myauth [--server ldap.example.com]
[--port 389] [--base-dn 'dc=example,dc=com'] [--bind-dn 'cn=mybinddn']
--bind-password 'mybindpassword' [--reset-bind-password]
[--user-filter '(sAMAccountName=%s)'] [--group-name-attr 'name']
[--enable] [--usessl] [--cacert ca.pem]
dctl user auth-server delete
Delete the specified authentication server.
Syntax
dctl [global options] user auth-server delete <auth-server-name>
[command options] [arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl user auth-server delete myauth
dctl user auth-server get
Display information about a specific authentication server.
Syntax
dctl [global options] user auth-server get <auth-server-name>
Example
dctl user auth-server get ldap-auth
Output
Name The name of the authentication server.
Server The DNS name of the authentication server.
Port The port number of the authentication server.
Enable If the authentication server is enable.
Domain The domain name for the authentication server.
dctl user auth-server list
Display a summary of all authentication servers.
Syntax
dctl [global options] user auth-server list [arguments...]
Example
dctl user auth-server list
Output
Name The name of the authentication server.
Server The DNS name of the authentication server.
Port The port number of the authentication server.
Enable The current state of every authentication server.
Domain The domain for which the authentication server will
authenticate users.
dctl user group
Manage groups, including creating, editing, listing, and deleting groups, as well as displaying information about specific groups.
Syntax
dctl [global options] user group <command> [command options] [arguments...]
Commands
create Create a group.
edit Edit a group.
delete Delete a group.
get Display information about a specific group.
list Display a summary of all groups.
Options
--help, -h Show help.
dctl user group create
Create the specified group.
Syntax
dctl [global options] user group create [command options] [arguments...]
Options
--role-list <role-list>, (Optional) The list of roles associated
-r <role-list> with the group, separated by commas.
--external-group <external-group> (Optional) The principal group name
of the externally authenticated and
managed group whose users, when
authenticated, are associated with
the user group.
Example
dctl user group create mygroup --role-list network-view,container-edit/mynamespace
--external-group group@domain
dctl user group edit
Edit the specified group.
Syntax
dctl [global options] user group edit <group-name> [command options]
[arguments...]
Options
--role-list <role-list>, (Optional) The list of roles associated
-r <role-list> with the group, separated by commas.
--external-group <external-group> (Optional) The principal group name
of the externally authenticated and
managed group whose users, when
authenticated, are associated with
the user group.
Example
dctl user group edit mygroup --role-list network-view,container-edit/mynamespace
--external-group group@domain
dctl user group delete
Delete the specified group.
Syntax
dctl [global options] user group delete <group-name> [command options]
[arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl user group delete group1
dctl user group get
Display information about a specific group.
Syntax
dctl [global options] user group get <group-name>
Example
dctl user group get group1
Output
Name The name of the group.
Built-in Specifies whether the group is built-in/local (true)
or custom (false).
Role List The list of roles associated with the group.
dctl user group list
Display a summary of all groups.
Syntax
dctl [global options] user group list [arguments...]
Example
dctl user group list
Output
Name The name of the group.
Built-in Specifies whether the group is built-in/local (true)
or custom (false).
Role List The list of roles associated with the group.
dctl user role
Manage roles, including listing roles, as well as displaying information about specific roles.
Syntax
dctl [global options] user role <command> [command options] [arguments...]
Commands
get Display information about a specific role.
list Display a summary of all roles.
Options
--help, -h Show help.
dctl user role get
Display information about a specific role.
Syntax
dctl [global options] user group role <role-name>
Example
dctl user role get container-edit
Output
Name The name of the built-in or custom role.
Built-in Specifies whether the role is built-in (true)
or custom (false).
Scope The scope of the role, either Cluster or Resource.
API Permissions The permissions of the role.
dctl user role list
Display a summary of all roles.
Syntax
dctl [global options] user role list [arguments...]
Example
dctl user role list
Output
Name The name of the built-in or custom role.
Built-in Specifies whether the role is built-in (true)
or custom (false).
Scope The scope of the role, either Cluster or Resource.
API Permissions The permissions of the role.
dctl volume
Manage volumes, including creating and deleting volumes, as well as listing volumes and showing information about specific volumes.
Syntax
dctl [global options] volume <command> [command options] [arguments...]
Commands
create Create a volume.
delete Delete a volume.
list Display a summary of all volumes.
get Display information about a specific volume.
describe Describe a specific volume.
restore Restore volume from snapshot.
update Update a volume.
plex-delete Delete a mirror (plex) associated with a volume.
rotate-key Rotate Cluster-Wide secure volumes encryption master key
set-transit-key Set transit or temporary encryption master key
remove-transit-key Remove transit or temporary encryption master key
Options
--help, -h Show help.
dctl volume create
Create a volume.
Syntax
dctl [global options] volume create <volume-name> [command options]
[arguments...]
Options
--size <size>, -s <size> The size of the storage volume,
notated as nnM or nnG. For
example, 500M or 1G.
--labels <labels>, -l <labels> The labels associated with the
volume, using the following
format: key=value.
--selectors <label>, --sel <label> The node on which to create the
volume, selected by label using
the following format: key=value.
--mirror-count <new-mirror-count>, The new mirror count when adding
-m <new-mirror-count> a mirror to a volume (with one or
two mirrors). This value must be
one larger than the current mirror
count.
--perf-tier <perf-tier>, -p <perf-tier> The performance tier associated
with the volume.
--fs-type <filesystem-type>, The filesystem type for the volume.
-f <filesystem-type>
--source <snapshot-name>, The snapshot name to use to create
--src <snapshot-name> the volume. This option is only
applicable when creating a volume
from a snapshot.
--alloc-ratio value, -a value The allocation ratio for the
volume. This option is only
applicable when creating a volume
--read-only, --ro Create read only volume
--driver <driver>, -d <driver> The driver for volume life cycle
management.
--block, -b Specifies the volume export mode is
block.
--volumeuser <user>, -u <user> The volume user, for example, 'kvm'.
--secure, --sec Securing volume data at rest using
encryption method
Example
dctl volume create vol-01 -s 1Gi
dctl volume delete
Delete a volume.
Syntax
dctl [global options] volume delete [command options] [arguments...]
Options
--assume-yes, -y Assume yes for the confirmation prompt.
--force, -f Force delete the volume.
Example
dctl volume delete vol1
dctl volume list
Display a summary of all volumes.
Syntax
dctl [global options] volume list [command options] [arguments...]
Options
--labels <labels>, -l <labels> The labels associated with the volume,
using the following format: key=value.
Example
dctl volume list
Output
Name The name of the volume.
Size The size of the volume.
Node The node or nodes (in case of mirroring) on which the
volume resides.
Labels The labels associated with the volume.
Phase The phase of the volume, either Pending or Available.
Status The status of the volume, from among the following:
- Busy - attached to a container
- Available - for attachment
Attached-To The container to which the volume is attached.
Device-Path The device-path associated with the volume.
Parent The parent of the volume.
Age The age of the volume.
dctl volume get
Display information about a specific volume.
Syntax
dctl [global options] volume get <volume-name>
Example
dctl volume get vol1
Output
Name The name of the volume.
Size The size of the volume.
Node The node or nodes (in case of mirroring) on which the
volume resides.
Labels The labels associated with the volume.
Phase The phase of the volume, either Pending or Available.
Status The status of the volume, from among the following:
- Busy - attached to a container
- Available - for attachment
Attached-To The container to which the volume is attached.
Device-Path The device-path associated with the volume.
Parent The parent of the volume.
Age The age of the volume.
dctl volume describe
Describe a specific volume.
Syntax
dctl [global options] volume describe <volume-name>
Example
dctl volume describe vol1
Output
General
Name The name of the volume.
Size The size of the volume.
Encryption Encryption status of the volume.
Node The node or nodes (in case of mirroring) on which the
volume resides.
Label The labels associated with the volume.
Node Selector The node selector associated with the volume.
Phase The phase of the volume, either Pending or Available.
Status The status of the volume.
Attached-To The container to which the volume is attached.
Device-Path The device-path associated with the volume.
Age The age of the volume.
Perf-Tier The performance tier associated with the volume.
Mode The mode of the volume, E.g. Filesystem.
Fs-Type The type of file system used with the volume.
Scheduled Plexes Number of scheduled plexes vs actual.
/ Actual Plexes
Plexes
Name The name of the plex.
Nodes The nodes associated with the plex.
State The state of the plex.
Condition The condition of the plex.
Out-of-sync-age The out-of-sync age of the plex.
Resync-Progress The resynchronization progress of the plex.
Delete-Progress The delete progress of the plex.
dctl volume update
Update a volume.
Syntax
dctl [global options] volume update <volume-name> [command options]
[arguments...]
Options
--size <size>, -s <size> The new size of the volume.
--mirror-count <new-mirror-count>, The new mirror count when adding a
-m <new-mirror-count> mirror to a volume (with one or two
mirrors). This value must be one
larger than the current mirror count.
--fs-type <type>, -f <type> The filesystem type for the volume
being exported in filesystem mode.
--overwrite, -o Overwrite labels.
--selectors <labels>, --sel <labels> The labels associated with the
volume, using the following
format: key=value.
--volumeuser <user>, -u <user> The volume user, for example, 'kvm'.
--cancel resize Cancel a resize operation.
Note: Diamanti volumes need to be offline (detached) before resizing a volume. The volume remains in Pending state if the Diamanti node does not have enough storage to complete the operation. In this case, issue another volume update command to cancel the resize operation.
Example
dctl volume update vol-01 -m 2 --sel label -s 2G
dctl volume plex-delete
Delete a mirror (plex) associated with a volume.
Syntax
dctl [global options] volume plex-delete <volume-name> p<plex-number>
Example
dctl volume plex-delete vol-01 p0
dctl volume restore
Restore a volume from a valid point-in-time snapshot.
Syntax
dctl [global options] volume restore [command options] [arguments...]
Options
--latest-snapshot, -l Restore a volume from the latest
snapshot.
--source-snapshot <snapshot-name>, The source snapshot for the volume
-s <snapshot-name> restore.
--assume-yes, -y Assume yes for the confirmation prompt.
Example
dctl volume restore vol-1 --latest-snapshot
dctl volume restore vol-01 --source-snapshot snap-01
Note: Diamanti volumes need to be offline (detached) before restoring from any point-in-time snapshot. All snapshots created after the snapshot being used for the volume restore are deleted after the restore operation has successfully completed. Volumes retain their size, in case the volume size is different from the snapshot size due to a volume resize operation.
dctl whoami
Display the user for the current session.
Syntax
dctl [global options] whoami [arguments...]
Example
dctl whoami
# Examples
This section provides example configuration files that can be used with dctl commands.
Cluster Configuration File
This following is an example of a configuration file that can be used with the dctl cluster create
command.
{
"name": "cluster",
"spec": {
"config": {
"adminUserPassword": "Fk#$yt+ew$KuHG*hvF",
"certificateAuthority": "-----BEGIN CERTIFICATE-----
\nMIIFVTCCAz2gAwIBAgIJAP21KXcASURQMA0GCSqGSIb3DQEBCwUAMCUxIzAhBgNV\nBAMMGmRpYW1hbnRpLXNpZ25lckA
xNTI0NjQ1NzY5MB4XDTE4MDQyNTA4NDI0OVoX\nDTI4MDQyMjA4NDI0OVowJTEjMCEGA1UEAwwaZGlhbWFudGktc2lnbmVy
QDE1MjQ2\nNDU3NjkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDbyFuhuRCVbqmj\nEqdVdqo3fQ0MsCchmn6
.
.
.
ltNTlNhIfosw4LdIUBSsMwNkyRPr5+Joccz5jlSQ4h4h2o\nkXuLa07f7pPK7tQjhfki4aKwZJxSV9CeTbxKYRMvLICdkf3
hDYLDmEaSNiWy8FDG\n76VeG6ZBZhT/9CM77HaqqCbZ/+GZRn3Mzg==\n-----END CERTIFICATE-----",
"podDnsDomain": "cluster.local",
"serverCertificate": "-----BEGIN CERTIFICATE-----
\nMIIE3DCCAsSgAwIBAgIBATANBgkqhkiG9w0BAQsFADAlMSMwIQYDVQQDDBpkaWFt\nYW50aS1zaWduZXJAMTUyNDY0NTc
2OTAeFw0xODA0MjUwODQzMDBaFw0yODA0MjIw\nODQzMDBaMBIxEDAOBgNVBAMMB2NsdXN0ZXIwggEiMA0GCSqGSIb3DQEB
AQUAA4IB\nDwAwggEKAoIBAQC6s8gcGvwhzsr0giTQHs40NRgpt6CfPmZLYkHRVV5Byk/
.
.
.
Um4h6cHBX64LijqCgfFcb+sG7sp+8SWvMDILaPqhnxq+lkUDZRKwXNwWpH+\nVCxl51Wz3COHJEuMhoquht2CV451bXF6vD
Ph2tFsdfrt60OQbvXVZ94Dd6ZMH78F\nVEcTEFsxkT0jn1rslxgdYkST93CpqvNfzL+WP1uzB0ee0N/
uB1cFFxZYekmJJMMc\n-----END CERTIFICATE-----",
"serverPrivateKey": "-----BEGIN PRIVATE KEY-----
\nMIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC6s8gcGvwhzsr0\ngiTQHs40NRgpt6CfPmZLYkHRVV5
Byk/4giqRV351HPiE8vgbEwnCQ+MFF6haF+0n\nRbtZKm0wE5uxy7nSwTCeOjNOXf82xZ9YZKSJrXosF+7mkk9/
u1hNVn423MVeNsMj\nREmUjnF+SCohbL4TgPDySWartQxfmcYZr3BEjK8Ahy3ox16hQeyh5+95PTO7tOxD\na+TfwTXnULm
AyN2YPy+PJYu6KmbO3H048AeKkjBdSS8IDIzwYXr5GXVQlGIIR9KL\nbxcjKBCd54VtAJiG5JlWByISVRvtqHpooBM8DE8J
.
.
.
DWDvA1bdYn0pwNxWwXhtYuYQYmST2lx8o5tcENAowVAZx1u+dyt4ijH5U\nJQPCBEYIaPSW1w6Vp1jRSiKeINN2OUFqdYXy
CqAaYDoIntT+uiaBisX6A1eoblTt\nX7dnJDxU49hPl0C5QhImlIUcYQ==\n-----END PRIVATE KEY-----",
"storageVlan": 500,
"virtualIP": "172.16.20.251"
},
"nodes": [
"appserv76",
"appserv77",
"appserv78"
]
}
}
Legal Notices
Publication Date: This document was published on February 21, 2023.
Copyright
Copyright © 2016-2023, Diamanti. All rights reserved.
Diamanti believes the information it furnishes to be accurate and reliable. However, Diamanti assumes no responsibility for the use of this information, nor any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent, copyright, or other intellectual property right of Diamanti except as specifically described by applicable user licenses. Diamanti reserves the right to change specifications at any time without notice.
Trademarks
Diamanti and the Diamanti UI are trademarks or service marks of Diamanti, in the U.S. and other countries, and may not be used without Diamanti’s express written consent. All other product and company names herein may be trademarks of their respective owners.