ActiveScale Command Line Interface (CLI)
1.0 Overview
ActiveScale CLI (ascli) is a Linux-based command line utility that wraps around the management API. This CLI has the following restrictions:
-
You can’t use it for time-based tasks.
-
You can’t use it to get graphics such as trend maps, heat maps, and so on.

To download the ActiveScale CLI, refer to Download ActiveScale CLI in the System Management Interface guide.

You can run ascliin interactive or non-interactive mode:
-
For non-interactive mode, run the following commands at the Linux prompt:
$ sudo cp bash_autocomplete /etc/bash_completion.d/ascli
$ source /etc/bash_completion.d/ascli
-
For interactive mode, run ascli without any options:
$ ./ascli
2.0 Authentication

Description
Exit ascli
. Use this when you aren’t logged in.
Syntax
exit
Options
None.
Sample command
ascli$ exit

Description
Log into ascli
.
Syntax
login [--file filename] [unsecured]
Options
--file filename |
Specify a JSON file containing your login credentials. The contents of this file should be { "host": "SystemNode_IP", "port" : "10443", "username" : "admin", "password" : "admin_password" } Without this option, |
unsecured |
Allow an unsecured connection (http://) instead of https://. |
Sample command
ascli$ login
IPv4 Sample Command.
Enter Host: 10.14.14.207
Enter Port: 10443
Enter Username: admin
Enter Password:
Logged in as admin
( admin ) ascli$
IPv6 Sample Command. Use bracket notation for IPv6 hosts.
Enter Host: [2001:db8::1234]
Enter Port: 10443
Enter Username: admin
Enter Password:

Description
Exit ascli
and delete your session token.
Syntax
logout
Options
None.
Sample command
ascli$ logout
3.0 System Status Commands

Description
Get a summary of system status.
Syntax
as-status summary [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ as-status summary

Description
Get ActiveScale OSversion.
Syntax
as-status version [info | details] [--json]
Options
info |
Show a summary only. |
details |
Show details. |
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ as-status version info

Description
Display a system summary.
Syntax
system-summary
Options
None.
Sample command
ascli$ system-summary
4.0 Event Commands

Description
Download the event report.
Syntax
events download-report [options]
Options
-h |
Display help text. |
--status eventStatus |
Filter by event status. Valid values: |
--start-date timestamp |
Filter by start date (DD-MM-YYYY) |
--sites siteIndex |
Filter by site index. Valid values are |
--severity eventLevel |
Filter by severity. Valid values: |
--rack systemIndex |
Filter by system index. Valid values are |
--machine machineGUID |
Filter by machine GUID |
--format fileFormat |
Create a file in the specified format. Valid values: |
--end-date timestamp |
Filter by end date (DD-MM-YYYY) |
--count number |
Limit the output this number of events. Default: is 20. |
Sample command
ascli$ events list --format csv --status ACTIVE

Description
List events.
Syntax
events list [options]
Options
-h |
Display help text. |
--json, -j |
Show output in JSON format. Default. |
--severity eventLevel |
Filter by severity. Valid values: |
--status eventStatus |
Filter by event status. Valid values: |
--sites siteIndex |
Filter by site index. Valid values are |
--rack systemIndex |
Filter by system index. Valid values are |
--machine machineGUID |
Filter by machine GUID |
--start-date timestamp |
Filter by start date (DD-MM-YYYY) |
--end-date timestamp |
Filter by end date (DD-MM-YYYY) |
--count number |
Limit the output this number of events. Default: is 20. |
Sample command
ascli$ events list --severity CRITICAL --status ACTIVE

Description
Get a summary of events.
Syntax
events summary
Options
None.
Sample command
ascli$ events summary
5.0 Help Commands

Description
ascli usage
Option | Explanation |
---|---|
as-status |
Get a summary of system status. |
download |
Download system logs. |
events |
Download system events or get a summary of events. |
exit |
Exit ascli. |
help |
Get a list of commands or help for one command. |
jobs command |
Manage jobs. |
login [file filepath] [unsecured] |
With file filepath you can specify a JSON file containing credentials: { "host": "SystemNode_IP", "port" : "10443", "username" : "admin", "password" : "admin_password" } Without file filepath, ascli prompts for credentials interactively. unsecured, u, allows an unsecured connection (http://) instead of https://. |
logout |
Log out of ascli and delete the file containing the session token. |
logstream |
Create or change an rsyslog stream. |
network command |
Manage the network. |
notification command |
Manage notifications. |
replication setup command |
Create or change a replication pipeline. |
request-timeout command [options] [arguments] |
Change the timeout for HTTP requests. |
resources |
Manage system resources. |
s3 |
Manage accounts and users, and the system bucket. |
security |
Set security options. |
session-timeout command [options] [arguments] |
Change the UI, management API, and management CLI session timeout for. |
system command |
Manage system commands. |
system-overview command |
Execute system overview commands. |
system-summary |
Displays a system summary. |
telemetry |
Manage telemetry collection. |
version |
Display the version of this utility. |
Syntax
[command] help
Options
None.
Sample command
ascli$ help
NAME:
ascli - A new cli application
USAGE:
ascli command [command options] [arguments...]
COMMANDS:
login Login to interface
logout Logout of cli
system-summary Show system summary
s3 S3 management commands
telemetry Telemetry commands
resources Resources commands
as-status Active Scale status commands
events Events commands
request-timeout Client request timeout commands
session-timeout Session timeout commands
exit Exit from interface
help Shows a list of commands
version Show CLI version
security Security commands
notification Notification commands
jobs Jobs commands
system-overview System overview commands
network Network commands
system System commands
replication Replication configuration commands
tasks Tasks commands
uda Uda commands
6.0 Job Commands

Description
Cancel the job with the specified job ID.
Syntax
jobs cancel --jobid jobID
Options
--jobid jobID |
Job ID. Get this value from the output of 6.3 jobs list. |
Sample command
ascli$ jobs cancel --jobid 75510

Description
Get the details of the job with the specified job ID.
Syntax
jobs details --jobid jobID [--json]
Options
--jobid jobID |
Job ID. Get this value from the output of 6.3 jobs list. |
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ jobs details --jobid 75510 --json

Description
List all jobs.
Syntax
jobs list [--type jobType] [--status jobStatus] [--site siteIndex] [--json]
Options
--type jobType |
Limit the output to jobs of type |
--status jobStatus |
Limit the output to jobs of status |
--site siteIndex |
Limit the output to jobs at site |
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ jobs list --site Site1 --json

Description
Restart a job.
Syntax
jobs restart --jobid jobID [--json]
Options
--jobid jobID |
Job ID. Get this value from the output of 6.3 jobs list. |
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ jobs restart --jobid 75510
7.0 Network Commands

Description
Add a virtual IP failover group to a specific site.
Note: Note: You can't delete an existing failover group as this will result in system errors. Instead a failover group should be disabled. To disable failover groups, simply remove all Virtuel IP's from the failover groups using the steps described in 7.15 network vip remove. Apply the VIP removal using the steps described in 7.14 network vip list.
[--mcast multicastAddress]
--name "groupName" |
Name of the failover group. The name must be unique. |
--dcname siteIndex |
Name of the site which the system should add this failover group to. Valid values are |
--mcast multicastAddress |
(Optional) Multicast address. Default: If you have two separate ActiveScale systems deployed on the same network segment and you create failover groups on both systems, you can’t use the same default multicast address on both systems; set this value to something other than the default for one system. |
ascli$ network failovergroup add --name "failover1" --dcname Site1
ascli$ network failovergroup add --name "failover2" --dcname Site2
ascli$ network failovergroup add --name "failover3" --dcname Site3

Description
List all failover groups. The output is a table with the following information for each failover group:
-
Failover group name
-
Site name
-
Failover group multicast address
Syntax
network failovergroup list
Options
None
Sample command
ascli$ network failovergroup list
Sample output
+---------------+------------+-------------------+---------+----------+
| FAILOVERGROUP | DATACENTER | MULTICAST ADDRESS | APPLIED | HAS VIPS |
+---------------+------------+-------------------+---------+----------+
| demo | Site1 | 239.0.0.18 | yes | yes |
+---------------+------------+-------------------+---------+----------+

Description
Update a failover group’s multicast IP address.
Syntax
network failovergroup update -name "groupName" --mcast multicastAddress
Options
--name "groupName" |
Name of the virtual IP failover group. The name must be unique. |
--mcast multicastAddress |
Multicast address. |
Sample command
ascli$ network failovergroup update --name "failover1" --mcast 239.0.0.77

Description
Add DNS server(s) to the specified site. It is not possible to add an IPv6 DNS server using the CLI.
Syntax
network servers dns add --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of DNS IP addresses. |
Sample command
ascli$ network servers dns add --dcid Site3 --server-ip 8.8.8.8,9.9.9.9

Description
List DNS servers in use. It is not possible to list IPv6 DNS servers using the CLI.
Syntax
network servers dns list [--json]
Options
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ network servers dns list --json

Description
Removed the specified DNS server(s) from the specified site. It is not possible to remove IPv6 DNS servers using the CLI.
Syntax
network servers dns remove --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of DNS IP addresses. |
Sample command
ascli$ network servers dns remove --dcid Site3 --server-ip 8.8.8.8

Description
Update the list of DNS servers in use at the specified site. It is not possible to update the list of IPv6 DNS servers using the CLI.
Syntax
network servers dns update --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of DNS IP addresses. |
Sample command
ascli$ network servers dns update --dcid Site3 --server-ip 9.9.9.9

Description
Add NTP server(s) to the specified site.
Note: To find the IP address for the NTP server(s) close to your location, send a ping command to pool.ntp.org, 0.pool.ntp.org, 1.pool.ntp.org, and so on.
Syntax
network servers ntp add --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of NTP IP addresses. |
Sample command
ascli$ network servers ntp add --dcid Site1 --server-ip ntps.wdc.com
Sample output
Successfully created task to add NTP servers
Task ID : a7e79d6d-c848-44e6-a8e2-5d2231f40947
To see more information about the task, see "tasks details" command
( admin ) ascli$ tasks details --taskid a7e79d6d-c848-44e6-a8e2-5d2231f40947
+--------------------------------------+---------+-----------+----------+--------------------------------+
| ID | STATUS | TYPE | PRIORITY | START DATE | DURATION |
+--------------------------------------+---------+-----------+----------+---------------------+----------+
| a7e79d6d-c848-44e6-a8e2-5d2231f40947 | STARTED | taskgroup | 0 | 25 Sep 18 01:50 JST | N/A |
+--------------------------------------+---------+-----------+----------+---------------------+----------+
( admin ) ascli$

Description
List NTP servers in use.
Syntax
network servers ntp list [--json]
Options
--json |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ network servers ntp list --json

Description
Removed the specified NTP server(s) from the specified site.
Syntax
network servers ntp remove --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of NTP IP addresses. |
Sample command
ascli$ network servers ntp remove --dcid Site3 --server-ip 204.2.134.163

Description
Update the list of NTP servers in use at the specified site.
Syntax
network servers ntp update --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of NTP IP addresses. |
Sample command
ascli$ network servers ntp update --dcid Site3 \
--server-ip 173.255.206.154, 45.56.118.161

Description
Add a virtual IP to a specific failover group, but don’t apply changes yet. VIP is not supported for IPv6.
To apply changes, run network_vip_apply.
Syntax
network vip add --machinename "hostname" --failovergroupname "groupName" \
--ipaddress value
Options
-- |
Hostname of the machine to add the virtual IP to. For example, Site1-R01-SG01. |
-- |
Name of the failovergroup to add the virtual IP to. |
-- |
Virtual IP for the machine. |
Sample command
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.1.10
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.2.10
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.1.11
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.2.11
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.1.12
$ ascli network vip add --machinename "Site1-R01-SG01" \
--failovergroupname "failover1" --ipaddress 192.168.2.12

Description
Enable (apply) all configured virtual IP addresses. VIP is not supported for IPv6.
Syntax
network vip apply --failovergroupname groupName
Options
--failovergroupnamegroupName |
Name of the failover group. |
Sample command
ascli$ network vip apply --failovergroupname "failover1"

Description
List all virtual IP addresses for a given failover group. VIP is not supported for IPv6.
The output is a table with the following information:
-
Failover group name
-
Home machine name (in other words, the name of the machine that the system maps the virtual IP address to, by default, when all machines and relevant services are up and running)
-
Ethernet device name
-
IP address(es) (if the public networks are bonded, there is one IP address; otherwise there are two)
Syntax
network vip list --failovergroupnamegroupName
Options
--failovergroupname groupName |
Name of the failover group whose virtual IPs you want to list. |
Sample command
ascli$ network vip list
Sample output
+---------------+--------------+--------+----------------+---------+
| FAILOVERGROUP | MACHINE NAME | DEVICE | ADDRESS | APPLIED |
+---------------+--------------+--------+----------------+---------+
| demo | scaler-3 | eth0 | 192.168.56.112 | yes |
| demo | scaler-1 | eth0 | 192.168.56.110 | yes |
| demo | scaler-2 | eth0 | 192.168.56.111 | yes |
+---------------+--------------+--------+----------------+---------+

Description
Remove a virtual IP address, but don’t apply changes yet. VIP is not supported for IPv6.
To apply changes, run 7.13 network vip apply.
Syntax
network vip remove --failovergroupname groupName --ipaddress value
Options
-- |
Name of the failover group. |
-- |
Virtual IP address to remove. |
Sample command
ascli$ network vip remove --failovergroupname "failover1" \
--ipaddress 192.168.2.10
8.0 Notification Commands

The following describes the elements of the notification log-stream disable command.
Description
Disable syslog streaming.
Syntax
notification log-stream disable --dcid siteIndex
Options
--dcid siteIndex |
Site index. Valid values are |
Sample command
ascli$ notification log-stream disable --dcid Site1

Description
Display a sample JSON configuration file for syslog streaming.
Syntax
notification log-stream download-sample
Options
None.
Sample command
ascli$ notification log-stream download-sample

Description
Enable syslog streaming with the settings specified in the given JSON file. The following syslog components can be streamed to your remote server:
-
Events
-
Operating system logs
-
S3 connection statistics
-
S3 operation statistics
-
S3 access logs
-
System metrics
On your remote server, you need an analytics tool that supports the RFC 5424 format to be compatible with the syslog stream.
Syntax
notification log-stream enable --dcid siteIndex [--filepath inputFile]
Options
--dcid siteIndex |
Site index. Valid values are |
--filepath inputFile |
(Optional) Name of the JSON input file. To get a sample JSON file, run the command 10.2 replication setup download-sample.
|
Interactive prompts or command-line options
--server remoteServerIP |
(Required) Fully qualified domain name (FQDN) or IP address of the remote server. |
--port portNumber |
(Required) Port number on which to receive the event stream on your remote server. This value must be between 0 and 65535, inclusive. |
--protocol type |
(Required) Communication protocol for the event stream. Valid values are |
--ca-certificate-path filename |
Remote server CA certificate, specified as an absolute path filename. Required only if you select TCP with TLS. Upload a security certificate in PEM format. ( |
--client-certificate-path filename |
Your SSL certificate for the client, specified as an absolute path filename. Required only if you select TCP with TLS. |
--client-key-path filename |
Your private SSL key for the client, specified as an absolute path filename. Required only if you select TCP with TLS. |
--log-types list |
(Required) Comma separated list of components to stream. Valid values are |
Sample command
ascli$ notification log-stream enable --dcid Site1 --filepath mySyslogSettings.json

Description
Displays log streaming settings.
Syntax
notification log-stream settings [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ notification log-stream settings --json

Description
Update the system’s settings for streaming. You can specify settings through a JSON file, command-line options, or by entering settings at the command’s prompts.
Syntax
notification log-stream update --dcid siteIndex [options]
Options
--dcid siteIndex |
Site index. Valid values are |
--filepath inputFile |
(Optional) Name of the JSON input file. To get a sample JSON file, run the command 10.2 replication setup download-sample.
|
Interactive prompts or command-line options
--server remoteServerIP |
(Required) Fully qualified domain name (FQDN) or IP address of the remote server. It is also possible to specify an IPv6 address in case the public interfaces are configured to have an IPv6 address. |
--port portNumber |
(Required) Port number on which to receive the event stream on your remote server. This value must be between 0 and 65535, inclusive. |
--protocol type |
(Required) Communication protocol for the event stream. Valid values are |
--ca-certificate-path filename |
Remote server CA certificate, specified as an absolute path filename. Required only if you select TCP with TLS. Upload a security certificate in PEM format. ( |
--client-certificate-path filename |
Your SSL certificate for the client, specified as an absolute path filename. Required only if you select TCP with TLS. |
--client-key-path filename |
Your private SSL key for the client, specified as an absolute path filename. Required only if you select TCP with TLS. |
--log-types list |
(Required) Comma separated list of components to stream. Valid values are |
Sample command
Note: To move to any field, use the up/down arrow keys. To apply changes, type yes and press Enter at the Apply changes prompt.
ascli$ notification log-stream update --dcid Site1
Remote Log Server:
- server (IP/FQDN)* > ost-9.mydomain.net
- port* >
- protocol (UDP | TCP | TCP-with-TLS)* > UDP
Certificates (TCP-with-TLS):
- ca-certificate-path* >
- client-certificate-path >
- client-key-path >
Log Types:
- log-types* > s3connectionstats, s3operationstats
Apply changes (yes/no) > yes

Description
Send email.
Syntax
notification smtp send-email \
--recipient-email recipientEmail --sender-email senderEmail \
[--sender-name senderName] [--subject emailSubject] [--body emailBody]
Options
--recipient-email recipientEmail |
Recipient’s email address. Required. |
--sender-email senderEmail |
Sender’s email address. Required. |
--sender-name senderName |
Sender’s name. |
--subject emailSubject |
Subject line of email. |
--body emailBody |
Body of email. |
Sample command
ascli$ notification smtp send-email \
--recipient-emailsourceacct@myemaildomain.com \
--sender-email destinationacct@myemaildomain.com

Description
Get the current SMTP settings.
Syntax
notification smtp settings --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of SMTP IP addresses. |
Sample command
ascli$ notification smtp settings

Description
Send a test email.
Syntax
notification smtp test-email --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of SMTP IP addresses. |
Sample command
ascli$ notification smtp test-email

Description
Update SMTP settings.
Syntax
notification smtp update --dcid siteIndex --server-ip list
Options
--dcid siteIndex |
Site index. Valid values are |
--server-ip list |
Comma-separated list of SMTP IP addresses. It is also possible to specify an IPv6 address in case the public interfaces are configured to have an IPv6 address. |
Sample command
ascli$ notification smtp update

Description
Get current SNMP polling configuration.
Syntax
notification snmp poll settings [--json]
Options
--json, -j |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ notification snmp poll settings --json

Description
Update SNMP polling configuration.
Syntax
notification snmp poll update --community-string value \
[--server SNMP_server_IP]
Options
--community-string value |
SNMP poll community string. Required. |
--subnets value |
List of SNMP poll subnets, comma-separated, in CIDR format. Default: "None" Optional. |
Sample command
ascli$ notification snmp poll update --community-string "Hello123"

Description
Disable SNMP traps.
Syntax
notification snmp trap disable --dcid siteIndex
Options
--dcid siteIndex |
Site index for this SNMP setting. Valid values are |
Sample command
ascli$ notification snmp trap disable --dcid Site1

Description
Enable SNMP traps.
Syntax
notification snmp trap enable --dcid siteIndex
Options
--dcid siteIndex |
Site index for this SNMP setting. Valid values are |
--server SNMP_server_IP |
SNMP server IP or FQDN. Required. |
Sample command
ascli$ notification snmp trap enable --server 10.206.124.90 --dcid Site1

Description
Send a test SNMP trap.
Syntax
notification snmp trap send-test --dcid siteIndex
Options
--dcid siteIndex |
Originating site index for this SNMP trap. Valid values are |
Sample command
ascli$ notification snmp trap send-test --dcid Site1

Description
Get current SNMP trap configuration.
Syntax
notification snmp trap settings [--json]
Options
--json, -j |
Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ notification snmp trap settings --json

Description
Update SNMP trap configuration.
Syntax
notification snmp trap update --dcid siteIndex [--community-string value] \
--server SNMP_server_IP --port SNMP_server_port
Options
--dcid siteIndex |
Site index for this SNMP setting. Valid values are |
--community-string value |
SNMP server community name (default: "None"). Optional. |
--server SNMP_server_IP |
SNMP server IP or FQDN (default: "None"). Required. It is also possible to specify an IPv6 address in case the public interfaces are configured to have an IPv6 address. |
--port SNMP_server_port |
SNMP server port number (default: "None"). Required. |
Sample command
ascli$ notification snmp trap update --server 10.206.124.90 --port 9011 --dcid Site1
9.0 Localized Ingest Commands
Toggling Localized Ingest can be performed on a per site basis, using the ASCLI tool.
Sample command
ascli$ dss localized-ingest help
Shows the available commands and has the following output:
-
NAME:
-
ascli dss localized-ingest - Commands to control the settings of localized ingest
-
-
USAGE:
-
ascli dss localized-ingest [global options] command [command options] [arguments...]
-

Command | Description |
---|---|
show |
Show the current localized ingest settings |
enable |
Enable localized ingest across all sites in the system |
disable |
Disable localized ingest |
add-sites |
Enable forced localized ingest on specific sites. Takes a space-separated list of site names |
remove-sites |
Disable forced localized ingest on specific sites. Takes a space-separated list of site names. |
Note: Toggling or changing Localized Ingest parameters will reconfigure the storage layer of the system, which is a non-instant operation.
In the event a previous operation is still ongoing, any newer Localized Ingest operation will be rejected and will show a warning asking the admin to retry at a later point.
The current status of ongoing Localized Ingest operations can be viewed using the ascli dss localized-ingest show command.

Localized Ingest can be configured in two operational modes:
-
Fallback (is the default)
-
Forced

By default, Localized Ingest is configured to run in Fallback mode. In Fallback mode, the system will try to synchronously distribute data evenly across all sites in the ActiveScale system. When parts of the data fail to be written in sites, other than sites where the upload (e.g. S3 PUT, NFS write) is occurring, they will be retried in the local site instead. If the upload still contains parts that could not be written, either on a local or remote site, the system will still allow uploads with reduced safety if the minimum safety is met.
Under perfect network conditions, the resulting behavior will be identical to Localized Ingest being disabled. In the event of occasional network failures, load will be slightly skewed towards the upload site.

In Forced mode, the system will directly write all parts of the data in the site where the upload is occurring. ~2/3 of the upload data will be redistributed to the other sites in an asynchronous fashion. The expected time window when data is fully distributed will depend on the available network capacity & the stability of the inter-storage WAN link. The first attempt at redistribution will be done within a 24h time window. The redistribution process for each upload is iterative, whereby incremental progress (i.e. more parts of the data are moved to remote sites) can be made, until the data is fully distributed according the configured storage policy.

The redistribution process, as an asynchronous queue, can back-up if too much is being uploaded while not enough data is being redistributed to remote sites. In case this happens, ActiveScale evens will be yielded, indicating the total amount of objects/files & the amount of data which still requires redistribution to remote sites. It also gives an indication of the expected time to complete the current redistribution queue if no new data is being uploaded. Note that this data is calculated based on the expected WAN link speed, which is currently not configurable.
In addition, an ActiveScale event will be triggered if the oldest upload in the redistribution queue is not yet redistributed after a configured time window threshold.
The threshold is calculated based on an average 5 Gbps WAN link speed & a maximum redistribution window of 72h (WARNING) or 144h (ERROR). Therefore, if the oldest object in the redistribution queue is older than 72h, a WARNING event will be triggered every hour. If the oldest object is older than 144h, it will trigger the same event but with ERROR severity every hour. This is to indicate blocking issues with the redistribution process.
Both types of events are present as a warning & error, with increasing threshold values. The following errors & warnings can be visible in ActiveScale:
-
DSS_OLDEST_LOCALIZED_OBJECT_TIME_EXCEEDED
-
DSS_LOCALIZED_BACKLOG_SIZE_EXCEEDED
The recommended resolution to these warnings is to monitor the system, decrease the workload to the system & validating whether the redistribution process can catch up.
In case of errors, it is recommended to disable the Localized Ingest feature, which will prevent new data from being written in a localized form, while continuing to redistribute existing localized data.

The following is a list of drawbacks associated with Localized Ingest:
-
Only one concurrent localized ingest configuration command can be sent via ASCLI
-
When enabled in `Forced` mode, performance regression can be seen with primarily small-data workloads (< 1 MiB)
10.0 Replication Commands

Description
Create or change your replication pipeline settings either interactively or by specifying a JSON file containing your settings.
Note: Run this command on the source system only.
Replication Pipeline Worksheet
Click here to open the Replication Pipeline Worksheet. This worksheet enumerates settings you need to determine prior to changing/configuring a replication pipeline. Some settings are applicable only to a particular destination type.
Syntax
replication setup configure [--filepath value] \
[--show-secret-keys]
Options
--filepath value |
Specify a JSON file with replication pipeline settings as described in the sample replication file below. Optional. If omitted, this command prompts you for settings as described in the sample interaction settings belowSample interactive settings . |
--show-secret-keys, --ssk |
Show source and destination secret keys in the output. |
Sample command
Create or change your replication pipeline settings interactively:
ascli$ replication setup configure
Source system:
- S3 email > sourceacct@myemaildomain.com
- S3 access key > MjZykG8wSAm2sLcMovwn
- S3 secret key (not printed - enter new key to change)> secret_key
Destination system:
- System type (as/aws) > as
- S3 IP:Ports > "192.168.110.202:443","192.168.110.203:443"
- Allow untrusted destination SSL cert (yes/no)> yes
- Destination SSL cert SHA-1 fingerprint> ED D7 FA 2D 2E D2 BB D@ D2 9b 1F 8D 14
- S3 email > destinationacct@myemaildomain.com
- S3 access key > Si4DnUcZ1KkDGJGZhdrH
- S3 secret key (not printed - enter new key to change)> secret_key
Replication:
- Status (ENABLED/PAUSED) > ENABLED
Thresholds for Notification:
- Objects Pending Replication (objects) > 50000
- Data Pending Replication (MB) > 1000
Apply changes (yes/no) > yes
Sample replication configuration file
{
"destinationAccessInfo": {
"accessKey": "Si4DnUcZ1KkDGJGZhdrH",
"email": "destinationacct@myemaildomain.com",
"secretKey": "secret_key"
},
"destinationS3IpPorts": [
"192.168.110.202:443",
"192.168.110.203:443"
],
"destinationSSLCertSHA1Fingerprint": "ED D7 FA 2D 2E D2 BB D@ D2 9b 1F 8D 14",
"destinationSystemType": "as",
"queueMaxSizeThreshold": "100000",
"queueObjectCountThreshold": "100000",
"shouldCheckDestinationSSLCert": "true",
"sourceAccessInfo": {
"accessKey": "MjZykG8wSAm2sLcMovwn",
"email": "sourceacct@myemaildomain.com",
"secretKey": "secret_key"
},
"status": "ENABLED"
}

Description
Download a sample pipeline configuration file.
Syntax
replication setup download-sample
Options
None.
Sample command
ascli$ replication setup download-sample

Description
Display ActiveScale OS replication pipeline settings.
Note: Run this command on the source system only.
Note: To see the replication status of a specific object, send a HEAD Object or GET Object request and check the value of the response header x-amz-replication-status: a value of COMPLETED indicates that the object is replicated. For details, see the ActiveScale OS S3 API Reference.
Syntax
replication setup show [--show-secret-keys]
Options
--show-secret-keys |
Show source and destination secret keys in the output. |
Sample command
ascli$ replication setup show
Source System :
+---------------+-------------------------------+
| S3 Email | sourceacct@myemaildomain.com |
| S3 Access Key | MjZykG8wSAm2sLcMovwn |
+---------------+-------------------------------+
Destination System :
+---------------+-------------------------------------------+
| System Name | QASYS-JK |
| System Type | AWS |
| S3 Email | destinationacct@myemaildomain.com |
| S3 Access Key | Si4DnUcZ1KkDGJGZhdrH |
+---------------+-------------------------------------------+
Replication :
+--------+---------+
| Status | ENABLED |
+--------+---------+
Thresholds for Notification :
+---------------------------------------+-------+
| Objects Pending Replication (objects) | 50000 |
| Data Pending Replication (MB) | 10000 |
+---------------------------------------+-------+
11.0 Credentialstore
All previously imported certificates and keys must be imported again in order to configure ONS with two party authentication

Syntax
ascli$ credentialstore cacert import --name CA1 --file /home/root1/ons_integration/certs/kafka-ca-cert.pem
Sample command
( admin ) ascli$ credentialstore help
NAME:
ascli credentialstore - Manage CA, user credential certificate and keys
USAGE:
[global options] command [command options] [arguments...]
COMMANDS:
cacert Manage CA certificates
cert Manage user certificates/keys
Sample Import CA Cert help to marvin credentialstore
( admin ) ascli$ credentialstore cacert import -h
NAME:
ascli credentialstore cacert import - Imports CA certificate into model
USAGE:
ascli credentialstore cacert import [command options] [arguments...]
OPTIONS:
--name value (Required) name for the CA certificate (default: "None")
--file value (Required) path to the CA certificate file (default: "None")
Sample Import CACert
( admin ) ascli$ credentialstore cacert import --name CA1 --file /home/root1/ons_integration/certs/kafka-ca-cert.pem
CA Cert file path: /home/root1/ons_integration/certs/kafka-ca-cert.pem
CA certificate imported successfully with GUID: 951723dd-bc41-42eb-b834-f9ba36493590 for name CA1
Sample Import User Cert to marvin credentialstore
( admin ) ascli$ credentialstore cert import -h
NAME:
ascli credentialstore cert import - Imports certificate into model
USAGE:
ascli credentialstore cert import [command options] [arguments...]
OPTIONS:
--name value (Required) name for the CA certificate (default: "None")
--keyfile value (Required) path to the key file(PEM) (default: "None")
--certfile value (Required) path to certificate (PEM) (default: "None")
Sample Import Certs
( admin ) ascli$ credentialstore cacert import --name CA1 --file /home/root1/ons_integration/certs/kafka-ca-cert.pem
CA Cert file path: /home/root1/ons_integration/certs/kafka-ca-cert.pem
CA certificate imported successfully with GUID: 951723dd-bc41-42eb-b834-f9ba36493590 for name CA1

Sample Listing certificates using ASCLI
ascli$ credentialstore cert list -h
NAME:
ascli credentialstore cert list - Lists imported certificates
USAGE:
ascli credentialstore cert list [arguments...]

Sample credential cert import
( admin ) ascli$ credentialstore cert import --name PP2 --keyfile /home/root1/ons_integration/certs/client_private.key --certfile /home/root1/ons_integration/certs/client.pem
Key file path: /home/root1/ons_integration/certs/client_private.key
Cert file path: /home/root1/ons_integration/certs/client.pem
Certificate and key file are imported successfully with GUID: 3217ab1e-82d4-4ec1-b7d1-586e8822f85e for name PP2

Sample credentialstore cert list
ascli$ credentialstore cert list -h
NAME:
ascli credentialstore cert list - Lists imported certificates
USAGE:
ascli credentialstore cert list [arguments...]
12.0 DPS/ONS Commands

Create or change your ONS settings by specifying a JSON file containing your settings.
DPS/ONS settings worksheet
Settings | Description |
---|---|
queueObjectNotificationCountThreshold |
|
status |
Object Notification Configuration Status. Supported value is ENABLED |
topicResource |
This field contains Kafka |
topicNames |
List of kafka topics that can be configured in this destination. |
caCertName |
Certificate Authority (CA) name used for importing cacert in the credentialstore.
|
clientSslKeypairName |
Client Keypair name used for importing the users certificates and keys. |
enableHostNameVerification |
If enabled the server checks that the client is talking to the correct server, by using the clientSSLKeypairName . Default: False. |
Syntax
object-notification setup configure --configFile ONS_Config_JSON_File
Options
configFile ONS_Config_JSON_File |
Specify a JSON file with ONS settings as described in the sample DPS/ONS configuration file below. |
Sample command
object-notification setup configure --configFile ons_config.json
Sample DPS/ONS configuration file
{
"queueObjectNotificationCountThreshold": 100000,
"status": "ENABLED",
"topicResource": {
"1": {
"topicNames": [
"no-ssl-1",
"no-ssl-2"
],
"notificationConnection": {
"ipPorts": [
{
"ip": "localhost",
"port": 2645
},
{
"ip": "172.168.15.10",
"port": 1450
},
{
"ip": "192.168.14.20",
"port": 1010
}
]
}
},
"2": {
"topicNames": [
"oneway-ssl-no-host-authentication-1",
"oneway-ssl--no-host-authentication-2"
],
"notificationConnection": {
"ipPorts": [
{
"ip": "127.0.0.1",
"port": 2125
},
{
"ip": "172.168.15.11",
"port": 1690
},
{
"ip": "192.168.14.21",
"port": 2011
}
],
"caCertName": "CA1",
"enableHostNameVerification": false
}
},

Download a sample Object notification configuration file.
Syntax
object-notification setup download-sample
Options
None
Sample command
ascli$ object-notification setup download-sample

Display current DPS/ONS settings.
Syntax
object-notification setup show
Options
None
Sample command
(admin ) ascli$ object-notification setup show
{
"queueObjectNotificationCountThreshold": 100000,
"status": "ENABLED",
"topicResource": {
"1": {
"topicNames": [
"newtest"
],
"notificationConnection": {
"ipPorts": [
{
"ip": "10.249.67.21",
"port": 9092
}
]
}
}
}

Description
Get the current request timeout for the active session.
Syntax
request-timeout get-timeout
Options
None.
Sample command
ascli$ request-timeout get-timeout --minutes 60

Description
Set request timeout for the active session.
Syntax
request-timeout set-timeout [--minutes value]
Options
--minutes value |
Number of minutes. |
Sample command
ascli$ request-timeout set-timeout --minutes 60
13.0 Resource Commands

Description
List sites.
Syntax
resources datacenters list [--dcid siteIndex] [--json]
Options
--dcid siteIndex |
Site index. Valid values are If this option is included, the output contains more information about the specified site. |
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources datacenters list --dcid Site2 --json

Description
List systems at a given site.
Syntax
resources datacenters list --dcid siteIndex [--rackid rackID] [--json]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources datacenters list --dcid Site2 --rackid R01

Description
List disks in a given node.
Syntax
resources disks list \
--dcid siteIndex --rackid rackID --machineid machineGUID [--json]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources disks list \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
Decommission a disk.
Note: This action is only possible on a disk that has a MISSING or DEGRADED status. Any attempt to decommission a disk with a different status fails.
Syntax
resources disks decommission \
--dcid siteIndex --rackid rackID --machineid machineGUID \
--diskid diskID [--force]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--diskid diskID |
Disk GUID. Get this from the output of 13.3 resources disks list. |
--force |
Skip prompts. |
Sample command
ascli$ resources disks decommission \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887 \
--diskid ata-VBOX_HARDDISK_VB3c8465dc-c53ee129

Description
Enable a disk's identification LED.
Note: This command is for the HDDs or SSDs on System Nodes and Storage Nodes. It does not work on HDDs in a Storage Enclosure Basic on ActiveScale X100.
Syntax
resources disks turn-on-led \
--dcid siteIndex --rackid systemIndex --machineid machineGUID \
--diskid diskID
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--diskid diskGUID |
Disk GUID. Get this from the output of 13.3 resources disks list. |
Sample command
ascli$ resources disks turn-on-led \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887 \
--diskid ata-VBOX_HARDDISK_VB3c8465dc-c53ee129

Description
Disable a disk's identification LED.
Note: These instructions apply to the identification LED on a server's HDD or SSD. They do not apply to the identification LED on Storage Enclosure Basic disks on ActiveScale X100.
Syntax
resources disks turn-off-led \
--dcid siteIndex --rackid rackID --machineid machineGUID \
--diskid diskID
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--diskid diskID |
Disk GUID. Get this from the output of 13.3 resources disks list. |
Sample command
ascli$ resources disks turn-off-led \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887 \
--diskid ata-VBOX_HARDDISK_VB3c8465dc-c53ee129

Description
List nodes in a given system.
Syntax
resources machines list \
--dcid siteIndex --rackid rackID [--machineid machineGUID] [--json]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources machines list \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887 --json

Description
Power off a node.
Syntax
resources machines power-off \
--dcid siteIndex --rackid rackID --machineid machineGUID \ [--force]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid rackID |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--force |
Skip prompts. |
Sample command
ascli$ resources machines power-off \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
Power on a node.
Syntax
resources machines power-on \
--dcid siteIndex --rackid rackID --machineid machineGUID \
[--force]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--force |
Skip prompts. |
Sample command
ascli$ resources machines power-on \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
Reboot a node.
Syntax
resources machines reboot \
--dcid siteIndex --rackid rackID --machineid machineGUID \ [--force]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
--force |
Skip prompts. |
Sample command
ascli$ resources machines reboot \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
Enable a node’s identification LED.
Syntax
resources machines turn-on-led \
--dcid siteIndex --rackid rackID --machineid machineGUID
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
Sample command
ascli$ resources machines turn-on-led \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
Disable a node’s identification LED.
Syntax
resources machines turn-off-led \
--dcid siteIndex --rackid rackID --machineid machineGUID
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. |
--machineid machineGUID |
Node GUID. Get this from the output of 13.7 resources machines list. |
Sample command
ascli$ resources machines turn-off-led \
--dcid Site2 --rackid R01 --machineid bd414bbd-a196-4545-9eab-eebcf2ecb887

Description
List systems at a specific site.
Syntax
resources racks list \
--dcid siteIndex [--rackid rackID] [--json]
Options
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. If you include this option the command returns more details about the given rack ID. |
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources racks list \
--dcid Site2 --rackid R01 --json

Description
Get inventory report.
Syntax
resources summary [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ resources summary
14.0 Object Storage Commands

Description
Delete the API key for a specified account/user.
Syntax
account access-key delete --email emailAddress --key keyID
Options
--email emailAddress |
Email address of the account/user. |
--key keyID |
Canonical ID of the API key. Get this from the output of 14.5 account access-key get. |
Sample command
ascli$ account access-key delete \
--email sourceacctuser2@myemaildomain.com --key str

Description
Disable the API key of a specified account/user.
Syntax
account access-key disable --email emailAddress --key keyID
Options
--email emailAddress |
Email address of the account/user. |
--key keyID |
Canonical ID of the API key. Get this from the output of 14.5 account access-key get. |
Sample command
ascli$ account access-key disable \
--email sourceacctuser2@myemaildomain.com --key str

Description
Enable the API key of a specified account/user.
Syntax
account access-key enable --email emailAddress --key keyID
Options
--email emailAddress |
Email address of the account/user. |
--key keyID |
Canonical ID of the API key. Get this from the output of 14.5 account access-key get. |
Sample command
$ account access-key enable \
ascli--email sourceacctuser2@myemaildomain.com --key str

Description
Create an API key for a specified account/user.
Syntax
account access-key generate --email emailAddress
Options
--email emailAddress |
Email address of the account/user. |
Sample command
ascli$ account access-key generate --email sourceacctuser2@myemaildomain.com

Description
List the API key(s) of a specified account/user.
Syntax
account access-key get --email emailAddress [--json]
Options
--email emailAddress |
Email address of the account/user. |
--json |
Create output in JSON format. If omitted, output is in CSV format. |
Sample command
ascli$ account access-key get --email sourceacctuser2@myemaildomain.com --json

Description
Add an S3 account.
Syntax
account add --email accountEmail --name accountName
Options
--email accountEmail |
Email address for the account. Must be unique. |
--name accountName |
Nickname for the account. |
Sample command
ascli$ account add --email sourceacct@myemaildomain.com --name sourceacct

Description
Download account details.
Syntax
account download [--pdf]
Options
|
Create output in PDF format. If omitted, output is in CSV format. |
Sample command
ascli$ account download

Description
Download a report of accounts ordered by activity.
Syntax
account download-by-activity [--json]
Options
--json |
Create output in JSON format. If omitted, output is in CSV format. |
Sample command
ascli$ account download-by-activity --json

Description
Download a report of accounts ordered by capacity.
Syntax
account download-by-capacity [--json]
Options
--json |
Create output in JSON format. If omitted, output is in CSV format. |
Sample command
ascli$ account download-by-capacity --json

Description
List accounts.
Syntax
account list [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ account list --json

Description
Create or update a capacity quota for a given account.
Syntax
account quota configure --email acctEmail \
--enforcement-type value --quota-max value \
[--notification-high-percentage value] \
[--notification-low-percentage value]
Options
--email acctEmail, |
Email address of the account. |
--enforcement-type value, |
Enforcement type. Valid values:
|
--quota-max value, |
Capacity quota for this account, in GB. This value must be an integer and must be higher than the current total capacity used by all buckets owned by this account. When the account exceeds this quota, PUTs/INITs to any bucket owned by this account may fail. |
--notification-high-percentage value, |
(Optional) Send email and raise the |
--notification-low-percentage value, |
(Optional) Send email and raise the |
Sample command
ascli$ account quota configure --email sourceacct@myemaildomain.com \
-f HARD -q 1 --lp 96 --hp 98
Sample output
Quota configuration for account sourceacct@myemaildomain.com
Quota Limit: 1.000000 GB
Capacity Usage: 0.970000 GB
Notification Low Percentage: 96%
Notification High Percentage: 98%
Enforcement Type: HARD
Update Time: Thu, 11 Oct 2018 16:58:48 GMT

Description
Get the capacity quota for a given account.
The output of this command is:
-
The quota for this account
-
The enforcement type for the quota (hard, soft, none)
-
The “high” threshold for a notification email and system event
-
The “low” threshold for a notification email and system event
-
The current capacity used by this account
-
The timestamp of the current capacity metric.
-
An error message if a quota hasn’t been set up for the given account
Syntax
account quota show --email acctEmail [--json]
Options
--email acctEmail |
Email address of the account. |
--json |
Create output in JSON format. If omitted, output is in CSV format. |
Sample command
ascli$ account quota show --email sourceacct@myemaildomain.com
Sample output
Quota configuration for account sourceacct@myemaildomain.com
Quota Limit: 1.000000 GB
Capacity Usage: 0.970000 GB
Notification Low Percentage: 96%
Notification High Percentage: 98%
Enforcement Type: HARD
Update Time: Thu, 11 Oct 2018 13:06:31 GMT

Description
Upload (bulk create) accounts.
Upload of up to 300 lines of comma-separated values with the following syntax:
accountEmail,accountName,userEmail,userName
name1@somedomain.com,accountName1,user1@somedomain.com,userName1
name1@somedomain.com,accountName1,user2@somedomain.com,userName2
name1@somedomain.com,accountName1,user3@somedomain.com,userName3
Note: Account and user names can contain Unicode (non-ASCII) characters and do not need to be unique. Email addresses must be unique across all accounts and users.
For example,
accountEmail,accountName,userEmail,userName
account2@somedomain.com,accountName2,account2user1@somedomain.com,account2user1
account2@somedomain.com,accountName2,account2user2@somedomain.com,account2user2
account2@somedomain.com,accountName2,account2user3@somedomain.com,account2user3
WARNING: Line 1 of the CSV file must be the header row.
Syntax
account upload --filepath inputFile [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
--filepath inputFile |
Name of the input file. Required. |
Sample command
ascli$ account upload --filepath myidentities.csv

Description
Add an S3 user to a specific account.
Syntax
account user add \
--account-email accountEmail \
--user-name userName --user-email userEmail
Options
--acount-email acctEmail |
Email address of the account. |
--user-name userName |
Nickname of the S3 user. |
--user-email userEmail |
Email address of the S3 user. Must be unique. |
Sample command
ascli$ account user add --email sourceacct@myemaildomain.com \
--user-name sourceacctuser1 --user-email sourceacctuser1@myemaildomain.com

Description
Disable an S3 user.
Syntax
account user disable --user-email userEmail
Options
--user-email userEmail |
Email address of the S3 user. |
Sample command
ascli$ account user disable --user-email sourceacctuser2@myemaildomain.com

Description
Enable an S3 user.
Syntax
account user enable --user-email userEmail
Options
--user-email userEmail |
Email address of the S3 user. |
Sample command
ascli$ account user enable --user-email sourceacctuser2@myemaildomain.com

Description
List users belonging to a specific S3 account.
Syntax
account user list --email emailAddress [-- json]
Options
--email emailAddress |
Email address of the account. |
--json |
Create output in JSON format. If omitted, output is in CSV format. |
Sample command
ascli$ account user list --email sourceacct@myemaildomain.com --json

Description
Change an S3 user’s email address.
Syntax
account user modify email-and-name \
--user-email userEmailOld --new-email userEmailNew
Options
--user-email userEmailOld |
Email address of the S3 user. |
--new-email userEmailNew |
New email address of the S3 user. Must be unique. Required. |
Sample command
ascli$ account user modify email\
--user-email sourceacctuser1@myemaildomain.com \
--new-email sourceacctuser2@myemaildomain.com

Description
Change an S3 user’s email address and name.
Syntax
account user modify email-and-name \
--user-email userEmailOld --new-email userEmailNew --new-name userNameNew
Options
--user-email userEmailOld |
Email address of the S3 user. |
--new-email userEmailNew |
New email address of the S3 user. Must be unique. Required. |
--new-name userNameNew |
New name of the S3 user. Required. |
Sample command
ascli$ account user modify email-and-name\
--user-email sourceacctuser1@myemaildomain.com \
--new-email sourceacctuser2@myemaildomain.com \
--new-name sourceacctuser2

Description
Change an S3 user’s name.
Syntax
account user modify email-and-name \
--user-email userEmailOld --new-name userNameNew
Options
--user-email userEmailOld |
Email address of the S3 user. |
--new-name userNameNew |
New name of the S3 user. Required. |
Sample command
ascli$ account user modify name\
--user-email sourceacctuser1@myemaildomain.com \
--new-name sourceacctuser2

Description
List S3 domains.
Syntax
domain list --type s3
Options
--type value, --t value |
Has to be “s3” when you want to list S3 domains. |
Sample command
ascli$ domain list --type s3

Description
Add an S3 domain. Note that this command might take some time to complete.
Syntax
domain add --type s3 --name S3DomainName
Options
--name value, --n value |
Name of the domain. You must use unique domain/subdomain names; in other words, ensure that no subset of any existing subdomain/domain suffix combinations is included in new domain/subdomain names. This is the only way for the system to correctly decode the bucket name. One way to achieve unique domain/subdomain names is to prefix all names with “s3”. For example, |
Sample command
ascli$ domain add --type s3 --name s3.test.example.com

Description
Delete an S3 domain. Note that this command might take some time to complete. Deleting a non-existent domain will always succeed.
Syntax
domain delete --type s3 --name S3DomainName
Options
--type value, --t value |
Has to be “s3” when you want to delete an S3 domain. |
--name value, --n value |
The name of the domain you want to remove. |
Sample command
domain delete --type s3 --name s3.test.example.com

Description
List IAM domains.
Syntax
domain list --type iam
Options
--type value, --t value |
Has to be “iam” when you want to list IAM domains. |
Sample command
ascli$ domain list --type iam

Description
Add an IAM domain. Note that this command might take some time to complete.
Syntax
domain add --type iam --name IAMDomainName
Options
--type value, --t value |
Has to be “iam” when you want to add an IAM domain. |
--name value, --n value |
Name of the domain. You must use unique domain/subdomain names; in other words, ensure that no subset of any existing subdomain/domain suffix combinations is included in new domain/subdomain names. This is the only way for the system to correctly decode the bucket name. One way to achieve unique domain/subdomain names is to prefix all names with “iam”. For example, |
Sample command
ascli$ domain add --type iam --name iam.test.example.com

Description
Delete an IAM domain. Note that this command might take some time to complete. Deleting a non-existent domain will always succeed.
Syntax
domain delete --type iam --name IAMDomainName
Options
--type value, --t value |
Has to be “iam” when you want to delete an IAM domain. |
--name value, --n value |
The name of the domain you want to remove. |
Sample command
domain delete --type iam --name iam.test.example.com

Description
Get a summary.
Syntax
s3 summary [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ s3 summary --json

Description
List accounts/users with system bucket access.
Syntax
s3 system-bucket get-access-accounts [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ s3 system-bucket get-access-accounts --json

Description
Grant access to the system bucket to a specific account/user.
Syntax
s3 system-bucket grant-access --email emailAddress
Options
--email emailAddress |
Email address of the account/user. |
Sample command
ascli$ s3 system-bucket grant-access --email sourceacctuser2@myemaildomain.com

Description
Get system bucket information. The output file's format is ASCII text.
Syntax
s3 system-bucket info
Options
None.
Sample command
ascli$ s3 system-bucket info

Description
Revoke access to the system bucket.
Syntax
s3 system-bucket revoke-access --email emailAddress
Options
--email emailAddress |
Email address of the account/user. |
Sample command
ascli$ s3 system-bucket revoke-access --email sourceacctuser2@myemaildomain.com
15.0 Security Commands

Description
Upload an SSL certificate for the S3 interface.
Syntax
security certificate ssl s3 upload --file-path fileName
Options
--file-path fileName |
Full path filename of your SSL certificate. Required. |
Sample command
ascli$ security certificate ssl s3 upload --file-path cert1.pem

Description
Upload an SSL certificate for ActiveScale SM.
Syntax
security certificate ssl samurai upload --file-path fileName
Options
--file-path fileName |
Full path filename of your SSL certificate. Required. |
Sample command
ascli$ security certificate ssl samurai upload --file-path cert1.pem

Description
Enable encryption using the specified license key and mode.
Syntax
security encryption enable --new-license-key string --mode encryptionMode
Options
--new-license-key string |
License key. Required. |
--mode encryptionMode |
Encryption mode. Required. Valid values: |
Sample command
ascli$ encryption enable --new-license-key verylongstring --mode ENCRYPT_EVERYTHING

Description
Get the system’s encryption status and mode.
Syntax
security encryption info
Options
None.
Sample command
ascli$ security encryption info

Description
Change the system’s encryption mode.
Syntax
security encryption set-mode --mode encryptionMode
Options
--mode encryptionMode |
Encryption mode. Required. Valid values: |
Sample command
ascli$ security encryption set-mode --mode ENCRYPT_EVERYTHING

Description
Get the details of a given user’s profile.
Syntax
security profile-query --username userName
Options
--username userName |
Name of user. |
Sample command
ascli$ security profile-query --username admin

Description
Change the email address of a given user.
Syntax
security profile-update email-address --username userName --new-email-address userEmailNew
Options
--username userName |
Name of user. |
--new-email-address userEmailNew |
New email address of the S3 user. Must be unique. Required. |
Sample command
ascli$ security profile-update email-address --username sourceacctuser1 \
--new-email-address sourceacctuser1@newdomain.example

Description
Change the password of a given user.
Syntax
security profile-update email --username userName \
--current-password oldpw --new-password newpw
Options
--username userName |
Name of user. |
--current-password oldpw |
Current password of user. Required. |
--new-password newpw |
New password of user. Required. |
Sample command
ascli$ security profile-update email --username sourceacctuser1 \
--current-password pasword1 --new-password password2

Description
Create LDAP configuration
Syntax
security ldap create
Options
--filepath |
Sample JSON LDAP configuration file. Optional |
Interactive prompts options
Base DN |
(Required) Base DN of the LDAP Server. Example: |
Manager DN |
(Required) Bind User DN of the LDAP Server |
Manager Password |
(Required) Password of the Bind DN user |
User Search Base |
(Optional) Base DN subtree to be used when searching user entries |
User Search Filter |
(Optional) Filter for finding entries in the user search base |
Group Search Base |
(Optional) Base DN subtree to be used when searching groups entries |
Group Search Filter |
(Optional) Filter for finding entries in the group search base |
Supported Services |
(Optional) Services to enable LDAP. Default “ |
LDAP Type |
(Optional) LDAP Server Type. For example AD. Default “ |
LDAP Protocol |
(Optional) Protocol for connecting to LDAP ( |
LDAP Port |
(Required) Port for connecting to LDAP. Default 636 |
CA Certificate Path |
(Optional) Root CA certificate for connecting using |
Enable Hostname Verification |
(Optional) Enable/disable hostname verification |
LDAP Server IP/FQDN |
(Required) IP/FQDN of the LDAP Server |
Sample command
ascli$ security ldap create --filepath myldapconfiguration.json
Sample command for Interactive
ascli$ security ldap create
AD Server Configuration:
- Base DN * >
- Manager DN * >
- Manager Password * >
- User Search Base >
- User Search Filter >
- Group Search Base >
- Group Search Filter >
- Supported Services > NFS
- LDAP Type > AD
- LDAP Protocol (LDAP | LDAPS | START_TLS) > LDAPS
- LDAP Port * > 636
- CA Certificate Path >
- Enable Hostname Verification >YES
Site1:
- LDAP Server IP/FQDN * >
Apply changes (yes/no) >

Description
Display a sample JSON configuration file for LDAP configuration.
Syntax
security ldap download-sample
Options
None.
Sample command
ascli$ security ldap download-sample

Description
Lists LDAP configuration
Syntax
security ldap list [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCLI format. |
Sample command
ascli$ security ldap list

Description
Remove LDAP configuration.
Syntax
security ldap remove
Options
--basedn |
Basedn of the LDAP configuration. Required |
Sample command
ascli$ security ldap remove --basedn “dc=example,dc=com”

Description
Update LDAP configuration
Syntax
security ldap update
Options
--filepath |
sample JSON LDAP configuration file. Optional |
--basedn |
basedn name. Required |
Interactive prompts or command-line options
Base DN |
(Required) Base DN of the LDAP Server. Example: |
Manager DN |
(Required) Bind User DN of the LDAP Server |
Manager Password |
(Required) Password of the Bind DN user |
User Search Base |
(Optional) Base DN subtree to be used when searching user entries |
User Search Filter |
(Optional) Filter for finding entries in the user search base |
Group Search Base |
(Optional) Base DN subtree to be used when searching groups entries |
Group Search Filter |
(Optional) Filter for finding entries in the group search base |
Supported Services |
(Optional) Services to enable LDAP. Default “ |
LDAP Type |
(Optional) LDAP Server Type. For example AD. Default “ |
LDAP Protocol |
(Optional) Protocol for connecting to LDAP ( |
LDAP Port |
(Required) Port for connecting to LDAP. Default |
CA Certificate Path |
(Optional) Root CA certificate for connecting to LDAP using ldaps or starttls protocol |
Enable Hostname Verification |
(Optional) Enable/disable hostname verification |
LDAP Server IP/FQDN |
(Required) IP/FQDN of the LDAP Server |
Sample command
ascli$ security ldap update --filepath myldapconfiguration.json --basedn “dc=example,dc=com”
Sample command for interactive
ascli$ security ldap update --basedn “dc=example,dc=com”
AD Server Configuration:
- Base DN * > dc=example,dc=com
- Manager DN * > cn=binddn,cn=Users,dc=example,dc=com
- Manager Password * > ******
- User Search Base >
- User Search Filter >
- Group Search Base >
- Group Search Filter >
- Supported Services > NFS
- LDAP Type > AD
- LDAP Protocol (LDAP | LDAPS | START_TLS) > LDAP
- LDAP Port * > 389
- CA Certificate Path >
- Enable Hostname Verification > no
Site1:
- LDAP Server IP/FQDN * > 192.168.52.20
Apply changes (yes/no) >

Description
Create KDC configuration
Syntax
security kdc create
Options
--filepath |
sample JSON KDC configuration file. Optional |
Interactive prompts or command-line options
LDAP Domain |
(Required) LDAP domain to configure in KDC. Example: |
Keytab File |
(Required) Keytab file containing the Service Principals Services to enable Kerberos. Example: |
Service Principals |
(Required) Service Principal Names. Example: |
Supported Services |
(Optional) |
KDC Server IP/FQDN |
(Required) IP/FQDN of the KDC Server |
Sample command
ascli$ security kdc create --filepath mykdcconfiguration.json
Sample command for interactive
ascli$ security kdc create
KDC Server Configuration:
- LDAP Domain * >
- Keytab File * >
- Service Principals * >
- Supported Services > NFS
Site1:
- KDC Server IP/FQDN * >
Apply changes (yes/no)>

Description
Display a sample JSON configuration file for KDC configuration.
Syntax
security kdc download-sample
Options
None.
Sample command
ascli$ security kdc download-sample

Description
Lists KDC configuration
Syntax
security kdc list [--json]
Options
--json |
Create output in JSON format. If omitted, output is in ASCLI format. |
Sample command
ascli$ security kdc list

Description
Remove KDC configuration.
Syntax
security kdc remove
Options
--ldapdomain |
LDAP Domain configuration in KDC. Required |
Sample command
ascli$ security kdc remove ––ldapdomain “example.com”

Description
Update KDC configuration
Syntax
security kdc update
Options
--ldapdomain |
LDAP domain to configure in KDC |
--filepath |
sample JSON KDC configuration file. Optional |
Interactive prompts or command-line options
LDAP Domain |
(Required) LDAP domain to configure in KDC. Example: |
Keytab File |
(Required) Keytab file containing the Service Principals Services to enable Kerberos. Example: |
Service Principals |
(Required) Service Principal Names. Example: |
Supported Service |
(Optional) |
KDC Server IP/FQDN |
(Required) IP/FQDN of the KDC Server |
Sample command
ascli$ security kdc update --filepath mykdcconfiguration.json --ldapdomain example.com
Sample command for interactive
ascli$ security kdc update --ldapdomain example.com
KDC Server Configuration:
- LDAP Domain * > example.com
- Keytab File * > ******
- Service Principals * > nfs/udaserver.example.com
- Supported Services > NFS
Site1:
- KDC Server IP/FQDN * > 192.168.52.20
Apply changes (yes/no) >
16.0 Session Timeout Commands

Description
Get the current session timeout for the active session.
Syntax
session-timeout get-timeout
Options
None.
Sample command
ascli$ session-timeout get-timeout --minutes 60

Description
Set session timeout for the active session.
Syntax
session-timeout set-timeout [--minutes value]
Options
--minutes value |
Number of minutes. Valid values: 1-60. Default: 6. |
Sample command
ascli$ session-timeout set-timeout --minutes 60
17.0 System Commands

Description
Upload the “scale out” job’s “master plan”.
Syntax
system expansion scale-out master-plan upload [--filepath value]
Options
--filepath value |
Full pathname of the file. |
Sample command
ascli$ system expansion scale-out master-plan upload

Description
Start a “scale out” job.
Syntax
system expansion scale-out start
Options
None.
Sample command
ascli$ system expansion scale-out start

Description
Get the status of the “scale out” job.
Syntax
system expansion scale-out status
Options
None.
Sample command
ascli$ system expansion scale-out status

Description
Download a template of the “scale out” job’s “master plan”.
Syntax
system expansion scale-out template download
Options
None.
Sample command
ascli$ system expansion scale-out template download

Description
Upload the “scale up” job’s “master plan”.
Syntax
--dcid
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System ID. Get this from the output of 13.1 resources datacenters list. Default: None. |
--filepath value |
Full pathname of the file. |
ascli$ system expansion scale-up master-plan upload --dcid Site1 --rackid R01

--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. Default: None. |
ascli$ system expansion scale-up start --dcid Site1 --rackid R01

ascli$ system expansion scale-up status

--dcid siteIndex --rackid rackID
--dcid siteIndex |
Site index. Valid values are |
--rackid systemIndex |
System index. Get this from the output of 13.1 resources datacenters list. Default: None. |
ascli$ system expansion scale-up template download --dcid Site1 --rackid R01

Description
Download a report of the system durability policy in CSV format.
Syntax
system software list [--json]
Options
--json |
(Optional) Create a report in JSON format. If omitted, the report is in ASCII format. |
Sample command
ascli$ system software list

Description
Upgrade ActiveScale OS. This command is unavailable. [ES5-5511]

Description
Upload an ActiveScale OS image. This command is unavailable. [ES5-5511]
18.0 System Overview Commands

Description
Download a report of system capacity.
Syntax
system-overview download capacity-report [--json]
Options
--json |
(Optional) Create a report in JSON format. If omitted, the report is in CSV format. |
Sample command
ascli$ system-overview download capacity-report

Description
Download a report of the system durability policy.
Syntax
system-overview download durability-policy-report [--json]
Options
--json |
(Optional) Create a report in JSON format. If omitted, the report is in CSV format. |
Sample command
ascli$ system-overview download durability-policy-report

Description
Download a report of system response time in CSV format.
Syntax
system-overview download system-performance response-time-report
Options
None.
Sample command
ascli$ system-overview download system-performance response-time-report

Description
Download a report of system throughput in CSV format.
Syntax
system-overview download system-performance throughput-report
Options
None.
Sample command
ascli$ system-overview download system-performance throughput-report

Description
Download a report of read and write transactions in CSV format.
Syntax
system-overview download system-performance transactions-rw-report
Options
None.
Sample command
ascli$ system-overview download system-performance transactions-rw-report

Description
Download a report of CPU usage in CSV format.system-overview download system-usage cpu-usage-report
Options
None.
Sample command
ascli$ system-overview download system-usage cpu-usage-report

Description
Download a report of memory usage in CSV format.
Syntax
system-overview download system-usage memory-usage-report
Options
None.
Sample command
ascli$ system-overview download system-usage memory-usage-report
19.0 Task Commands

Description
Get the details of the task with the specified task ID.
Syntax
tasks details --taskid taskID [--json]
Options
--taskid taskID |
Task GUID. Get this from the output of any command that generated a new task. |
--json, -j |
(Optional) Display output in JSON format. If omitted, output is in ASCII format. |
Sample command
ascli$ tasks details --taskid 8eb12af4-2478-4133-a39f-47505f795116 --json
20.0 Telemetry Commands

Description
Download the latest audit logs.
Syntax
telemetry audit-log download
Options
None.
Sample command
ascli$ telemetry audit-log download

Description
Download historical audit logs.
Syntax
telemetry audit-log historical download
Options
None.
Sample command
ascli$ telemetry audit-log historical download

Description
Collect audit logs.
Syntax
telemetry audit-log trigger-collection
Options
None.
Sample command
ascli$ telemetry audit-log trigger-collection

Description
Download the SNMP MIB.
Syntax
telemetry snmp-mib download
Options
None.
Sample command
ascli$ telemetry snmp-mib download

Description
Disable ”machine learning”. Machine learning is the collection of telemetry and the forwarding of that telemetry to Support.
Syntax
telemetry machine-learning disable
Options
None.
Sample command
ascli$ telemetry machine-learning disable

Description
Enable “machine learning” (telemetry collection).
Syntax
telemetry machine-learning enable
Options
None.
Sample command
ascli$ telemetry machine-learning enable

Description
Get “machine learning” (telemetry collection) status.
Syntax
telemetry machine-learning status
Options
None.
Sample command
ascli$ telemetry machine-learning status

Description
Synchronize “machine learning” (telemetry collection).
Syntax
telemetry machine-learning sync
Options
None.
Sample command
ascli$ telemetry machine-learning sync

Description
Download system logs.
Note: Before downloading log files, first push the system logs to the system bucket and wait for that job to complete.
The default name of the log bundle is ActiveScale_Support_Logs_YYYYMMDD_HHmmss.zip
.
Syntax
telemetry supportlogs download-supportlogs \
[--site siteIndex]\
[--subsystem value]\
[--machine value]\
[--start-date 'timestamp'] [--end-date 'timestamp']
Options
--site siteIndex |
(Optional) Limit the log bundle contents to only those logs that pertain to the specified site index. Valid values are |
--subsystem value |
Valid values are |
--machine hostName |
(Optional) Limit the log bundle contents to only those logs that pertain to the specified host name. For example, |
--component componentName |
(Optional) Limit the log bundle contents to only those logs that pertain to the specified component. When |
--start-date timestamp |
(Optional) Limit the logs in the downloadable bundle to only those with a timestamp equal to or later than this start date and time. Format Default: 24 hours prior to the current time. |
--end-date timestamp |
(Optional) Limit the logs in the downloadable bundle to only those with a timestamp equal to or earlier than this end date and time. Format Default: 24 hours prior to the current time. |
Sample command
Download all logs for all machines for a specific timeframe:
ascli$ telemetry supportlogs download-supportlogs \
--start-date 'Tue, 17 Oct 2017 15:50:01 GMT' \
--end-date 'Wed, 18 Oct 2017 15:20:01 GMT'
Download all logs for a specific site:
ascli$ telemetry supportlogs download-supportlogs --site Site2
Download all logs for a specific node at a specific site:
ascli$ telemetry supportlogs download-supportlogs \
--site Site2 --machine Site1-R01-SG01
Download all logs for a specific component on a specific machine at a specific site:
ascli$ telemetry supportlogs download-supportlogs \
--site Site2 --machine Site1-R01-SG01 --component Marvin
21.0 UDA Commands for Volume and NFS Export Management

Description
Create uda volume linked to an account.
-
The name of the volume must be between 3 and 63 characters long, and can contain only lower-case characters, numbers, periods, and dashes.
-
It should comply with the S3 bucket naming rules listed on https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html
Syntax
ascli$ uda volume create [command options] [arguments...]
Options
Note: The volume name should be between 3 and 63 characters long. It should only contain lower-case characters, numbers, periods and dashes. It should not start or end with a dash or period, and it should not look like a valid IP address.
--name value, -n value |
(Required) Volume name |
--email value, -m value |
(Optional) Set account identity by account email |
--canonical-id value, -c value |
(Optional) Set account identity by canonical-id |
--enable-encryption, -e |
(Optional) Enable encryption for this volume |
Sample command
ascli$ uda volume create --name resources --email user@domain.com
Sample output
Successfully created volume: resources

Description
Lists uda volumes in an alphabetical order.
Syntax
ascli$ uda volume list [command options] [arguments...]
Options
--marker value, -M value |
(Optional) Where to start the listing from (default: '') |
--exclude-marker, -x |
(Required) When set, the marker will be excluded in the output (default: False) |
--email value, -m value |
(Optional) Restrict the listing for volumes for this account only (specified by account-email) |
--canonical-id value, -c value |
(Optional) Restrict the listing for volumes for this account only (specified by canonical-id) |
--count value, -C value |
(Optional) How many volumes to return in the listing maximally (limited to 1000, default: 100) |
--json, -j |
(Optional) Show output in JSON format |
Sample command
ascli$ uda volume list
Sample output
---------------------------------------------------------------
| VOLUME NAME | ACCOUNT EMAIL | CREATION TIME |
---------------------------------------------------------------
| resources | user@domain.com | 2019-08-22 15:21 |
| volume0 | system.user@quantum.com | 2019-07-16 12:38 |
---------------------------------------------------------------

Description
Update properties of uda volume.
Syntax
ascli$ uda volume update [command options] [arguments...]
Options
--name value, -n value |
(Required) Volume name |
--email value, -m value |
(Optional) Change account identity by specifying account-email |
--canonical-id value, -c value |
(Optional) Change account identity by specifying canonical-id |
--enable-encryption value, -e value |
(Optional) Enable encryption for this volume |
Sample command
ascli$ uda volume update --name resources --email other_user@domain.com
Sample output
Successfully updated volume: resources
Note: To encrypt volumes, ensure that the encryption is set to System Wide Enforced or Object Level in ActiveScale SM Configuration > Security. When none of these 2 options is selected, the system does not encrypt any volumes and hence enabling encryption on a volume fails.

Description
Get properties of a specific uda volume.
Syntax
ascli$ uda volume info [command options] [arguments...]
Options
--name value, -n value |
(Required) Name of the volume to show info for |
--json, -j |
(Optional) Show output in json format |
Sample command
ascli$ uda volume info --name resources
Sample output
----------------------------------------------------------------------------------------
| VOLUME NAME | ACCOUNT EMAIL | CREATION TIME | MODIFICATION TIME |
----------------------------------------------------------------------------------------
| resources |user@domain.com |2019-08-22 15:21 | 2019-08-23 08:49 |
-----------------------------------------------------------------------------------------

Description
Delete uda volume. To wipe all data in a nonempty volume permanently, ensure to set the wipe flag.
Syntax
ascli$ uda volume delete [command options] [arguments...]
Options
--name value, -n value |
(Required) Name of volume to delete |
--wipe value |
(Optional) When this flag is set, permanently wipe all data within the volume. |
Sample command
ascli$ uda volume delete --name emptyvolume
Sample output
Successfully deleted volume : emptyvolume

Description
Show information (UID, GID and permissions settings) of a path with the given name belonging to the specified uda volume.
Syntax
ascli$ uda path info [command options] [arguments...]
Options
--volume, -v value |
(Required) Name of the volume to which the path belongs. |
--path, -p value |
(Required) Name of the path to show information. |
Sample command
ascli$ uda path info --volume resources --path /videos
Sample output
UID |
GID |
PERM |
PATH |
1000 |
1000 |
755 |
/resources/videos |

Description
Permanently wipes all data in a directory specified by the path within a volume.
Syntax
ascli$ uda path wipe [command options] [arguments...]
Options
--volume, -v value |
(Required) Name of the volume to which the path belongs. |
--path, -p value |
(Required) Name of the path to delete. |
Sample command
ascli$ uda path wipe --volume resources --path /videos
Sample output
Path /videos of volume resources has been wiped successfully

Description
Count the amount uda volumes.
Syntax
ascli$ uda volume count
Options
None
Sample command
uda volume count
Sample output
Amount of uda volumes: 2

Description
Create an NFS export of a new or existing directory within a volume. If the directory does not exist it can be created by using the --create-path option. Creation of identical exports (same path, same tags, and so on) and creation of exports with ambiguous export paths fails. Creating exports for the same paths is supported when specifying different tags.
Syntax
ascli$ uda nfs-export create [command options] [arguments...]
Options
--volume value, -v value |
(Required) The volume in which to export this path. |
--path value, -P value |
(Required) The exported path |
--tag value, -T value |
(Optional) Export tag |
--create-path, -c |
(Optional) Recursively create the path if it does not exist yet |
--uid value, -u value |
(Optional) Export directory user ID |
--gid value, -g value |
(Optional) Export directory group ID |
--perm value, -p value |
(Optional) Export directory permissions |
--access-type value, -A value |
(Optional) Export access type, |
--anonymous-uid value, -U value |
(Optional) Export anonymous UID, range: (-2147483648,4294967295) |
--anonymous-gid value, -G value |
(Optional) Export anonymous GID, range: (-2147483648,4294967295) |
--squash value, -S value |
(Optional) Export squash, |
--clients value, -C value |
(Optional) List of clients, specified by hostname, ip address, netgroup, CIDR network address, host name wild card, or simply '*' to apply to all clients. |
--sec value, -a value |
(Optional) Comma separated list for security type, < |
--manage-gids value, -m value |
(Optional) Export manage gid, |
--json, -j |
(Optional) Show output in JSON format |
Sample commands for usage of tags
In this example, the root directory of volume resources is exported twice with different tags and different permissions. The user with uid
1000 will have read and write access to all directories in the root of volume resources, whereas user with uid
2000 will have read-only access. The NFS clients can mount the exports using sudo mount
SystemNodeIP:tag1
and sudo mount SystemNodeIP:tag2
respectively. NFS Client Chief Editor. uid
1000 may have read and write access, whereas NFS Client Video Editor may have uid
2000 and read-only access.
Sample command and output
ascli$ uda nfs-export create --volume resources --path / --tag tag1 --uid 1000 --gid 1000 --perm 755 --squash root_squash --access-type rw
Successfully created export resources:/ with id 3
ascli$ uda nfs-export create --volume resources --path / --tag tag2 --uid 2000 --gid 1000 --perm 755 --squash root_squash --access-type ro
Successfully created export resources:/ with id 4
Sample command for creating an export for a new directory
This command creates and exports a new directory videos
.
ascli$ uda nfs-export create --volume resources --path /videos --create-path --uid 1000 --gid 1000 --perm 755 --squash root_squash --tag mytag
Sample output
Successfully created export resources:/videos with id 2
Sample command for usage of tags
This example creates an export for NFS Client with uid
2000 with Kerberos enabled.
ascli$ uda nfs-export create --volume resources --path /videos --squash root_squash
--sec krb5 -c -u 2000 -g 2000 -p 777 --access-type rw
Sample output
Successfully created export resources:/videos with id 6

Description
List uda NFS exports.
Syntax
ascli$ uda nfs-export list [command options] [arguments...
Options
--json, -j |
(Optional) Show output in JSON format |
--volume value, -v value |
(Optional) Only show exports for this volume |
--marker value, -m value |
(Optional) Start listing at specified marker (default: 0) |
--exclude-marker, -x |
(Optional) Do mot include export with id=marker in listing |
--count value, -C value |
(Optional) How many exports to return in the listing maximally (limited to 1000, default: 100) |
Sample command
ascli$ uda nfs-export list
Sample output
-------------------------------------------------------------------------------------------------------
| ID| VOLUME NAME | EXPORT PATH | TAG | OPTIONS |
-------------------------------------------------------------------------------------------------------
| 1 | volume0 | /backups | | sec:sys, access_type:RW |
| 2 | volume0 | /legacyexport | | access_type:RW, sec:sys |
| 3 | resources | /resources/ | tag1 | access_type:RW, sec:sys, squash:root_squash, tag:tag1 |
| 4 | resources | /resources/ | tag2 | squash:root_squash, tag:tag2, access_type:RO, sec:sys |
| 5 | resources | /resources/photos | | squash:root_squash, access_type:RW, sec:krb5 |
| 6 | resources | /resources/videos | mytag | access_type:RW, sec:krb5, squash:root_squash |
-------------------------------------------------------------------------------------------------------

Description
Update the properties of a uda export.
Syntax
ascli$ uda nfs-export update [command options] [arguments...]
Options
--id value, -i value |
(Required) Export ID |
--access-type value, -A value |
(Optional) Export access type, |
--anonymous-uid value, -U value |
(Optional) Export anonymous UID, range: (-2147483648,4294967295) |
--anonymous-gid value, -G value |
(Optional) Export anonymous GID, range: (-2147483648,4294967295) |
--squash value, -S value |
(Optional) Export squash, |
--tag value, -T value |
(Optional) Export tag (specify "" to remove tag) |
--clients value, -C value |
(Optional) List of clients, specified by hostname, ip address, netgroup, CIDR network address, host name wild card, or simply '*' to apply to all clients. |
--sec value, -a value |
(Optional) Comma separated list for security type, |
--manage-gids value, -m value |
(Optional) Export manage gids, |
--uid value, -u value |
(Optional) Export directory user ID |
--gid value, -g value |
(Optional) Export directory group ID |
--perm value, -p value |
(Optional) Export directory permissions |
Sample command
ascli$ uda nfs-export update --id 6 --clients 192.168.1.12,192.168.1.13
Sample output
Successfully updated export: /resources/videos

Description
Show information on a specific uda export.
Note: uid
, gid
and permissions
options are not shown here. They are file level permissions and can be retrieved by mounting the export and executing ls -l
at the top level of the mounted directory.
Syntax
ascli$ uda nfs-export info [command options] [arguments...]
Options
--json, -j |
(Optional) Show output in JSON format |
--id value, -i value |
(Optional) Show info for export with specified id |
Sample command
ascli$ uda nfs-export info --id 6
Sample output
-------------------------------------------------------------------------------------------------------
|ID|VOLUME NAME| EXPORT PATH | TAG | OPTIONS |
------------------------------------------------------------------------------------------
|6| resources |/resources/videos | | access_type:RW, clients:192.168.1.12,192.168.1.13, sec:krb5, squash:root_squash |
-------------------------------------------------------------------------------------------------------

Description
Remove uda nfs-export but retains the data.
Syntax
ascli$ uda nfs-export remove [command options] [arguments...]
Options
--id value, -i value |
(Required) Export ID |
Sample command
ascli$ uda nfs-export remove --id 3
Sample output
Successfully removed export /resources/
22.0 Ability to Change S3 Activity-Distribution

Updates the relative distribution of in progress storage activity for S3 traffic. A budget of 100(%) can be distributed between 3 types of S3 traffic: external client S3 requests c, outgoing replication requests o and incoming replication requests i. The system will be configured to optimally prioritize that activity type on all system nodes. To revert to a balanced configuration, use the --balanced flag. The sum of the parameters -c, -o and -i should equal 100.0. Changing this distribution will not impact on-going external client traffic. In the output, the exact percentages may differ slightly from the requested percentages due to rounding errors (percentages need to be translated into a rounded amount of in progress requests). Note that is call might take some time to complete.
Note: Proceed with caution when using this ActiveScale CLI s3 activity-distribution update call. It is intended for experienced users only and responsibility of the user. Too low percentages for either of the 3 types of S3 traffic can cause client-requests to go slow or replication queues to build up. In case of replication, make sure to adjust the percentages on both the source and destination ActiveScale systems.
Syntax
s3 activity-distribution update [command options] [arguments...]
Options
--perc-client float, -c float |
(Required) Percentage of in progress external client S3 (frontend) activity. Default 33.40. |
--perc-replication-out float, -o float |
(Required) Percentage of in progress outgoing replication activity. Default 33.30. |
--perc-replication-in float, -i float |
(Required) Percentage of in progress outgoing replication activity. Default 33.30. |
--balanced, -b |
(Optional) Resets the distribution to its default. When specified, other options must be omitted. |
--help, -h |
Show help message. |
Sample 1 command
ascli$ s3 activity-distribution update -c 60.0 -o 20.0 -i 20.0
Sample 1 output
New values: client-S3: 60.06%, replication-out: 19.97%, replication-in: 19.97%
Sample 2 command
ascli$ s3 activity-distribution update --balanced
Sample 2 output
New values: client-S3: 33.40%, replication-out: 33.30%, replication-in: 33.30%
The s3 activity-distribution update may time out in high latency environments such as 3-GEO environments. In such cases, the call may be retried after 5 min. The call s3 activity-distribution show can be used to verify the settings.

Shows the current relative distribution of in progress storage activity for S3 traffic in the system (in %).
Syntax
s3 activity-distribution show [command options]
Options
--help, -h |
Show help message |
Sample command
ascli$ s3 activity-distribution show
Sample output
Client-S3: 33.40%, replication-out: 33.30%, replication-in: 33.30%