KumoScale Provisioner

5.1 Key Commands for KumoScale Provisioner Configuration

The following commands are useful for the configuration of a KumoScale environment and displaying the Provisioner’s information:

Command Name

Description

Help

Show the available commands with a short description.

Exit

Exit the KumoScale Provisioner CLI.

Show Info

Show KumoScale information.

Show License

Show KumoScale license information.

Set License

Set KumoScale license.

Add Backend

Add a KumoScale appliance to the Provisioner’s inventory.

Modify Backend

Modify the configuration of a KumoScale appliance in the Provisioner’s inventory.

Remove Backend

Remove a KumoScale appliance from the Provisioner’s inventory.

Show Backends

Show the details and state of the KumoScale appliances in the Provisioner’s inventory.

Create Tenant

Add a new tenant containing volumes, snapshots and snapshot volumes

Delete Tenant

Delete a configured tenant

Modify Tenant

Modify the budget requirements of a configured tenant

Show Tenants

Shows the configured tenants

Show Volumes

Show the virtual volumes configured in KumoScale.

Show Snapshots

Show the snapshots configured in KumoScale.

Add Replica

Add new replica to a resilient volume.

Delete Replica

Delete a replica from a resilient volume.

Migrate Replica

Migrate a replica from one appliance to another.

Remove Host

Remove a host’s configuration from the Provisioner.

Show Hosts

Show the configured hosts and their information.

Show Targets

Show the targets of a host and their information.

Remove Task

Remove a task that has ended.

Show Tasks

Show the Provisioner’s tasks.

Show Syslog

Show the syslog server(s) configuration.

 

5.2 Detailed Command Description

This section provides a detailed description of KumoScale Provisioner CLI commands. Each section describes the input parameters and the output of each command.

5.2.1 System Commands

5.2.1.1 Help

Command namehelp

Description – Show the available commands with a short description.

Parameters – no parameters.

5.2.1.2 Exit from CLI

Command nameexit

Description – exit from KumoScale Provisioner CLI.

Parameters – no parameters.

5.2.2 KumoScale Configuration Commands

5.2.2.1 Show License

Commandshow-license

Description – show the license information.

Parameters – no parameters.

Output example

  • Type – License type (POC or PRODUCTION)
  • Expiration – License expiration date (or None - production)
  • Max Backends – Maximum number of Backends The license permits adding to the Provisioner (or Unlimited – in production)

Possible messages

None

5.2.2.2 Set License

Command – set-license

Description – Set a KumoScale license (for a PoC or production).

If at least one configured backend is not certified, the operation shall require an additional confirmation, to which you should respond yes if you wish to install the license.

Parameters – --path <license full path> [--host-ip <remote IP address> --user <user name> --pass <password>]

  • Path – the full path of the license file.
  • Host IP – the IP address of the remote Host.
  • User – the user name to access the remote Host.
  • Pass – the password for accessing the remote Host.

Output example

When license is installed successfully: License was installed successfully.

Possible messages

Invalid parameter

Connectivity or access issues

InvalidLicense – Invalid license file

5.2.2.3 Show Tasks

Commandshow-tasks

Description – Displays the current tasks run by the Provisioner.

Parameters – [--task-id <task ID> | --host-id <host ID>]

  • Task ID – The task identifier (optional)
  • Host ID – The host identifier (optional)

Output example

If no input parameter was specified, the following details will be displayed:

  • Task ID – The task’s identifier
  • Operation – The task’s type (Remote Migration, Install License, Update Inventory, Fetch Inventory, Reset Inventory)
  • State – The task’s state (IDLE, RUNNING, FINISHED, FAILED, ABORTED)
  • Host ID – The host’s identifier (when applicable)

If one of the input parameters was specified, the following details will be displayed for the relevant task:

  • Task ID – The task’s identifier
  • Host ID – The host’s identifier (when applicable)
  • Operation – The task’s type (Remote Migration, Install License, Update Inventory, Fetch Inventory, Reset Inventory)
  • State – The task’s state (IDLE, RUNNING, FINISHED, FAILED, ABORTED)
  • Progress – The task’s progress in percentage
  • Task Status – The status of a finished task
  • Description – The status description of a finished task
  • Start Date – The date-time the task started
  • End Date – The date-time the task ended
  • Configuration – The list of configuration tags (name: value) (if exists)
  • Stoppable – Can the task be stopped? (Yes or No)

Possible messages

None.

5.2.2.4 Remove Task

Commandremove-task

Description – Remove an existing task (completed tasks are deleted automatically after one day from their completion (successful, aborted or failed).

Parameters – --task-id <task ID> [--host-id <host Id>]

  • Task ID – The identifier
  • Host ID – The host UUID (optional)

Possible messages

Success – the task was removed

NoTask – there is no such task with specified input parameters

OngoingTask – the task has not completed

TaskBelongsToOtherHost – The task is associated with a host different than input

5.2.3 Multi-Tenancy Configuration Commands

5.2.3.1 Create Tenant

Command namecreate-tenant

Descriptor – Create a new tenant with a capacity and performance budget for an environment with multiple tenants.

Parameters – --name <tenant name> --capacity <capacity in GiB> --total-iops <IOpS budget> --total-bw <BW budget> [--uuid <tenant UUID>]

  • Name – The tenant’s name
  • Capacity – The total tenant’s capacity budget (in GiB)
  • Total IOpS – The tenant’s IOps budget
  • Total BW – The tenant’s BW budget (in KB/sec)
  • UUID – The telnet’s UUID (optional)

Possible messages

Invalid parameter

TenantAlreadyExists – A tenant with this name already exists

NoBackends – no backends are configured

5.2.3.2 Delete Tenant

Command namedelete-tenant

Descriptor – Delete a configured tenant.

Parameters –uuid <tenant UUID>

  • UUID – The tenant UUID

Possible messages

Invalid parameter

TenantHasVolumes – There are volumes configured for this tenant

TenantNotFound – the tenant ID does not exist

5.2.3.3 Modify Tenant

Command namemodify-tenant

Descriptor – Modify the budget requirements of a configured tenant.

Parameters – --uuid <tenant UUID> --capacity <capacity in GiB> --total-iops <IOpS budget> --total-bw <BW budget>

  • UUID – The tenant UUID
  • Capacity – The total tenant’s capacity budget (in GiB)
  • Total IOpS – The tenant IOps budget
  • Total BW – The tenant BW budget (in KB/sec)

Possible messages

Invalid parameter

TenantNotFound – the tenant ID does not exist

NoBackends – no backends are configured

5.2.3.4 Show Tenants

Commandshow-tenants

Description – Shows the configured tenants.

Parameters – [--name <tenant name> | --uuid <tenant UUID>]

  • Name – The tenant’s name (optional)
  • UUID – The tenant’s UUID (optional)

Output example

If no filter is specified, the following details are displayed:

  • Name – The tenant’s name
  • UUID – The tenant’s UUID

If a filter is specified, the following details are displayed:

  • Name – The tenant’s name
  • UUID – The tenant’s UUID
  • Total Capacity – The tenant’s capacity budget (in GiB)
  • Total IOpS – The tenant’s IOps budget
  • Total BW – The tenant’s BW budget (in KB/sec)
  • Consumed Capacity – The consumed capacity (in GiB)
  • Consumed IOpS – The consumed IOpS
  • Consumed BW – The consumed BW (in KB/sec)

Possible messages

None.

5.2.4 KumoScale Inventory Configuration Commands

5.2.4.1 Show Info

Command nameshow-info

Description – Show KumoScale Provisioner information.

Parameters – no parameters.

Output example

  • Version – The Provisioner SW version
  • Total Free Space – Total available space on the configured KumoScale appliances (backends)
  • Syslog Backend – The Provisioner reads the syslog configuration from the KumoScale appliance with this persistent ID.

5.2.4.2 Add Backend

Command nameadd-backend

Descriptor – Add a KumoScale appliance to the Provisioner’s inventory.

Parameters – --mgmt-ips <IP > [--rack <rack id>] [--region <region id>] [--zone <zone id>]

  • Mgmt IPs – a list of management IPs or DNS names (comma separated)
  • Rack – backend location - Rack ID (optional)
  • Region – accessible Region ID (optional)
  • Zone - accessible Zone ID (optional)

Possible messages

Invalid parameter

5.2.4.3 Modify Backend

Command namemodify-backend

Descriptor – Modify the configuration of a KumoScale appliance in the Provisioner’s inventory.

Parameters – --id <persistent id> [--rack <rack id>] [--region <region id>] [--zone <zone id>] [in-use <Yes | No>

  • Persistent ID – Backend persistent ID
  • Rack – Backend location - Rack ID (optional)
  • Region – accessible Region ID (optional)
  • Zone - accessible Zone ID (optional)
  • In use – should it be used to configure volumes over it (optional)

Possible messages

Invalid parameter

5.2.4.4 Remove Backend

Command nameremove-backend

Description – Remove a KumoScale appliance from the Provisioner’s inventory.

Parameters – --id <persistent id>

  • ID – the Backend’s persistent ID

Possible messages

Invalid parameter

5.2.4.5 Show Backends

Command name – show-backends

Description – Show the details and state of the KumoScale appliances in the Provisioner’s inventory.

Parameters – [--id <persistent id>]

  • ID – Backend persistent ID (optional)

Output example

If no filter is specified, the following details are displayed per each backend:

  • Persistent ID – backend persistent ID
  • State – backend state (Available or Unavailable)

If a filter is specified, the following details are displayed per each backend:

  • Persistent ID – backend persistent ID
  • State – backend state (Available or Unavailable)
  • Management IPs – the list of management IPs or DNS names
  • Portals – the list of the portals’ parameters (IP Address, Port and Transport type)
  • In use – is used for manage volumes on
  • Rack – backend location - Rack ID
  • Region – accessible Region ID
  • Zone - accessible Zone ID
  • Probe Interval – Probe interval (in seconds)
  • Total Capacity – Backend total capacity - Sum of all SSDs capacity (in GiB)
  • Available Capacity – Backend sum of all available space in all groups (in GiB)
  • Total BW – Backend total bandwidth performance in all groups (in KB/sec)
  • Available BW – Backend summary of all available bandwidth performance in all groups (in KB/sec)
  • Total IOPS – Backend total IOPS performance in all groups
  • Available IOPS – Backend summary of all available IOPS performance in all groups
  • Last Probe Time – the last time the Probe was received (if any)

Possible messages

Invalid parameter

5.2.4.6 Get Inventory

Commandget-inventory

Description – retrieve and send the inventory information.

The inventory information is received from the source in the JSON data structure form. It may be sent to a local or remote host (via SFTP) or printed to the screen.

Parameters – [--path <inventory full path> [--host-ip <remote IP address> --user <user name> --pass <password>]] | [--show-to-screen], where:

  • Path – the full path for the inventory file to be saved on in the remote host
  • Host IP – the IP address of the remote host (optional)
  • User – the username to access the remote host (optional)
  • Pass – the password to access the remote host (optional)
  • Show to Screen – print the inventory information to the screen (optional)

Output example

The inventory information is sent to the <host ip>:<path>, where

  • Host IP – the IP address of the remote host or the local host’s IP
  • Path – the full path of the inventory file

Possible messages

Invalid parameter

Connectivity or access issues

5.2.4.7 Reset Inventory

Commandreset-inventory

Description – Reset the inventory information.

The reset command requires confirmation:

You have selected to reset the KumoScale inventory reporting
Are you sure you want to continue?

 

The user must type <yes> to confirm. Other replies will cancel the command.

Parameters – no parameters.

Possible messages

CommunicationError – KumoScale appliance could not be reached. 

5.2.5 Volume Configuration Commands

5.2.5.1 Show Volumes

Commandshow-volumes

Description – show the volumes configured in the Backends.

Parameters – [--alias <volume alias> | --volume-uuid <volume UUID>] [--tenant-uuid <tenant UUID>]

  • Alias – volume alias (optional)
  • Volume UUID – universally unique identifier of the volume (optional)

Output example

If no filter is specified, or the search yield more than one result, the following details will be displayed:

  • Alias – volumes alias
  • UUID – universally unique identifier of the volume
  • Tenant UUID – universally unique identifier of the tenant (optional)

If a filter is specified, the following details will be displayed:

  • Volume Alias – the volume’s alias
  • Capacity – the volume’s capacity (in GiB)
  • Volume UUID – the universally unique identifier of the volume
  • Tenant UUID – the universally unique identifier of the tenant
  • Block Size – the volume’s block size
  • Replicas – the number of replicas
  • Snapshot UUID – the UUID of the source snapshot (for a snapshot volume, otherwise None)
  • Snapshot Type – Read Only or writable (for a snapshot volume)
  • Provisioning Type – How is the volume provisioned (thin or thick)
  • Reserved Space – The space reserved for the snapshot in GiB (for a writable snapshot volume)
  • Resource Utilization – The actual capacity consumed by the volume in GiB
  • Max BW – the maximal allowed Bandwidth for the volume (in KB/sec)
  • Desired BW – the desired Bandwidth for the volume (in KB/sec)
  • Max IOPS – the maximal allowed IOPS for the volume
  • Desired IOPS – the desired IOPS for the volume
  • Max Replica Downtime – the maximum period of time for a replica before autonomous self-healing is initiated, in minutes (the default value is 0 – forever)
  • Location – a list of the volume locations
    • Replica UUID – the universally unique identifier of the replica
    • Backend ID – the persistent identifier of the backend.
    • State – the state of the replica
    • Current State Time – The time period the replica is in its current state, in milliseconds (As known to the Provisioner)

Possible messages

Invalid parameter

5.2.5.2 Show Snapshots

Commandshow-snapshots

Description – show the snapshots configured in KumoScale, according to an optional filter.

Parameters – [--snapshot-uuid <snapshot UUID> | --volume-uuid <snapshot UUID> | --snapshot-alias <snapshot alias>] [--tenant-uuid <tenant UUID>]

  • Snapshot UUID – The snapshot’s UUID(optional)
  • Volume UUID – The source volume’s UUID(optional)
  • Snapshot alias – The snapshot alias (optional)
  • Tenant UUID – universally unique identifier of the tenant(optional)

Output example

If no filter is specified, or the search yielded more than one result, the following fields are displayed:

  • Alias – the snapshot alias
  • UUID – the snapshot UUID

If a filter is specified, the following fields are displayed:

  • Alias – the snapshot alias
  • Snapshot UUID – the snapshot UUID
  • Volume UUID – the source volume UUID
  • Tenant UUID – the universally unique identifier of the tenant
  • Capacity – the snapshot’s capacity (in GiB)
  • Timestamp – the timestamp from when the snapshot was taken
  • Reserved Space – the space allocated for the snapshot (in GiB)

Possible messages

Invalid parameter

5.2.5.3 Add Replica

Commandadd-replica

Description – add a new replica to a resilient volume.

Parameters – --volume-uuid <volume UUID> [--racks <list of rack ids>] [-zones <list of zone ids>] [--regions <list of region ids>] [rack-allowed <Yes | No>] [--tenant-uuid <tenant UUID>]

  • Volume UUID – universally unique identifier of the volume
  • Tenant UUID – universally unique identifier of the tenant (optional)
  • Racks – list of Rack IDs (separated comma) that the volume(s) should be reside on
  • Regions – list of Region IDs (separated comma) that the volume(s) should be accessible from
  • Zones – list of Zone IDs (separated comma) that the volume(s) should be accessible from
  • Rack Allowed – can replicated volume be allocated on the same Rack

Possible messages

Invalid parameter

5.2.5.4 Delete Replica

Commanddelete-replica

Description – mark a replica to be removed from a replicated volume.

Parameters – --volume-uuid <volume UUID> --replica-uuid <replica UUID> [--tenant-uuid <tenant UUID>]

  • Volume UUID – universally unique identifier of the volume
  • Replica UUID – universally unique identifier of the replica
  • Tenant UUID – universally unique identifier of the tenant(optional)

Possible messages

Invalid parameter

5.2.5.5 Migrate Replica

Commandmigrate-replica

Description – Migrate one of a volume’s replicas. The new replica will comply with the storage class and other parameters (e.g., topology) the original replicas were created with. The volume must be an online, resilient volume.

Parameters – --volume-uuid <volume UUID> --replica-uuid <replica UUID>

  • Volume UUID – universally unique identifier of the volume
  • Replica UUID – universally unique identifier of the replica

Possible messages

ReplicaNotFound – A replica with replica-uuid does not exist

VolumeNotFound – A volume with volume-uuid does not exist

NotReplicated – The volume is not replicated

NotEnoughReplicas – There are not enough available replicas currently

VolumeNotPublished – The volume is not published

ReplicaTerminating – if the replica is being deleted

HostNotFound – the host was not found

TaskAlreadyRunning – The volume is already being migrated (possible a different replica)

NoBackendToMigrateReplica - No matching backend to migrate the replica to

5.2.6 Host and Target Configuration

5.2.6.1 Show Hosts

Commandshow-hosts

Description – displays the configured hosts or the details of a specific host.

Parameters – [--uuid <host UUID>| --name <host Name>]

  • UUID – The host UUID (optional)
  • Name – The host name (optional)

Output example

If no parameter was specified, for each host the following parameters will be displayed:

  • UUID – The host UUID
  • State – State of the host (Available, Unavailable)
  • Name – The host name (or None)

If a filter is specified, the following are provided:

  • Name – The host name
  • NQN – The host NQN
  • UUID – The host UUID
  • Client Type – The client type (Kubernetes or Agent)
  • Version – Software version
  • State – The host state (Available, Unavailable)
  • Duration – Probe duration length in seconds
  • Last Probe Time – The last time of the received probe (for an unavailable host)

Possible messages

None.

5.2.6.2 Remove Host

Commandremove-host

Description – Remove an configured host from the Provisioner.

Parameters – --uuid <host UUID>

  • Host UUID – The host’s UUID

Possible messages

Invalid parameter

NotExists – There is no Host with the input UUID.

5.2.6.3 Show Targets

Commandshow-targets

Description – Display the list hosts’ targets and their portals.

Parameters – --host-uuid <host UUID> [--volume-uuid <volume UUID>]

  • Host UUID – The host UUID
  • Volume UUID – The volume UUID (optional)

Output example

Per each Target:

  • Alias – The target alias
  • NQN – The target NQN
  • Portals – The list of the target’s portals:
    • IP – The Portal’s IP address
    • Port – The Portal’s port number
    • Transport – The Portal’s transport type (TCP or RoCEv2)

Possible messages

NotExists – Could not find a host with the input UUID.                

5.2.7 Telemetry and Statistics

5.2.7.1 Show Syslog

Commandshow-syslog

Description – displays the syslog servers configuration.

Parameters – no parameters.

Output example

Per each syslog server configuration:

  • Name – Syslog configuration name
  • URL – the URL of the syslog server
  • State – State of sending information to the syslog server (Enable or Disable)
  • TLS – TLS use state (Yes or No)
  • Certificate – TLS Certificate file name (if TLS = Yes)

Possible messages

None.