Robin CLI Reference Guide

Getting CLI Access

In order to access the Robin CLI, you need to log into Robin using your user credentials. For the CE/DE installations, the login credentials are provided by gorobin utility upon successful completion. The default is username "admin" and password Robin123. For Enterprise Edition, your company administrator creates your user id and password.

# robin login <robin-user-name>
Password: 

Infrastucture Managment

host

Commands to manage hosts that are part of the robin cluster.

robin host [-h]
                  {add-key,remove-key,deltags,addtags,add-vlans,remove-vlans,addip,add-role,remove-role,release-master-lock,list,probe,recover,assign-rpool}
                  ...

positional arguments:
  {add-key,remove-key,deltags,addtags,add-vlans,remove-vlans,addip,add-role,remove-role,release-master-lock,list,probe,recover,assign-rpool}
    add-key             Used to add an ssh key to a host. A key file can be
                        provided, or by default, the current user's ssh key
                        will be used. Either the hostname or 'all' must be
                        provided.
    remove-key          Used to remove an ssh key from a host. A key file can
                        be provided, or by default, the current user's ssh key
                        will be used. Either the hostname or 'all' must be
                        provided.
    deltags             Del host tags. Tags are in <key>=<?value> format.
    addtags             Add tags to host. Tags are in <key>=<?value> format.
    add-vlans           Add VLANs to host
    remove-vlans        Remove VLANs from host
    addip               Register additional IP address on an host
    add-role            Used to add a role to one or more nodes
    remove-role         Used to remove a role from one or more nodes
    release-master-lock
                        Causes the MASTER node in the Robin Management Cluster
                        to give up its role as MASTER of the Robin Management
                        Cluster. Note that this is a disruptive operation that
                        brings the Robin Management cluster offline for a
                        brief period of time. Care should be exercised when
                        invoking.
    list                Used to list nodes in the system
    remove              Remove a host
    probe               Reset the host state
    assign-rpool        Used to assign a resource pool to one or more nodes
                        that do not have a Compute or Storage role
    set-maintenance     Set Host in maintenance mode
    unset-maintenance   Make host come out of maintenance mode

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the nodes in the system.

Usage:

robin host list [-h] [--full] [--json] [hostname]

positional arguments:
  hostname    Fully qualified hostname of the node to list (default is all
              nodes)

optional arguments:
  -h, --help  show this help message and exit
  --full      Display additional information about each node
  --json      Display additional information about each node

Example:

# robin host list
Zone Id    | Hostname                         | Version  | Status | State  | Resource Pool | Roles  | Cores | Memory             | HDD(Alloc/Total) | SSD(Alloc/Total) | Instances | Tags | Joined Time        
-----------+----------------------------------+----------+--------+--------+---------------+--------+-------+--------------------+------------------+------------------+-----------+------+---------------------
1516762183 | eqx02-poc01-c02.robinsystems.com | 4.0.0-58 | Ready  | ONLINE | default       | S,C    | 0/24  | 10.1 GB/110.0 GB   | -                | 0  B/1.89 TB     | 0         | {}   | 01/23/2018 19:02:45
1516762183 | eqx02-poc01-c03.robinsystems.com | 4.0.0-58 | Ready  | ONLINE | default       | S,C    | 0/24  | 13.26 GB/125.75 GB | 0  B/2.73 TB     | 0  B/149.05 GB   | 0         | {}   | 01/23/2018 19:00:29
1516762183 | eqx02-poc01-s04.robinsystems.com | 4.0.0-58 | Ready  | ONLINE | default       | M*,S,C | 0/6   | 7.62 GB/15.5 GB    | 0  B/43.66 TB    | 0  B/111.79 GB   | 0         | {}   | 01/23/2018 18:49:54
1516762183 | eqx02-poc01-s05.robinsystems.com | 4.0.0-58 | Ready  | ONLINE | default       | S,C    | 0/6   | 6.62 GB/15.5 GB    | 0  B/43.66 TB    | 0  B/111.79 GB   | 0         | {}   | 01/23/2018 19:00:14

2. assign-rpool

Assign a resource pool to one or more nodes.

Usage:

robin host assign-rpool [-h] [--wait] hosts rpool

positional arguments:
  hosts       A single host or a comma separated list of hosts to add a
              resource pool to.
  rpool       The name of a resource pool to assign to the host(s).

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin host assign-rpool eqx02-poc01-s04.robinsystems.com,eqx02-poc02-c02.robinsystems.com default

Submitted job '6'. Use 'robin job wait 6' to track the progress

3. add-key

Add an ssh key to a host.

Usage:

robin host add-key [-h] [--key KEY] [--user USER] [--all] [--wait]
                          [hostname]

positional arguments:
  hostname              Fully qualified hostname of the node on which the key
                        will be added. If this isn't provided, then --all must
                        be used.

optional arguments:
  -h, --help            show this help message and exit
  --key KEY, -k KEY     A file which contains the public key to be added to
                        the host.
  --user USER, -u USER  The user on the host for which the key will be added.
  --all                 Used to indicate the key should be added to every host
                        in the system. If this isn't provided, then hostname
                        must be used.
  --wait                Run this command in the background

Example:

# robin host add-key eqx02-poc01-c02.robinsystems.com --key .ssh/id_rsa.pub 

Submitted job '9'. Use 'robin job wait 9' to track the progress

4. remove-key

Remove ssh key from the host.

Usage:

robin host remove-key [-h] [--key KEY] [--user USER] [--all] [--wait]
                             [hostname]

positional arguments:
  hostname              Fully qualified hostname of the node on which the key
                        will be added. If this isn't provided, then --all must
                        be used.

optional arguments:
  -h, --help            show this help message and exit
  --key KEY, -k KEY     A file which contains the public key to be added to
                        the host.
  --user USER, -u USER  The user on the host for which the key will be added.
  --all                 Used to indicate the key should be removed from every
                        host in the system. If this isn't provided, then
                        hostname must be used.
  --wait                Run this command in the background

Example:

# robin host remove-key eqx02-poc01-c02.robinsystems.com --key .ssh/id_rsa.pub 

Submitted job '10'. Use 'robin job wait 10' to track the progress

5. addtags

Add tags to host.

Usage:

robin host addtags [-h] [--wait] hostname tags [tags ...]

positional arguments:
  hostname    Fully qualified hostname
  tags        Tags in <key>=<value format

optional arguments:
  -h, --help  show this help message and exit
  --wait      Run this command in the background

Example:

# robin host addtags eqx02-poc01-s04.robinsystems.com environment=prod

Submitted job '17'. Use 'robin job wait 17' to track the progress

6. deltags

Delete host tags.

Usage:

robin host deltags [-h] [--wait] [hostname] tags [tags ...]

positional arguments:
  hostname    Fully qualified hostname
  tags        <k>=<v> to remove a val, <k> to remove the key

optional arguments:
  -h, --help  show this help message and exit
  --wait      Run this command in the background

Example:

# robin host deltags eqx02-poc01-s04.robinsystems.com environment=prod

Submitted job '18'. Use 'robin job wait 18' to track the progress

7. add-vlans

Add VLANs to host.

Usage:

robin host add-vlans [-h] --vlans VLANS [--all] [--interface INTERFACE]
                            [--wait]
                            [hosts]

positional arguments:
  hosts                 A comma separated list of hosts to add vlans to. If
                        this isn't provided, then --all must be used.

optional arguments:
  -h, --help            show this help message and exit
  --vlans VLANS         Range of VLANs to be added (Use 'ALL' to enable all
                        vlans)
  --all                 Used to indicate vlans should be added to every host
                        in the system If this isn't provided, then a list of
                        comma separated hosts must be used
  --interface INTERFACE
                        Host interface where VLANs are to be added
  --wait                Wait for command completion

Example:

# robin host add-vlans  --all --vlans 1

Submitted job '21'. Use 'robin job wait 21' to track the progress

8. remove-vlans

Remove VLANs from host.

Usage:

robin host remove-vlans [-h] --vlans VLANS [--all]
                               [--interface INTERFACE] [--wait]
                               [hosts]

positional arguments:
  hosts                 A comma separated list of hosts vlans are to be remove
                        from. If this isn't provided, then --all must be used.

optional arguments:
  -h, --help            show this help message and exit
  --vlans VLANS         Range of VLANs to be removed (Use 'ALL' to remove all
                        vlans)
  --all                 Used to indicate vlans should be removed from every
                        host in the system If this isn't provided, then a list
                        of comma separated hosts must be used
  --interface INTERFACE
                        Host interface where VLANs are to be removed
  --wait                Wait for command completion

Example:

# robin host remove-vlans --all --vlans 1

Submitted job '22'. Use 'robin job wait 22' to track the progress

9. add-role

Add one or more roles to one or more hosts.

Usage:

robin host add-role [-h] [--rpool RPOOL] [--wait] hosts roles

positional arguments:
  hosts          A comma separated list of hosts to add role to.
  roles          Comma separated list of roles. Valid values are 'storage',
                 'compute', and 'manager'. Note that a maximum of three (3)
                 nodes can be assigned the role of manager at any given time.

optional arguments:
  -h, --help     show this help message and exit
  --rpool RPOOL  Assign a resource pool prior to adding a role.
  --wait         Wait for command completion

Example:

# robin host add-role eqx02-poc01-c02.robinsystems.com,eqx02-poc01-s04.robinsystems.com Compute,Storage 

Submitted job '23'. Use 'robin job wait 23' to track the progress

10. remove-role

Remove roles from one or more hosts.

Usage:

robin host remove-role [-h] [--force] [--wait] host roles

positional arguments:
  host        Fully qualified hostname.
  roles       Comma separated list of roles to remove. Valid values are
              'compute' 'storage' and 'manager'. Note that the Manager role
              can only be removed if there are three Manager nodes.

optional arguments:
  -h, --help  show this help message and exit
  --force     Required if retrying a remove-role operation.
  --wait      Wait for command completion

Example:

# robin host remove-role eqx02-poc01-c02.robinsystems.com manager

Submitted job '42'. Use 'robin job wait 42' to track the progress

11. probe

Reset the host state.

Usage:

robin host probe [-h] [--all] [--wait] [--rediscover] [hostname]

positional arguments:
  hostname      Fully qualified hostname of node to be probed

optional arguments:
  -h, --help    show this help message and exit
  --all         Probe all nodes in the system
  --wait        Run this command in the background
  --rediscover  Rediscover the host resources

Example:

# robin host probe eqx02-poc01-s04.robinsystems.com

Submitted job '51'. Use 'robin job wait 51' to track the progress

12. restore

Restore one or more hosts in the system.

Usage:

robin host restore [-h] [--all] [--force] [--wait] [hostname]

positional arguments:
  hostname    Fully qualified hostname of node to restore

optional arguments:
  -h, --help  show this help message and exit
  --all       Restore all nodes in the system
  --force     Force restore
  --wait      Run this command in the background

Example:

# robin host restore eqx02-poc01-s05.robinsystems.com

Submitted job '53'. Use 'robin job wait 53' to track the progress

13. recover

Recover a host in the system.

Usage:

robin host recover [-h] [--wait] hostname

positional arguments:
  hostname    Fully qualified hostname of node to restore

optional arguments:
  -h, --help  show this help message and exit
  --wait      Run this command in the background

Example:

# robin host recover eqx02-poc01-s04.robinsystems.com

Submitted job '54'. Use 'robin job wait 54' to track the progress

14. evacuate

Evacuate one or more roles from a host.

Usage:

robin host evacuate [-h] [--roles ROLES] [--all] [--wait] [hostname]

positional arguments:
  hostname              Fully qualified hostname of node to be evacuated

optional arguments:
  -h, --help            show this help message and exit
  --roles ROLES, -r ROLES
                        List or one or more roles to evacuate from the host.
                        See the roles on the host with list
  --all                 Evacuate all nodes in the system
  --wait                Run this command in the background

Example:

# robin host evacuate eqx02-poc01-s04.robinsystems.com

Submitted job '55'. Use 'robin job wait 55' to track the progress

15. release-master-lock

Causes the MASTER node in the Robin Management Cluster to give up its role as MASTER of the Robin Management Cluster. This is a disruptive operation that brings the Robin Management cluster offline for a brief period of time. Care should be exercised when invoking.

Usage:

robin host release-master-lock [-h] [--force] hostname

positional arguments:
  hostname    Fully qualified hostname of the MASTER node in the Robin
              Management Cluster (the node currently acting as MASTER has an
              asterisk (*) next to the 'M' in the Roles column).

optional arguments:
  -h, --help  show this help message and exit
  --force     Strictly speaking, the --force command line option is not
              required, however the MASTER lock will not be released if it's
              not included on the command line.

Example:

# robin host release-master-lock eqx02-poc01-s04.robinsystems.com --force

16. addip

Register additional IP address on an host

Usage:

robin host addip [-h] [--wait] hostname ipaddr netmask

positional arguments:
  hostname    Fully qualified hostname
  ipaddr      IPv4 address
  netmask     Netmask

optional arguments:
  -h, --help  show this help message and exit
  --wait      Run this command in the background

Example:

# robin host addip eqx02-poc01-s04.robinsystems.com 10.10.1.91 255.255.0.0 

ip-pool

Commands to manage ip-pools.

robin ip-pool [-h]
                     {add,add-ranges,list,remove,remove-ranges,rename} ...

positional arguments:
  {add,add-ranges,list,remove,remove-ranges,rename}
    add                 Used to add an IP pool
    add-ranges          Used to add additional IP ranges to an existing IP
                        pool
    list                Used to list existing IP pools
    remove              Used to remove an existing IP pool
    remove-ranges       Used to remove a range of IP addresses from an IP pool
    rename              Used to rename an existing IP pool.

optional arguments:
  -h, --help            show this help message and exit

1. list

List existing ip-pools in the system.

Usage:

robin ip-pool list [-h] [--json]

optional arguments:
  -h, --help  show this help message and exit
  --json      json output

Example:

# robin ip-pool list

Pool: p1
  Netmask: 255.255.255.0
  Range: 10.10.1.89-90
    Used: 0
    Available: 2
    Total: 2
  Pool Utilization: 0/2/2 (Used/Available/Total)

2. add

Add an ip-pool to the system.

Usage:

robin ip-pool add [-h] [--zone ZONE] [--tenant TENANT]
                         [--vlan VLAN_NUMBER]
                         name ranges [netmask]

positional arguments:
  name                Name of IP pool to add
  ranges              IP address range
  netmask             Netmask

optional arguments:
  -h, --help          show this help message and exit
  --zone ZONE         Name of Zone the IP Pool belongs to ('default' if Zone
                      is not specified)
  --tenant TENANT     Name of Tenant the IP Pool belongs to
  --vlan VLAN_NUMBER  VLAN to be associated with the IP pool

Example:

# robin ip-pool add p1 10.10.1.89-90 255.255.255.0
Registered pool p1.

3. remove

Remove an ip-pool from the system.

Usage:

robin ip-pool remove [-h] pool_name

positional arguments:
  pool_name   Name of pool to remove

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin ip-pool remove p1
Unregistered pool p1.

4. add-ranges

Add additional IP ranges to an existing ip-pool.

Usage:

robin ip-pool add-ranges [-h] pool_name ranges

positional arguments:
  pool_name   Name of IP pool
  ranges      New IP ranges

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin ip-pool add-ranges p1 10.10.1.91-120 
Added range.

5. remove-ranges

Remove a range of IP addresses from an IP pool.

Usage:

robin ip-pool remove-ranges [-h] pool_name ranges

positional arguments:
  pool_name   Name of IP pool
  ranges      IP range to remove

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin ip-pool remove-ranges p1 10.10.1.91-120 
Removed range.

6. rename

Rename an existing IP pool

Usage:

robin ip-pool rename [-h] pool_name new_name

positional arguments:
  pool_name   Name of existing IP pool
  new_name    New name for IP pool

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin ip-pool rename p1 p2
Pool p1 renamed to p2.

tag

Commands to manage tags.

robin tag [-h] {list,addkey,delkey} ...

positional arguments:
  {list,addkey,delkey}
    list                List all tags
    addkey              Add tags
    delkey              Delete tags

optional arguments:
  -h, --help            show this help message and exit

1. list

List all tags defined in the system.

Usage:

robin tag list [-h]

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin tag list
Key         | Values         
------------+-----------------
environment | ['prod', 'dev']

2. addkey

Add a tag to the system.

Usage:

robin tag addkey [-h] key [vals [vals ...]]

positional arguments:
  key         Tag keyname
  vals        Tag values

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin tag addkey environment prod

{"id": null, "key": "environment", "values": ["prod"]}

3. delkey

Delete tags.

Usage:

robin tag delkey [-h] key [vals [vals ...]]

positional arguments:
  key         Tag keyname
  vals        Tag values

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin tag delkey environment 

Deleted tag environment.

drive

Commands to manage drives.

robin drive [-h]
                   {addtags,deltags,list,info,update,remove,detach,attach} ...

positional arguments:
  {addtags,deltags,list,info,update,remove,detach,attach}
    addtags             Add tags to disk. Tags are in <key>=<?value> format.
    deltags             Del disk tags. Tags are in <key>=<?value> format.
    list                Used to list drives
    info                Used to print drive info
    update              Update drive attributes.
    remove              Drive remove.
    detach              Drive detach.
    attach              Drive attach

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the drives present in all the hosts.

Usage:

robin drive list [-h] [--host HOST] [--role ROLE] [--media MEDIA] [wwn]

positional arguments:
  wwn            WWN of drive to list (default is all drives)

optional arguments:
  -h, --help     show this help message and exit
  --host HOST    Specify the host for which drives are to be listed
  --role ROLE    Filter based on role of the disk(Storage, RootDisk or
                 Reserved)
  --media MEDIA  Filter based on media

Example:

# robin drive list
Zone Id    | Host                             | WWN                                         | Path                                                                                         | Reattach | Protected | Type | Free      | Capacity  | AllocScore | Role     | State | Status  | Tags
-----------+----------------------------------+---------------------------------------------+----------------------------------------------------------------------------------------------+----------+-----------+------+-----------+-----------+------------+----------+-------+---------+------
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e690-centos_dhcp--70--7-root  | /dev/disk/by-id/dm-uuid-LVM-SZBkdAqduwaOtMEEtqz2OoVyv06q5uhMHihQzNTCWnFzGO9fnb1RavFi71Ac2tif | N        | N         | HDD  | 0  B      | 50.0 GB   | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e690-centos_dhcp--70--7-swap  | /dev/disk/by-id/dm-uuid-LVM-SZBkdAqduwaOtMEEtqz2OoVyv06q5uhMUtOrhZEr0kF8YrOv7E7u9oUtAeCT2Loi | N        | N         | HDD  | 0  B      | 4.0 GB    | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e690-centos_dhcp--70--7-home  | /dev/disk/by-id/dm-uuid-LVM-SZBkdAqduwaOtMEEtqz2OoVyv06q5uhMiijhdRqyoGHbQoXcguiDZ8M6a6o0DN2e | N        | N         | HDD  | 0  B      | 839.7 GB  | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e690                          | /dev/disk/by-id/ata-Micron_M500_MTFDDAK960MAV_13270966E690                                   | N        | N         | SSD  | 0  B      | 894.25 GB | 0          | RootDisk | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e68f                          | /dev/disk/by-id/ata-Micron_M500_MTFDDAK960MAV_13270966E68F                                   | N        | N         | SSD  | 893.66 GB | 894.25 GB | 100        | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500a07510966e676                          | /dev/disk/by-id/ata-Micron_M500_MTFDDAK960MAV_13270966E676                                   | N        | N         | SSD  | 893.66 GB | 894.25 GB | 100        | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c02.robinsystems.com | 0x500151795963e74a                          | /dev/disk/by-id/ata-INTEL_SSDSA2CW160G3_CVPR132204DQ160DGN                                   | N        | N         | SSD  | 145.62 GB | 149.05 GB | 95         | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x500a07510966e66a-centos_dhcp--70--6-root  | /dev/disk/by-id/dm-uuid-LVM-vrak21O93BdhTkDSLisqHqEocVrEvQZdntkb4h0bcoD1kiTPgSiuAR34T8IXEzBM | N        | N         | HDD  | 0  B      | 50.0 GB   | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x500a07510966e66a-centos_dhcp--70--6-swap  | /dev/disk/by-id/dm-uuid-LVM-vrak21O93BdhTkDSLisqHqEocVrEvQZdmd9UbwU35WOymxMzafVEgwWNx7JVWH3l | N        | N         | HDD  | 0  B      | 4.0 GB    | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x500a07510966e66a-centos_dhcp--70--6-home  | /dev/disk/by-id/dm-uuid-LVM-vrak21O93BdhTkDSLisqHqEocVrEvQZdwkQR7s18iUQfM2gMQdRCC7Ivw2R9q3QQ | N        | N         | HDD  | 0  B      | 839.7 GB  | 0          | Reserved | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x5000cca6acc8d76a                          | /dev/disk/by-id/ata-HGST_HTS721010A9E630_JG40006PGMEYEC                                      | N        | N         | HDD  | 930.62 GB | 931.51 GB | 100        | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x500a07510966e66a                          | /dev/disk/by-id/ata-Micron_M500_MTFDDAK960MAV_13270966E66A                                   | N        | N         | SSD  | 0  B      | 894.25 GB | 0          | RootDisk | INIT  | UNKNOWN | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x5000039532d80a1a                          | /dev/disk/by-id/ata-@__DACTOR_0V_R3ION_Z33PPAEUT                                             | N        | N         | HDD  | 930.62 GB | 931.51 GB | 78         | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x5000039532580b1f                          | /dev/disk/by-id/ata-TOSHIBA_MQ01ABD100_Z339PDSVT                                             | N        | N         | HDD  | 930.62 GB | 931.51 GB | 100        | Storage  | READY | ONLINE  | {}  
1517201362 | eqx02-poc01-c03.robinsystems.com | 0x500151795964c3fd                          | /dev/disk/by-id/ata-INTEL_SSDSA2CW160G3_CVPR13300CG4160DGN                                   | N        | N         | SSD  | 143.16 GB | 149.05 GB | 88         | Storage  | READY | ONLINE  | {} 

2. addtags

Add a tag to a drive.

Usage:

robin drive addtags [-h] wwn tags [tags ...]

positional arguments:
  wwn         WWN of the disk
  tags        Tags in <key>=<value format

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin drive addtags 0x50026b72420340bb environment=dev
Job:   52 Name: SetTag               State: WAITING         Error: 0
Job:   52 Name: SetTag               State: COMPLETED       Error: 0
 

3. deltags

Remove a tag from a drive.

Usage:

robin drive deltags [-h] [wwn] tags [tags ...]

positional arguments:
  wwn         Disk wwn
  tags        <k>=<v> to remove a val, <k> to remove the key

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin drive deltags 0x50026b72420340bb environment=dev
Job:   53 Name: SetTag               State: PREPARED        Error: 0
Job:   53 Name: SetTag               State: COMPLETED       Error: 0

4. update

Update drive attributes.

robin drive update [-h] [--role ROLE] [--type TYPE] wwn

positional arguments:
  wwn          wwn of the drive to update

optional arguments:
  -h, --help   show this help message and exit
  --role ROLE  The new role of the disk.
  --type TYPE  The new type of the disk.

Example:

# robin drive update 0x50026b72420340bb --role Storage
Job:   54 Name: DiskModify           State: PREPARED        Error: 0
Job:   54 Name: DiskModify           State: COMPLETED       Error: 0

5. remove

Remove drive.

robin drive remove [-h] [--wait] wwn

positional arguments:
  wwn         wwn of the drive to update

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin drive remove 0x50014ee003c2b60c
Job:   55 Name: DiskRemove           State: PREPARED        Error: 0
Job:   55 Name: DiskRemove           State: COMPLETED       Error: 0

user

Commands to manage users within the robin clusters.

robin user [-h]
                  {add,add-key,delete-key,list,update,remove,change-tenant,change-tenant-role}
                  ...

positional arguments:
  {add,add-key,delete-key,list,update,remove,change-tenant,change-tenant-role}
    add                 Add a new user to the system
    add-key             Add SSH key for this user.
    delete-key          Delete SSH key for this user.
    list                Used to list users in the system
    update              Update a user
    remove              Remove specified user from the system
    change-tenant       Used to change the tenant for the current user
    change-tenant-role  Change the role a user has for specified tenant.

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the existing users in the system.

Usage:

robin user list [-h] [--all] [--full] [--permissions] [username]

positional arguments:
  username       The username for the user to list

optional arguments:
  -h, --help     show this help message and exit
  --all, -a      List all users including deleted users.
  --full         Display additional information about each user (e.g., access
                 permissions)
  --permissions  List individual user permissions.

Example:

# robin user list
Username | Full Name | EMail | Tenants                      | Current Tenant | Current Role | 
---------+-----------+-------+------------------------------+----------------+--------------+--
robin    |           |       | Administrators,elasticsearch | Administrators | superadmin   | 

2. add

Add a new user to the system.

Usage:

robin user add [-h] [--ldap] [--ldap-server LDAP_SERVER]
                      [--first-name FIRST_NAME] [--last-name LAST_NAME]
                      [--email EMAIL]
                      username tenant tenant_role [user_capabilities]

positional arguments:
  username              User name for user being added
  tenant                Tenant that user will be made a member of
  tenant_role           User role for the tenant
  user_capabilities     Optional comma separated list of tenant specific
                        capabilities to assign to the user being added. Note
                        that if no user_capabilities are specified, then full
                        capabilities for the specified role will be assigned.
                        If it's desired that no capabilities be granted to the
                        user then specify NoCapabilities.

optional arguments:
  -h, --help            show this help message and exit
  --ldap                Authentication with the ldap server
  --ldap-server LDAP_SERVER
                        Name of LDAP server user will get authentication from.
  --first-name FIRST_NAME, -n FIRST_NAME
                        First name for user being added
  --last-name LAST_NAME, -l LAST_NAME
                        Last name for user being added
  --email EMAIL, -e EMAIL
                        EMail address for user being added

Example:

# robin user add adminuser default admin --first_name John --last_name Doe --email john.doe@company.com
Password: 
Retype password: 

Successfully added user adminuser.

3. remove

Remove an user from the system.

Usage:

robin user remove [-h] username

positional arguments:
  username    User name for person being removed

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin user remove adminuser
Deleted user adminuser.

4. add-key

Add ssh key for the user.

Usage:

robin user add-key [-h] username key

positional arguments:
  username    User name to add key.
  key         The SSH key to be added.

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin user add-key adminuser "ssh-rsa NzaC1yc2EAAAADAQABAQC3neShBUXL+EqbgJUgeKpZtZUjV5gjbPNvmDxpTWZLaLt6bzSfe6/SYlXanxvyHcMlbvRgHAzfbSiDdeVczmtTy/QckZEYxqfJblLHGWUeE5PTjBRpOO6/l5cwkjfZ06PN1VERRAGsMPJysfMr6/uUur90AuhbVNabh9gLj/XxBKc3EP+y4DW0thBn+0xWBZW3JmZSez7k4U2okDkNodsJTVcBC5RfIJIYUJPYI6mdTmsydaLCwC2iclortHj4pE31RutP60+OxcPwtCAj3hA5zh root@eqx02-poc01-s04" 

Successfully added ssh key.

5. update

Update the details of an existing user.

Usage:

robin user update [-h] [--password] [--first-name FIRST_NAME]
                         [--last-name LAST_NAME] [--email EMAIL]
                         [--roles ROLES]
                         username

positional arguments:
  username              User name of person being updated

optional arguments:
  -h, --help            show this help message and exit
  --password, -p        Change the password of a user
  --first-name FIRST_NAME, -n FIRST_NAME
                        Change the first name of a user.
  --last-name LAST_NAME, -l LAST_NAME
                        Change the last name of a user.
  --email EMAIL, -e EMAIL
                        Change the email address of a user
  --roles ROLES         Comma separated list of roles that should be assigned
                        to the user.

Example:

# robin user update adminuser --last-name David --email john.david@company.com
Successfully updated user adminuser

vlan

Commands to manage VLANs.

robin vlan [-h] {add,list,remove,update} ...

positional arguments:
  {add,list,remove,update}
    add                 Add a VLAN
    list                List existing VLANs
    remove              Number of VLAN to remove
    update              Update existing VLAN

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the VLANs in the system.

Usage:

robin vlan list [-h]

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin vlan list 
VLAN | IP Address | Netmask       | Subnet    | Gateway | IP Pools | Instance Count | Interface Count
-----+------------+---------------+-----------+---------+----------+----------------+-----------------
1    | 10.10.2.99 | 255.255.255.0 | 10.10.2.0 | None    | None     | 0              | 0   

2. add

Add a new VLAN to the system.

Usage:

robin vlan add [-h] [--gateway GATEWAY] [--wait]
                      vlan_number ip_address netmask

positional arguments:
  vlan_number        VLAN number (valid values 1-4095)
  ip_address         Reserved IP address used by server to query into the VLAN
                     subnet
  netmask            Netmask of the VLAN subnet

optional arguments:
  -h, --help         show this help message and exit
  --gateway GATEWAY  Default gateway for the VLAN
  --wait             Wait for command completion

Example:

# robin vlan add 1 10.10.2.99 255.255.255.0

Submitted job '19'. Use 'robin job wait 19' to track the progress

3. update

Update an existing VLAN.

Usage:

robin vlan update [-h] [--ip_address IP_ADDRESS] [--netmask NETMASK]
                         [--gateway GATEWAY] [--wait]
                         vlan_number

positional arguments:
  vlan_number           VLAN number (valid values 1-4095)

optional arguments:
  -h, --help            show this help message and exit
  --ip_address IP_ADDRESS
                        Reserved IP address used by server to query into the
                        VLAN subnet
  --netmask NETMASK     Netmask of the VLAN subnet
  --gateway GATEWAY     Default gateway for the VLAN (Use '0' to delete
                        gateway)
  --wait                Wait for command completion

Example:

# robin vlan update 1 --ip_address 10.10.2.100

Submitted job '58'. Use 'robin job wait 58' to track the progress

4. remove

Remove a VLAN from the system.

Usage:

robin vlan remove [-h] [--wait] vlan_number

positional arguments:
  vlan_number  Number of the VLAN (Valid values 1-4095)

optional arguments:
  -h, --help   show this help message and exit
  --wait       Wait for command completion

Example:

# robin vlan remove 1
Submitted job '59'. Use 'robin job wait 59' to track the progress

zone

Commands to manipulate zones.

robin zone [-h] {list} ...

positional arguments:
  {list}
    list      List zones

optional arguments:
  -h, --help  show this help message and exit

1. list

List all the zones defined in the system.

Usage:

robin zone list [-h]

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin zone list
Id | Name    | Zone Id   
---+---------+------------
1  | default | 1498721081

volume

Manage volumes

robin volume [-h]
                    {list,info,create,delete,mount,unmount,restore,snapshot-create,snapshot-list,snapshot-delete,clone-create,clone-list}
                    ...

positional arguments:
  {list,info,create,delete,mount,unmount,restore,snapshot-create,snapshot-list,snapshot-delete,clone-create,clone-list}
    list                Used to list all storage volumes
    info                Get storage volume details
    create              Create a storage volume
    delete              Delete storage volume
    mount               Mount a storage volume
    unmount             Unmount a storage volume
    restore             Restore volume from snapshot
    snapshot-create     Create volume snapshot
    snapshot-list       List all volume snapshots
    snapshot-delete     Delete volume snapshot
    clone-create        Create volume clone
    clone-list          List all volume clones

optional arguments:
  -h, --help            show this help message and exit

1. list

Used to list all volumes

Usage:

robin volume list [-h]

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin volume list
ID | Name                                                                        | Media | Type | Blocksz | Size         | Psize      | Protection | Replication | Compress | QGroupID | CTime      | Mount                                                                                       
---+-----------------------------------------------------------------------------+-------+------+---------+--------------+------------+------------+-------------+----------+----------+------------+----------------------------------------------------------------------------------------------
1  | file-collection-3                                                           | 72    | 0    | 4096    | 268435456000 | 4496293888 | 0          | 1           | 1        | 1        | 1517207051 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock0', 'readonly': 0, 'nodeid': 1}]
2  | esapp.dedicated_master_node.01.data1.7436cc37-5fb9-40cb-808a-43e5232c31fd   | 72    | 0    | 4096    | 214748364800 | 7012876288 | 0          | 1           | 0        | 2        | 1517209208 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock0', 'readonly': 0, 'nodeid': 4}]
3  | esapp.dedicated_master_node.01.root_fs.3c84e831-b620-4c73-a0fd-9c04f409cfa4 | 83    | 0    | 4096    | 10737418240  | 1577058304 | 0          | 1           | 0        | 3        | 1517209209 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock1', 'readonly': 0, 'nodeid': 4}]
4  | esapp.master_eligible_node.01.data1.28056ad6-6abb-4f73-81b6-1b98e401dfe5    | 72    | 0    | 4096    | 214748364800 | 7012876288 | 0          | 1           | 0        | 4        | 1517209209 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock0', 'readonly': 0, 'nodeid': 2}]
5  | esapp.master_eligible_node.01.root_fs.e2c4eae8-1a91-4e00-bc51-5e3d73d617d3  | 83    | 0    | 4096    | 10737418240  | 1073741824 | 0          | 1           | 0        | 5        | 1517209209 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock1', 'readonly': 0, 'nodeid': 2}]
6  | esapp.data_node.01.data1.3e96eaf2-b247-4a2d-8023-f3461a087f8d               | 72    | 0    | 4096    | 214748364800 | 7012876288 | 0          | 1           | 0        | 6        | 1517209209 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock2', 'readonly': 0, 'nodeid': 4}]
7  | esapp.data_node.01.root_fs.2ae96026-34b4-4eb4-a387-074753d31ace             | 83    | 0    | 4096    | 10737418240  | 1006632960 | 0          | 1           | 0        | 7        | 1517209209 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock3', 'readonly': 0, 'nodeid': 4}]
8  | mysqlapp.mysql.01.data.74ba3f85-05cd-4623-8df6-d4f24d98626b                 | 83    | 0    | 4096    | 1073741824   | 570425344  | 0          | 1           | 0        | 8        | 1517273316 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock4', 'readonly': 0, 'nodeid': 4}]
9  | mysqlapp.mysql.01.root_fs.8e129a8d-4762-446d-90ed-7e4e68ce8076              | 83    | 0    | 4096    | 10737418240  | 570425344  | 0          | 1           | 0        | 9        | 1517273317 | [{'state': 14, 'zoneid': 1517201362, 'mntpath': '/dev/vblock5', 'readonly': 0, 'nodeid': 4}]

2. info

Get information about a volume

Usage:

robin volume info [-h] [--json] name

positional arguments:
  name        Volume instance name

optional arguments:
  -h, --help  show this help message and exit
  --json      json output

Example:

# robin volume info esapp.dedicated_master_node.01.data1.7436cc37-5fb9-40cb-808a-43e5232c31fd 
items:
  alloc:
  - {devid: 18, nodeid: 4, zoneid: 1517201362}
  appid: 1
  appname: default
  asize: 214748364800
  block_size: 4096
  compress_algo: 0
  ctime: 1517209208
  current_snapshotid: 1
  fsfree: 211181035520
  fssize: 214748364800
  lsize: 214748364800
  media: 72
  mounts:
  - {mntpath: /dev/vblock0, nodeid: 4, readonly: 0, state: 14, zoneid: 1517201362}
  multinode_mounting: 0
  name: esapp.dedicated_master_node.01.data1.7436cc37-5fb9-40cb-808a-43e5232c31fd
  parent_alloc: []
  partitions: 0
  protection: 0
  psize: 7012876288
  qgroupid: 2
  replication: 1
  respoolid: 2
  rsize: 214748364800
  slice_size: 1073741824
  state: 2
  status: 1
  tags: []
  volgroupid: 2
  volgroupname: esapp.dedicated_master_node.01.72.2.4e8f42ce-0e55-4e93-8e75-cf593600fef4
  volumeid: 2
  vtype: 0
 

3. create

Create Volume

Usage:

robin volume create [-h] [--protection {0,1,2}] [--compression {lz4}]
                           [--encryption {aes256,chacha20}] [--multimount]
                           [--media MEDIA] [--qos QOS] [--rpool RPOOL]
                           [--blocksize {4096,512}] [--json]
                           name size

positional arguments:
  name                  Volume name
  size                  Volume size (in GB,TB etc)

optional arguments:
  -h, --help            show this help message and exit
  --protection {0,1,2}  Protection level for the volume, 0-APP,
                        1-Replication2, 2-Replication3
  --compression {lz4}   Compression algorithm
  --encryption {aes256,chacha20}
                        Encryption algorithm
  --multimount          Multimount ability
  --media MEDIA         Specify the type of storage HDD/SSD to be used for the
                        volume
  --qos QOS             Storage QoS group name
  --rpool RPOOL         Resource pool name
  --blocksize {4096,512}
                        Volume block size
  --json                json output

Example:

# robin volume create temp_vol 50G --rpool rpool1
Volume 'temp_vol' successfully created. 

4. mount

Mount Volume

Usage:

robin volume mount [-h] [--json] name hostname

positional arguments:
  name        Volume name
  hostname    Hostname to mount the volume on

optional arguments:
  -h, --help  show this help message and exit
  --json      json output

Example:

robin volume mount temp_vol eqx02-poc01-s04.robinsystems.com
Successfully mounted volume 'temp_vol' on host eqx02-poc01-s04.robinsystems.com as device '/dev/vblock1'.

5. unmount

Unmount Volume

Usage:

robin volume unmount [-h] [--hostname] [--force] [--json] name

positional arguments:
  name        Volume name

optional arguments:
  -h, --help  show this help message and exit
  --hostname  Hostname to unmount the volume from
  --force     Force remove the volume
  --json      json output

Example:

# robin volume unmount temp_vol
Sucessfully unmounted volume 'temp_vol'. 

qos

Manage storage QoS

robin qos [-h] {list,info,create,update,delete} ...

positional arguments:
  {list,create,update,delete}
    list                List all storage QoS groups
    create              Create a storage QoS group
    update              Update QoS group
    delete              Delete QoS group

optional arguments:
  -h, --help            show this help message and exit

1. list

List all storage QoS groups

Usage:

robin qos list [-h] [--json]

optional arguments:
  -h, --help  show this help message and exit
  --json      json output

Example:

# robin qos list
ID | Name                                   | RdMinIOPs | RdMaxIOPs | RdWeight | WrMinIOPs | WrMaxIOPs | WrWeight | Ctime      | State | Status
---+----------------------------------------+-----------+-----------+----------+-----------+-----------+----------+------------+-------+--------
1  | default                                | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517201380 | 2     | 1     
2  | esapp.dedicated_master_node.01.data1   | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
3  | esapp.dedicated_master_node.01.root_fs | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
4  | esapp.master_eligible_node.01.data1    | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
5  | esapp.master_eligible_node.01.root_fs  | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
6  | esapp.data_node.01.data1               | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
7  | esapp.data_node.01.root_fs             | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517209208 | 2     | 1     
8  | mysqlapp.mysql.01.data                 | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517273316 | 2     | 1     
9  | mysqlapp.mysql.01.root_fs              | 0         | 500000    | 1        | 0         | 500000    | 1        | 1517273316 | 2     | 1     
25 | classa_qos                             | 20000     | 500000    | 1        | 20000     | 500000    | 1        | 1517692930 | 2     | 1    

2. create

Create a storage QoS group

Usage:

robin qos create [-h] [--min-write-iops WMIN] [--max-write-iops WMAX]
                        [--write-weight {1,2,3,4,5}] [--min-read-iops RMIN]
                        [--max-read-iops RMAX] [--read-weight {1,2,3,4,5}]
                        [--json]
                        name

positional arguments:
  name                  Volume qgroup name

optional arguments:
  -h, --help            show this help message and exit
  --min-write-iops WMIN
                        Minimun write IOPS
  --max-write-iops WMAX
                        Maximum write IOPS
  --write-weight {1,2,3,4,5}
                        Relative weightage for write operations
  --min-read-iops RMIN  Minimun read IOPS
  --max-read-iops RMAX  Maximum read IOPS
  --read-weight {1,2,3,4,5}
                        Relative weightage for read operations
  --json                json output

Example:

# robin qos create classa_qos --min-write-iops 20000 --min-read-iops 20000
Successfully created storage qos qgroup 'classa_qos'. 

3. update

Update a storage QoS group

Usage:

robin qos update [-h] [--min-write-iops WMIN] [--max-write-iops WMAX]
                        [--write-weight {1,2,3,4,5}] [--min-read-iops RMIN]
                        [--max-read-iops RMAX] [--read-weight {1,2,3,4,5}]
                        [--json]
                        name

positional arguments:
  name                  QoS group name

optional arguments:
  -h, --help            show this help message and exit
  --min-write-iops WMIN
                        Minimun write IOPS
  --max-write-iops WMAX
                        Maximum write IOPS
  --write-weight {1,2,3,4,5}
                        Relative weightage for write operations
  --min-read-iops RMIN  Minimun read IOPS
  --max-read-iops RMAX  Maximum read IOPS
  --read-weight {1,2,3,4,5}
                        Relative weightage for read operations
  --json                json output

Example:

# robin qos update classa_qos --min-write-iops 30000
Storage qos qgroup 'classa_qos' updated successfully. 

4. delete

Delete a storage QoS group

Usage:

robin qos delete [-h] name

positional arguments:
  name        QoS group name

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin qos delete classa_qos
Deleted QoS group 'classa_qos'

rpool

Commands to manipulate the resource pools

robin rpool [-h] {add,list,remove} ...

positional arguments:
  {add,list,remove}
    add              Add a resource pool
    list             Used to list resource pools
    remove           Remove a resource pool

optional arguments:
  -h, --help         show this help message and exit

1. add

Add a resource pool

Usage:

robin rpool add [-h] [--zone ZONE] [--tenant TENANT] [--desc DESC] name

positional arguments:
  name             Name of resource pool

optional arguments:
  -h, --help       show this help message and exit
  --zone ZONE      Name of Zone the Resource Pool belongs to ('default' if
                   Zone is not specified).
  --tenant TENANT  Name of Tenant the Resource Pool should be assigned to.
  --desc DESC      Description

Example:

# robin rpool add es-rpool --desc "Resource pool for Elasticsearch Team"
Added resource pool es-rpool.

2. list

Used to list resource pools

Usage:

robin rpool list [-h] [--full] [name]

positional arguments:
  name        Name of resource pool to list

optional arguments:
  -h, --help  show this help message and exit
  --full      Display additional information about each resource pool

Example:

# robin rpool list
ID | Name     | %cores | %mem   | Nodes-ON/OF/FA | Apps-ON/OF/FA/AW/OT | Description                         
---+----------+--------+--------+----------------+---------------------+--------------------------------------
1  | default  | 20/100 | 20/100 |     0- 0/ 0/ 0 |    0- 0/ 0/ 0/ 0/ 0 | Default Resource Pool               
2  | rpool1   | 20/100 | 20/100 |     4- 0/ 4/ 0 |    2- 2/ 0/ 0/ 0/ 0 |                                     
3  | es-rpool | 20/100 | 20/100 |     0- 0/ 0/ 0 |    0- 0/ 0/ 0/ 0/ 0 | Resource pool for Elasticsearch Team

(ON: Online, OF: Offline, FA: Faulted, AW: Admin Wait, OT: Other states 

3. remove

Used to list resource pools

Usage:

robin rpool remove [-h] name

positional arguments:
  name        Name of resource pool

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin rpool remove es-rpool
Deleted resource pool es-rpool.

Application Life Cycle Management

bundle

Commands to manage application bundles.

robin bundle [-h]
                    {add,update,list,remove,open,close,info,list-templates}
                    ...

positional arguments:
  {add,update,list,remove,open,close,info,list-templates}
    add                 Used to add a new bundle to the system
    update              Update attributes of an existing bundle record
    list                Used to list information about bundles
    remove              Remove a bundle
    open                Open the bundle for upgrades
    close               Close the opened bundle (will not commit changes
                        unless --commit is explicitly called)
    info                Readme for the bundle
    list-templates      List saved templates for a given bundle.

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the bundles.

Usage:

robin bundle list [-h] [--bundleid BUNDLEID] [--name NAME]
                         [--version VERSION] [--files] [--full] [--json]

optional arguments:
  -h, --help           show this help message and exit
  --bundleid BUNDLEID  Id of bundle to get info for.
  --name NAME          Name of the bundle to list (default is None)
  --version VERSION    version of the bundle to list (default is None)
  --files              List bundle files
  --full               Display additional information about each bundle
  --json               Output in Json

Example:

# robin bundle list 
Bundle Id | Name          | Version | Zone Id    | File Object Id
----------+---------------+---------+------------+----------------
1         | cassandra     | 3.7     | 1517201362 | 1517208926703 
2         | elasticsearch | 5.4     | 1517201362 | 1517208949245 
3         | hdp           | 2.4.3   | 1517201362 | 1517208985500 
4         | myssql        | 3.0     | 1517201362 | 1517209037452 
7         | mariadb       | 10.1.23 | 1517201362 | 1517291916828 
9         | couchbase     | 4.5     | 1517201362 | 1517292039769 
5         | cloudera      | 5.8.2   | 1517201362 | 1517291796554 
6         | mongodb       | 3.4.2   | 1517201362 | 1517291861487 
8         | couchdb       | 2.0     | 1517201362 | 1517292011644 

2. add

Add a new bundle to the system.

Usage:

robin bundle add [-h] [--image IMAGE] [--integrity_check]
                        name version path

positional arguments:
  name               File object name
  version            File object version
  path               Pathname of file to upload or URL of the bundle

optional arguments:
  -h, --help         show this help message and exit
  --image IMAGE      Pathname to the image
  --integrity_check  Send a checksum to ensure integrity of uploaded file.

Example:

# robin bundle add elasticsearch 5.0 robin-bundles/BUNDLES/docker-elasticsearch-5.0-CUSTOM.tar.gz 
File upload: 100% -- (546755/546755)
Job:  125 Name: BundleAdd            State: VALIDATED       Error: 0
Job:  125 Name: BundleAdd            State: COMPLETED       Error: 0

3. remove

Remove an existing bundle from the system.

Usage:

robin bundle remove [-h] zoneid bundleid

positional arguments:
  zoneid      Zone Id
  bundleid    Bundle Id

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin bundle remove 1498721081 6
File object with object_id=1498968125624 successfully deleted.

4. open

Open the bundle for upgrades

Usage:

robin bundle open [-h] bundleid

positional arguments:
  bundleid    Id of bundle to get info for.

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin bundle open 6
[root@eqx02-poc01-s04 .6]#  

5. close

Open the bundle for upgrades or updates

Usage:

robin bundle close [-h] [--commit VERSION] [--update] [--wait] bundleid

positional arguments:
  bundleid          Id of bundle to get info for.

optional arguments:
  -h, --help        show this help message and exit
  --commit VERSION  Perform a commit and save bundle to provided bundle
                    version
  --update          Update the bundle in place
  --wait            Wait for command completion

Example:

# robin bundle close 7 --update
[root@eqx02-poc01-s04 ~]# 

image

Manage application images.

robin image [-h] {add,list,remove,update} ...

positional arguments:
  {add,list,remove,update}
    add                 Used to add a new bundle to the system
    list                Used to list information about images
    remove              Remove an image from the file server.
    update              Update attributes of an existing image record. Note
                        that it is assumed that the new attribute values are
                        correct (e.g., that 'format' matches the actual format
                        of the image).

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the application images in the system.

Usage:

robin image list [-h] [--full] [--json]

optional arguments:
  -h, --help  show this help message and exit
  --full      Display additional information about the images
  --json      Output in Json

Example:

# robin image list
Image Id | Name | Version | Format | File Object Id | File Name                      
---------+------+---------+--------+----------------+---------------------------------
1        | hdp  | 2.4.3   | LXC    | 1498969216237  | lxc-custom-hdp-2.4.3-231.tar.gz

2. add

Add a new image to the system.

Usage:

robin image add [-h] [--integrity_check] name version image_type path

positional arguments:
  name               Image name
  version            Image version
  image_type         Image type
  path               Pathname of file to upload

optional arguments:
  -h, --help         show this help message and exit
  --integrity_check  Send a checksum to ensure integrity of uploaded file.

Example:

# robin image add hdp 2.4.3 LXC lxc-custom-hdp-2.4.3-231.tar.gz
File upload: 100% -- (43434/43434)
Image 'hdp-2.4.3' was uploaded successfully

3. remove

Delete an existing image from the system.

Usage:

robin image remove [-h] image_id

positional arguments:
  image_id    Image Id

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin image remove 1
File object with object_id=1498969216237 successfully deleted.

app

Commands to deploy and manage applications.

robin app [-h]
                 {create,delete,list,info,stop,scale,addkey,evacuate,start,redeploy,freeze,unfreeze,snapshot,rollback,clone,computeqos,storageqos,upgrade,config,addvol}
                 ...

positional arguments:
  {create,delete,list,info,stop,scale,addkey,evacuate,start,redeploy,freeze,unfreeze,snapshot,rollback,clone,computeqos,storageqos,upgrade,config,addvol}
    create              Create an application
    delete              Delete an application
    list                List applications. By default, MASTER and CLONE
                        application records will be included in the list.
    info                Fetch application information
    stop                Stop an application instance
    scale               Add more instance to application
    addkey              Add an ssh key to an application instance
    evacuate            Evacuate an application instance
    start               Start an application
    redeploy            Redeploy an application
    freeze              Freeze an application instance
    unfreeze            Unfreeze an application
    snapshot            Snapshot an application instance
    rollback            Revert to a snapshot
    clone               Clone an application instance
    computeqos          Configure Compute QoS parameters for the application
    storageqos          Configure Storage QoS parameters for the application
    upgrade             Upgrade application
    addvol              Add an additional volume
    delvol              Add an additional volume
    config              Configure applications

1. list

Provides detailed information on all the applications deployed in the robin cluster.

Usage:

robin app list [-h] [--app-types [APP_TYPES]] [--all] [--json]

optional arguments:
  -h, --help            show this help message and exit
  --app-types [APP_TYPES]
                        This is a comma separated list of application types.
                        Valid choices are'MASTER', 'SNAPSHOT', and 'CLONE'.
  --all                 List all application records (master, snapshots, and
                        clones.
  --json                json output

Example:

# robin app list
Name     | Type   | Parent | Resource Pool | Vnodes | CPU | Memory  | Storage  | State  | Status | Health  | Snapshots | Error
---------+--------+--------+---------------+--------+-----+---------+----------+--------+--------+---------+-----------+-------
esapp    | MASTER |        | rpool1        | 3      | 12  | 36.0 GB | 630.0 GB | ONLINE | Ready  | Healthy | 0         | 0    
mysqlapp | MASTER |        | rpool1        | 1      | 1   | 1.0 GB  | 11.0 GB  | ONLINE | Ready  | Healthy | 0         | 0    

2. create

Create an Application.

Usage:

robin app create [-h] [--wait] [--genplan]
                        [--restart_attempts RESTART_NUM]
                        [--number_of_apps NUM_APPS] [--start_num START_NUM]
                        [--disable_auto_relocate] [--disable-hooks]
                        [--ip-pools IP_POOLS [IP_POOLS ...]]
                        name template rpool zoneid bundleid

positional arguments:
  name                  Application instance name
  template              Application template
  rpool                 Resource pool for the instance.
  zoneid                Zone Id.
  bundleid              Id of the Bundle containing application files.

optional arguments:
  -h, --help            show this help message and exit
  --wait                Wait for command completion
  --genplan             Generate plan
  --restart_attempts RESTART_NUM
                        Number of restart attempts when the app is in failure
                        state
  --number_of_apps NUM_APPS
                        If provided, the server will attempt to create
                        multiple applications of the same type with the names:
                        appname0, appname1, appname2, etc.
  --start_num START_NUM
                        Starting number if creating multiple applications
                        (default: 0)
  --disable_auto_relocate
                        Disable auto relocate upon failure
  --disable-hooks       Disable hooks
  --ip-pools IP_POOLS [IP_POOLS ...]
                        IP pool names

Example:

# robin app create --restart_attempts 3 --number_of_apps 1 esapp es-5.4.0-template.json rpool1 1517201362 10 
Submitted job '634'. Use 'robin job wait 634' to track the progress

3. delete

Delete an application.

Usage:

robin app delete [-h] [--force] [--wait] [--iter] name

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --force     Force delete the app.
  --wait      Run this command in the background
  --iter      Also delete snapshot and clone of application

Example:

# robin app delete esapp --iter
Deleting esclone
Job:  153 Name: ApplicationDelete    State: VALIDATED       Error: 0
Job:  153 Name: ApplicationDelete    State: WAITING         Error: 0
Job:  153 Name: ApplicationDelete    State: DONE            Error: 0
Job:  153 Name: ApplicationDelete    State: COMPLETED       Error: 0
Deleting esapp_snap1
Job:  157 Name: ApplicationDelete    State: WAITING         Error: 0
Job:  157 Name: ApplicationDelete    State: DONE            Error: 0
Job:  157 Name: ApplicationDelete    State: COMPLETED       Error: 0
Deleting esapp
Job:  158 Name: ApplicationDelete    State: VALIDATED       Error: 0
Job:  158 Name: ApplicationDelete    State: WAITING         Error: 0
Job:  158 Name: ApplicationDelete    State: DONE            Error: 0
Job:  158 Name: ApplicationDelete    State: COMPLETED       Error: 0

4. info

Fetch detailed information about an Application.

Usage:

robin app info [-h] [--json] [--fmt FMT] [--volmap] name

positional arguments:
  name        Application name

optional arguments:
  -h, --help  show this help message and exit
  --json      json output
  --fmt FMT   Output format (yaml/json)
  --volmap    Print volume to disk mapping

Example:

robin app info mysqlapp

Name: mysqlapp

Bundle Info: myssql 3.0

 ROLE    mysql                (vnodes: 1)


VNODE            4:mysqlapp.mysql.01              : vnode122-poc01 (1 cores) (1.0 GB) (SSD: 11.0 GB) (HDD: 0  B) ONLINE

Events:
    2018-02-03 14:17:51 INFO     EVENT_VOLUME_DELETED
    2018-02-03 14:17:37 INFO     EVENT_VOLUME_DELETED
    2018-01-29 16:49:27 INFO     EVENT_APP_CREATED
    2018-01-29 15:25:28 INFO     EVENT_NODE_UP
    2018-01-29 15:25:27 WARN     EVENT_NODE_DOWN

Volume                                                         | MntPoint       | Volgroup                                                    | DevSets                                         | Layout      | Media
---------------------------------------------------------------+----------------+-------------------------------------------------------------+-------------------------------------------------+-------------+-------
mysqlapp.mysql.01.data.74ba3f85-05cd-4623-8df6-d4f24d98626b    | /var/lib/mysql | mysqlapp.mysql.01.83.2.b88f9e23-b4e2-433b-84c4-04f009020b0a | <VOLGRP>.0.ef511b8a-c31f-440b-9e5c-6d8b3da3b42d | round-robin | SSD  
mysqlapp.mysql.01.root_fs.8e129a8d-4762-446d-90ed-7e4e68ce8076 | /              | mysqlapp.mysql.01.83.2.72ce200c-0a75-48a9-855e-fa93021f1f18 | <VOLGRP>.0.01afef09-2052-4107-a0b8-d157baf550ad | round-robin | SSD  

5. stop

Stop a running application.

Usage:

robin app stop [-h] [--all] [--wait] [name]

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --all       Stop all applications on the system
  --wait      Wait for command completion

Example:

# robin app stop esapp0
Submitted job '650'. Use 'robin job wait 650' to track the progress

6. start

Start an Application.

Usage:

robin app start [-h] [--wait] name

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app start esapp0
Submitted job '665'. Use 'robin job wait 665' to track the progress

7. scale

Add more instance to application.

Usage:

robin app scale [-h] [--vnode-hostnames VNODE_HOSTNAMES] [--env ENV]
                       [--wait]
                       name rolename count rpool

positional arguments:
  name                  Application name
  rolename              Application instance name
  count                 Scale the role to count instances
  rpool                 Resource pool name

optional arguments:
  -h, --help            show this help message and exit
  --vnode-hostnames VNODE_HOSTNAMES
                        Provide the hostnames to be used for vnodes
  --env ENV             Resource pool name
  --wait                Wait for command completion

Example:

# robin app scale esapp0 data_node 3 rpool1
Submitted job '173'. Use 'robin job wait 173' to track the progress 

8. snapshot

Take a Snapshot of an Application.

Usage:

robin app snapshot [-h] [--desc DESC] [--wait] [--no-quiesce]
                          appname snapname

positional arguments:
  appname       Application instance name
  snapname      Snapshot name

optional arguments:
  -h, --help    show this help message and exit
  --desc DESC   Description
  --wait        Wait for command completion
  --no-quiesce  Take a snapshot without quiescing app or container

Example:

# robin app snapshot esapp0 snap1
Submitted job '684'. Use 'robin job wait 684' to track the progress

9. rollback

Revert the application to a snapshot.

Usage:

robin app rollback [-h] [--wait] appname snapname

positional arguments:
  appname     Application instance name
  snapname    Snapshot name

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app rollback esapp0 esapp0_snap1
Submitted job '707'. Use 'robin job wait 707' to track the progress

10. clone

Clone an application.

Usage:

robin app clone [-h] [--ip-pool IP_POOL] [--role-ip-pools ROLE_POOLS]
                       [--role-vnode-hostnames ROLE_VNODE_HOSTNAMES]
                       [--role-cpus ROLE_CPUS] [--role-mem ROLE_MEM] [--wait]
                       snapname clonename rpool

positional arguments:
  snapname              Application snapshot name
  clonename             Clone name
  rpool                 Resource Pool name

optional arguments:
  -h, --help            show this help message and exit
  --ip-pool IP_POOL, -i IP_POOL
                        The IP pool for the cloned application.
  --role-ip-pools ROLE_POOLS, -r ROLE_POOLS
                        Comma separated list of ippools for role in
                        <role>:<pool1,pool2> format
  --role-vnode-hostnames ROLE_VNODE_HOSTNAMES
                        Comma separated list of vnode hostnames for role in
                        <role>:<host1,host2> format
  --role-cpus ROLE_CPUS
                        CPU count for role in <role>:<count> format
  --role-mem ROLE_MEM   Memory for role in <role>:<mem> format
  --wait                Wait for command completion

Example:

# robin app clone esapp0_snap1 esapp0_clone rpool1 
Submitted job '709'. Use 'robin job wait 709' to track the progress

11. addkey

Add an ssh key to an application. The ssh key will be added to all the application containers.

Usage:

robin app addkey [-h] [--wait] name key

positional arguments:
  name        Application instance name
  key         Public key

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app addkey esapp0 "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3neS/hBUXL+EqbgJUg+eKJkpAZtZUjV5gjbPNvmDxpTWZLaLnBtI6bzSfe6/SYlXanxvyHcMlbvRm8gHAzfbSiDdeVczmtTy/QckZEYxqfJblBMVTe9mNSLHGWUeE5PTjBRpOO6/l5cwkjfZ06PN1VERRAGsMPJysfUf4nQM+kHUMr6/uUur90AuhbVNabh9gLj/XxBKc3EP+y4DW0thBNCM8+wETXvH4in+0xWBZW3JmZSez7k4U2okDkNodsJTVc1Wk0PmvGc4/4HnBC5RfIJIYUJPYI6mdTmsydaLCwC2iclortHj4pE31RutP60+OxcPwtCj6d2VPAj3hA5zh root@eqx02-poc01-s04"
Submitted job '743'. Use 'robin job wait 743' to track the progress

12. evacuate

Evacuate an Application.

Usage:

robin app evacuate [-h] [--all] [--wait] [name]

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --all       Evacuate all applications on the system
  --wait      Wait for command completion

Example:

# robin app evacuate esapp0
Submitted job '744'. Use 'robin job wait 744' to track the progress

13. redeploy

Redeploy an evacuated Application.

Usage:

robin app redeploy [-h] [--all] [--wait] [name]

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --all       Redeploy all applications in the system
  --wait      Wait for command completion

Example:

# robin app redeploy esapp0
Submitted job '761'. Use 'robin job wait 761' to track the progress

14. computeqos

Configure Compute QoS parameters for the application.

Usage:

robin app computeqos [-h] --role ROLE [--cpus CPUS] [--memory MEMORY]
                            [--swap SWAP] [--wait]
                            name

positional arguments:
  name             Application instance name

optional arguments:
  -h, --help       show this help message and exit
  --role ROLE      Application Role Name
  --cpus CPUS      Specify the Maximum number of CPUs per instance. Setting 0,
                   would remove the cpu limits
  --memory MEMORY  Memory limit per instance in bytes, should not be less than
                   4 megabytes. Valid units are [kKmMgG]
  --swap SWAP      Swap limit per instance in bytes. Valid units are [kKmMgG]
  --wait           Wait for command completion

Example:

# robin app computeqos esapp0 --role data_node --cpus 3 --memory 16G
Submitted job '787'. Use 'robin job wait 787' to track the progress

15. storageqos

Configure Storage QoS parameters for the application.

Usage:

robin app storageqos [-h] --role ROLE --volume-type VOL_TYPE
                            [--read-min-iops RD_MIN_IOPS]
                            [--read-max-iops RD_MAX_IOPS]
                            [--read-weight {1,2,3,4,5}]
                            [--write-min-iops WR_MIN_IOPS]
                            [--write-max-iops WR_MAX_IOPS]
                            [--write-weight {1,2,3,4,5}] [--wait]
                            name

positional arguments:
  name                  Application instance name

optional arguments:
  -h, --help            show this help message and exit
  --role ROLE           Application Role Name (Required)
  --volume-type VOL_TYPE
                        Storage QoS for volume type
  --read-min-iops RD_MIN_IOPS
                        Minimum IOps for read operations
  --read-max-iops RD_MAX_IOPS
                        Maximum IOps for read operations
  --read-weight {1,2,3,4,5}
                        Relative weightage for read operations
  --write-min-iops WR_MIN_IOPS
                        Minimum IOps for write operations
  --write-max-iops WR_MAX_IOPS
                        Maximum IOps for write operations
  --write-weight {1,2,3,4,5}
                        Relative weightage for write operations
  --wait                Wait for command completion

Example:

# robin app storageqos esapp0 --role data_node --volume-type data1 --read-min-iops 20000
Submitted job '791'. Use 'robin job wait 791' to track the progress

16. probe

Reset the application state.

Usage:

robin app probe [-h] [--wait] name

positional arguments:
  name        Application instance name

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app probe esapp0
Submitted job '792'. Use 'robin job wait 792' to track the progress

17. freeze

Freeze an application instance

Usage:

robin app freeze [-h] [--wait] name

positional arguments:
  name        Application name

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app freeze esapp0
Submitted job '796'. Use 'robin job wait 796' to track the progress

18. unfreeze

Unfreeze a previously frozen application instance

Usage:

robin app unfreeze [-h] [--wait] name

positional arguments:
  name        Application name

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app unfreeze esapp0
Submitted job '799'. Use 'robin job wait 799' to track the progress

19. upgrade

Upgrade application

Usage:

robin app upgrade [-h] [--bundleid BUNDLEID] [--wait] [--test]
                         [--rolling]
                         name

positional arguments:
  name                 Application name

optional arguments:
  -h, --help           show this help message and exit
  --bundleid BUNDLEID  Id of bundle to upgrade to.
  --wait               Wait for command completion
  --test               Test upgrade
  --rolling            Rolling upgrade

Example:

# robin app upgrade esapp --bundleid 7 --rolling
Role                 | Current Version | New Version
---------------------+-----------------+-------------
data_node            | 5               | 5.4.0      
master_eligible_node | 5               | 5.4.0      
hot_node             | 5               | 5.4.0      
ingest_node          | 5               | 5.4.0      
coordination_node    | 5               | 5.4.0      
warm_node            | 5               | 5.4.0      
Master Only Node     | 5               | 5.4.0      
Upgrading application esapp...Done

20. config

Application configurations.

robin app config [-h] {list,update} ...

positional arguments:
  {list,update}
    list         list application parameters
    update       Configure Application parameters. auto_relocate
                 (enable/disable), restart_num (integer)

optional arguments:
  -h, --help     show this help message and exit

1. list

List current configurations of an application.

Usage:

robin app config list [-h] name

positional arguments:
  name        Application name

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin app config list esapp0
Attribute     | Value 
--------------+--------
restart_num   | 15    
auto_relocate | enable
id            | 6     
name          | esapp0
disable_hooks | False 

2. update

Update configurations of an application.

Usage:

robin app config update [-h] name attribute value

positional arguments:
  name        Application name
  attribute   Attribute name perform action on
  value       Value for the attribute

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin app config update esapp0 auto_relocate disable
Job:  234 Name: ApplicationConfigUpdate State: WAITING         Error: 0
Job:  234 Name: ApplicationConfigUpdate State: COMPLETED       Error: 0 

21. Addvol

Add additional volume to application instances

Usage:

robin app addvol [-h] [--wait] name role voltype size mntpath

positional arguments:
  name        Name of the application
  role        Name of the role
  voltype     Name of the volume type
  size        Size of the new volume
  mntpath     Mount path

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app addvol esapp0 data_node data1 200G /usr/share/elasticsearch/data1
Submitted job '237'. Use 'robin job wait 237' to track the progress 

22. delvol

Delete a volume from application instances

Usage:

robin app delvol [-h] [--wait] name volname

positional arguments:
  name        Name of the application
  volname     Name of the volume

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin app delvol esapp0 data_node data1
Submitted job '239'. Use 'robin job wait 239' to track the progress

instance

This command provides resources to manage individual container instances of an application.

robin instance [-h]
                      {list,info,delete,relocate,repair,start,addvol,restart,stop,computeqos}
                      ...

positional arguments:
  {list,info,delete,relocate,repair,start,addvol,restart,stop,computeqos}
    list                Used to list all instances
    info                Fetch compute instance information
    delete              Delete the compute instance
    relocate            Relocate the compute instance to a different host
    repair              Repair the instance, will try to replace storage
    start               Start the compute instance
    addvol              Add an additional volume
    restart             Redeploy the compute instance
    stop                Stop the compute instance
    computeqos          Configure Compute QoS parameters for the application

optional arguments:
  -h, --help            show this help message and exit

1. list

List all container instances of all the applications in the system.

Usage:

robin instance list [-h] [--app APP] [--all] [--json]

optional arguments:
  -h, --help  show this help message and exit
  --app APP   Application name
  --all       Include deleted instances
  --json      json output

Example:

# robin instance list
ID | ResPool | Container                       | Hostname                        | IP Addresses   | State   | Status  | Host            | Engine | Cores | Mem     | Ctime              
---+---------+---------------------------------+---------------------------------+----------------+---------+---------+-----------------+--------+-------+---------+---------------------
12 | rpool1  | esapp0.master_eligible_node.01  | vnode100-poc01.robinsystems.com | 10.10.1.100/24 | STARTED | ONLINE  | eqx02-poc01-c03 | docker | 4     | 12.0 GB | 2018-02-03 14:22:53
13 | rpool1  | esapp0.data_node.01             | vnode128-poc01.robinsystems.com | 10.10.1.128/24 | STARTED | ONLINE  | eqx02-poc01-c03 | docker | 3     | 16.0 GB | 2018-02-03 14:23:07
15 | rpool1  | esapp0.data_node.03             | vnode104-poc01.robinsystems.com | 10.10.1.104/24 | STARTED | ONLINE  | eqx02-poc01-c03 | docker | 3     | 16.0 GB | 2018-02-03 14:29:01
4  | rpool1  | mysqlapp.mysql.01               | vnode122-poc01.robinsystems.com | 10.10.1.122/24 | FROZEN  | OFFLINE | eqx02-poc01-c03 | docker | 1     | 1.0 GB  | 2018-01-29 16:49:27
14 | rpool1  | esapp0.data_node.02             | vnode91-poc01.robinsystems.com  | 10.10.1.91/24  | STARTED | ONLINE  | eqx02-poc01-c02 | docker | 3     | 16.0 GB | 2018-02-03 14:29:01
11 | rpool1  | esapp0.dedicated_master_node.01 | vnode121-poc01.robinsystems.com | 10.10.1.121/24 | STARTED | ONLINE  | eqx02-poc01-c02 | docker | 4     | 12.0 GB | 2018-02-03 14:22:40

2. info

Get information about an individual container instance of an application.

Usage:

robin instance info -h
robin instance info [-h] [--json] name

positional arguments:
  name        Compute instance name

optional arguments:
  -h, --help  show this help message and exit
  --json      json output

Example:

# 
robin instance info esapp0.master_eligible_node.01

Status:
    Name                      : esapp0.master_eligible_node.01
    Application               : esapp0
    Resource Pool             : rpool1
    Created Time              : 2018-02-03 14:22:53
    State                     : STARTED
    Status                    : (Desired: ONLINE Curr: ONLINE)

Network:
    Hostname                  : vnode100-poc01.robinsystems.com
    IP Addresses              : 10.10.1.100/24

Physical Host:
    Hostname                  : eqx02-poc01-c03.robinsystems.com
    Public Hostname           : None
    Public IP                 : None

Bundle:
    Engine                    : docker

Compute:
    Max_cores                 : 4
    Max_memory                : 12.0 GB

Storage                       : (HDD: 200.0 GB, SSD: 10.0 GB)
    Id:33  esapp0.master_eligible_node.01.root_fs.09aa1546-d8cc-4b71-b7a4-131c29e68bef: SSD 10.0 GB (ONLINE)
    Id:32  esapp0.master_eligible_node.01.data1.7ed3b95c-6e43-45a5-8d6a-ebaa9042c18b: HDD 200.0 GB (ONLINE)

Events:
    2018-02-03 14:33:40 INFO     EVENT_CONT_STARTED
    2018-02-03 14:33:38 INFO     EVENT_CONT_DELETED
    2018-02-03 14:33:38 INFO     EVENT_CONT_STOPPED
    2018-02-03 14:32:36 INFO     EVENT_CONT_STARTED
    2018-02-03 14:31:40 INFO     EVENT_CONT_DELETED
    2018-02-03 14:31:40 INFO     EVENT_CONT_STOPPED
    2018-02-03 14:22:50 INFO     EVENT_CONT_STARTED
    2018-01-28 23:00:44 INFO     EVENT_CONT_STARTED

RestartPolicy:
    restart_limit             : 15
    restart_left              : 15
    burst_interval            : 600 seconds
    burst_count               : N/A

3. relocate

Relocate a compute instance to a different host.

Usage:

robin instance relocate [-h] [--wait] name

positional arguments:
  name        Name of the compute instance

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance relocate esapp0.data_node.02
Submitted job '841'. Use 'robin job wait 841' to track the progress

4. stop

Stop a compute instance.

Usage:

robin instance stop [-h] [--wait] name

positional arguments:
  name        Name of compute instance

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance stop esapp0.data_node.03
Submitted job '842'. Use 'robin job wait 842' to track the progress

5. start

Start a compute instance.

Usage:

robin instance start [-h] [--wait] name

positional arguments:
  name        Name of the compute instance

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance start esapp0.data_node.03
Submitted job '843'. Use 'robin job wait 843' to track the progress

6. restart

Restart a compute instance.

Usage:

robin instance restart [-h] [--wait] name

positional arguments:
  name        Name of the compute instance

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance restart esapp0.data_node.03
Submitted job '844'. Use 'robin job wait 844' to track the progress

7. repair

Repair the instance, will try to replace storage.

Usage:

robin instance repair [-h] [--allvol] [--wait] name

positional arguments:
  name        Name of the compute instance

optional arguments:
  -h, --help  show this help message and exit
  --allvol    Replace all the volumes, else it will replace only faulted
              volumes
  --wait      Wait for command completion

Example:

# robin instance repair esapp0.data_node.03
Submitted job '846'. Use 'robin job wait 846' to track the progress

8. addvol

Add an additional volume

Usage:

robin instance addvol [-h] [--wait] name voltype mntpath

positional arguments:
  name        Name of the compute instance
  voltype     Name of the volume type
  mntpath     Mount path

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance addvol esapp0.data_node.03 data1 /data4
Submitted job '849'. Use 'robin job wait 849' to track the progress

9. delete

Delete an instance

Usage:

robin instance delete [-h] [--wait] name

positional arguments:
  name        Name of the compute instance

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Example:

# robin instance delete esapp0.data_node.03 
Submitted job '852'. Use 'robin job wait 852' to track the progress

10. computeqos

Set computeqos for an instance

Usage:

robin instance computeqos [-h] [--cpus CPUS] [--memory MEMORY]
                                 [--swap SWAP] [--wait]
                                 name

positional arguments:
  name             Instance name

optional arguments:
  -h, --help       show this help message and exit
  --cpus CPUS      Specify the Maximum number of CPUs for the instance.
                   Setting 0, would remove the cpu limits
  --memory MEMORY  Memory limit for the instance, should not be less than 4
                   megabytes. Valid units are [kKmMgG]
  --swap SWAP      Swap limit for the instance in bytes. Valid units are
                   [kKmMgG]
  --wait           Wait for command completion

Example:

# robin instance computeqos esapp0.data_node.02 --memory 18G
Submitted job '258'. Use 'robin job wait 258' to track the progress

Settings

config

Commands to manage the configuration settings of the robin cluster.

robin config [-h] {list,update} ...

optional arguments:
  -h, --help     show this help message and exit

config sub-commands:
  These sub-commands control the config attributes of the Robin server.

  {list,update}
    list         Used to display a list of system config attributes.
    update       Used to update the value assigned to a system config
                 attribute

1. list

List system configurations.

Usage:

robin config list [-h] [--full] [section] [attribute]

positional arguments:
  section     Limit display output to attributes for this section
  attribute   Limit display output to this attribute

optional arguments:
  -h, --help  show this help message and exit
  --full      Display additional information about each attribute

Example:

# robin config list
robin config list
Section          | Attribute                              | Value                                                               
-----------------+----------------------------------------+----------------------------------------------------------------------
watchdog_server  | rest_port                              | 39455                                                               
watchdog_server  | log_level                              | DEBUG                                                               
watchdog_server  | hostname                               | localhost                                                           
event_server     | rest_port                              | 39453                                                               
event_server     | log_level                              | DEBUG                                                               
event_server     | hostname                               | master.robin-event-server.service.robin                             
cluster          | max_node_count                         | 65535                                                               
cluster          | telemetry_server                       | insight.robinsystems.com:443                                        
cluster          | telemetry_interval                     | 86400                                                               
cluster          | install_key                            | <REDACTED>                                                          
cluster          | enable_telemetry                       | False                                                               
cluster          | clusterid                              | c4beb0f2-b0f0-4d72-94ca-32341324257c                                
docker           | port                                   | 2376                                                                
docker           | storage_driver                         | robin/robingraph                                                    
notification     | smtp_port                              | 0                                                                   
notification     | snmp_port                              | None                                                                
notification     | smtp_server                            | localhost                                                           
notification     | smtp_ssl                               | False                                                               
notification     | smtp_passwd                            | <REDACTED>                                                          
notification     | snmp_host                              | None                                                                
notification     | smtp_user                              | None                                                                
server           | ssl_key_file                           | /etc/robin/rcm/ssl/robin_ssl.key                                    
server           | restart_burst_limit                    | 15                                                                  
server           | allocation_module                      | robin.rcm.server.resmgr.workload_storage_allocator.WorkloadAllocator
server           | relocation_threshold                   | 125                                                                 
server           | voltype_disk_reuse                     | True                                                                
server           | log_file_size                          | 10                                                                  
server           | restart_burst_interval                 | 600                                                                 
server           | max_volumes_per_disk                   | 10                                                                  
server           | hostname                               | eqx02-poc01-s04.robinsystems.com                                    
server           | rest_server                            | master.robin-server.service.robin                                   
server           | log_filter_file                        |                                                                     
server           | rest_port                              | 39451                                                               
server           | ssl_cert_file                          | /etc/robin/rcm/ssl/robin_ssl.crt                                    
server           | portmapping                            | False                                                               
server           | log_level                              | DEBUG                                                               
server           | allow_latency_through_vols_on_disk     | False                                                               
server           | autopilot                              | True                                                                
server           | token_timeout                          | 24                                                                  
server           | web_token_secret_key                   | <REDACTED>                                                          
server           | log_path                               | /var/log/robin/log_collect                                          
server           | log_retention                          | 4                                                                   
server           | storage_provision_factor               | 0.85                                                                
server           | max_throughput_intensive_vols_per_disk | 1                                                                   
server           | max_latency_sensitive_vols_per_disk    | 2                                                                   
agent            | rest_port                              | 39452                                                               
agent            | monitor_report_interval                | 5                                                                   
agent            | registration_timeout                   | 10                                                                  
agent            | watchdog_loop_interval                 | 3                                                                   
agent            | rdvm_mem_maxcap                        | 25769803776                                                         
agent            | monitor_push_interval                  | 60                                                                  
agent            | hard_reset_on_isolation                | 1                                                                   
agent            | metrics_grafana_details                | {"url": "", "auth": ":"}                                            
agent            | log_level                              | DEBUG                                                               
agent            | monitor_influx_details                 | {"url": "", "dbname": "robin", "auth": ":" }                        
agent            | file_object_cache                      | /var/lib/robin/.file_object_cache                                   
agent            | hostname                               | eqx02-poc01-s04.robinsystems.com                                    
agent            | rdvm_mem_alloc                         | 0                                                                   
agent            | rest_server                            | eqx02-poc01-s04.robinsystems.com                                    
agent            | monitor_interval                       | 1                                                                   
agent            | suicide_threshold                      | 90                                                                  
database         | port                                   | 5432                                                                
database         | log_level                              | INFO                                                                
database         | user                                   | robin                                                               
database         | db_name                                | robin                                                               
database         | server                                 | master.postgresql.service.robin                                     
database         | password                               | <REDACTED>                                                          
analytics        | port                                   | 39462                                                               
analytics        | server                                 | robin-analytics.service.robin                                       
client           | rest_port                              | 39451                                                               
client           | log_level                              | DEBUG                                                               
client           | enable_colors                          | True                                                                
client           | server                                 | master.robin-server.service.robin                                   
database_storage | db_name                                | robin_storage                                                       
host             | host_type                              | physical                                                            
host             | reserved_subnet                        | 172.20.0.0                                                          
host             | saas_mode                              | False                                                               
file_server      | rest_port                              | 39454                                                               
file_server      | log_level                              | DEBUG                                                               
file_server      | hostname                               | eqx02-poc01-s04.robinsystems.com      

2. update

Update a configuration parameter.

Usage:

robin config update [-h] [--hosts HOSTS] [--force]
                           [section] [attribute] value

positional arguments:
  section        Section of attribute to update
  attribute      Attribute to attribute
  value          New attribute value

optional arguments:
  -h, --help     show this help message and exit
  --hosts HOSTS  A comma separated list of hosts to configure (if section is
                 'agent').
  --force        Override update restrictions

Example:

# robin config update server log_level INFO
The 'server' attribute 'log_level' has been updated to '20'

docker-registry

Commands to manage the docker registry settings for the robin cluster. By default the docker public registry is added to the settings. You can use this endpoint to add your internal registry details.

robin docker-registry [-h] {add,list,remove,update} ...

positional arguments:
  {add,list,remove,update}
    add                 add a new registry to the system
    list                list all available registries
    remove            . remove specified registry from the system
    update            . update a registry

optional arguments:
  -h, --help            show this help message and exit

1. list

List the docker registries defined in the system.

Usage:

robin docker-registry [-h] {add,list,remove,update} ...

positional arguments:
  {add,list,remove,update}
    add                 add a new registry to the system
    list                list all available registries
    remove            . remove specified registry from the system
    update            . update a registry

optional arguments:
  -h, --help            show this help message and exit

Example:

# robin docker-registry list
ID | Name       | Hostname  | Port | Username | SSL Certificate
---+------------+-----------+------+----------+-----------------
1  | Docker Hub | docker.io |      |          |                

2. add

Add a new docker registry to the settings.

Usage:

robin docker-registry add [-h] [--username USERNAME] [--port PORT]
                                 [--certificate CERTIFICATE] [--wait]
                                 name hostname

positional arguments:
  name                  Name used to refer to the registry
  hostname              Hostname of the registry

optional arguments:
  -h, --help            show this help message and exit
  --username USERNAME, -u USERNAME
                        Username for accessing the registry being added
  --port PORT, -o PORT  Port number of the registry
  --certificate CERTIFICATE, -c CERTIFICATE
                        SSL certificate for the registry
  --wait                Wait for command completion

Example:

# robin docker-registry add docker-internal eqx02-poc01-s04 --username robin --port 5000
Password: 
Retype password: 
Submitted job '65'. Use 'robin job wait 65' to track the progress

3. update

Update an existing docker registry settings.

Usage:

robin docker-registry update [-h] [--name NAME] [--username USERNAME]
                                    [--certificate CERTIFICATE] [--wait]
                                    registry_id

positional arguments:
  registry_id           ID of an existing registry to be updated

optional arguments:
  -h, --help            show this help message and exit
  --name NAME, -n NAME  Change the name of the registry
  --username USERNAME, -u USERNAME
                        Change the username for accessing the registry
  --certificate CERTIFICATE, -c CERTIFICATE
                        Change the SSL certificate for the registry
  --wait                Wait for command completion

Example:

# robin docker-registry update 2 --name docker-local 
Submitted job '66'. Use 'robin job wait 66' to track the progress

4. remove

Remove a docker registry.

Usage:

robin docker-registry remove [-h] [--wait] registry_id

positional arguments:
  registry_id  ID of the registry to be removed

optional arguments:
  -h, --help   show this help message and exit
  --wait       Wait for command completion

Example:

# robin docker-registry remove 2
Submitted job '67'. Use 'robin job wait 67' to track the progress

collection

Commands to manage robin file collection.

robin collection [-h]
                        {create,delete,evacuate,list,probe,online,offline} ...

positional arguments:
  {create,delete,evacuate,list,probe,online,offline}
    create              Used to create a new file collection on the system
    delete              Delete a File Collection
    evacuate            Evacuate a File Collection from a host. It will
                        automatically be moved to File Server on another host
                        (assuming one is available).
    list                Used to list information about file collections
    probe               Probe a File Collection
    online              Enable a File Collection
    offline             Disable a File Collection

optional arguments:
  -h, --help            show this help message and exit

1. list

List all file collections defined in the system.

Usage:

robin collection list [-h] [--name NAME] [--full] [collection_id]

positional arguments:
  collection_id  Id of file collection to list (default is None)

optional arguments:
  -h, --help     show this help message and exit
  --name NAME    Name of file collection to list
  --full         Display additional information about the file collections

Example:

# robin collection list
Collection Id | Collection Type | Name              | Hostname                         | State  | Status
--------------+-----------------+-------------------+----------------------------------+--------+--------
1517207051384 | FILE_COLLECTION | file-collection-3 | eqx02-poc01-s04.robinsystems.com | Online | READY 
1517736460110 | LOG_COLLECTION  | log-collection-1  | eqx02-poc01-s04.robinsystems.com | Online | READY 
 

2. create

Create a new file collection.

Usage:

robin collection create [-h] [--collection_type COLLECTION_TYPE]
                               [--local_storage] [--replicas REPLICAS]
                               [--size SIZE] [--force] [--wait]
                               hostname [media_type] [rpool]

positional arguments:
  hostname              The name of the physical node where the robin-file-
                        server managing the collection is located
  media_type            Specify which type of drives to allocate storage from
                        (choices are 'HDD' and 'SSD'). This option is required
                        for collection types 'FILE_COLLECTION' and
                        'LOG_COLLECTION'
  rpool                 Specify which resource pool to use when allocating
                        storage for collection. This option is required for
                        collection types 'FILE_COLLECTION' and
                        'LOG_COLLECTION'

optional arguments:
  -h, --help            show this help message and exit
  --collection_type COLLECTION_TYPE
                        Specify the type of collection to create. Valid
                        collection types are 'FILE_COLLECTION' (the default)
                        and 'LOG_COLLECTION'.
  --local_storage       Use local storage
  --replicas REPLICAS   Replication level of the collection volume (default =
                        3). Not valid for local storage
  --size SIZE           The size of the allocated storage volume (default is
                        250GB). Note that actual storage blocks will be
                        allocated only when images and/or bundles are
                        uploaded.
  --force               Override requirement that replicas be set to 3
  --wait                Wait for command completion

Example:

# robin collection create eqx02-poc01-s04.robinsystems.com HDD rpool1 --size 200G
Submitted job '280'. Use 'robin job wait 280' to track the progress 

3. evacuate

Evacuate a file collection from a host and place it in another host.

Usage:

robin collection evacuate [-h] [--force] [--wait] collection_id

positional arguments:
  collection_id  File Collection Id

optional arguments:
  -h, --help     show this help message and exit
  --force        Override evacuate restrictions
  --wait         Wait for command completion

Example:

# robin collection evacuate 1517736460110
Submitted job '283'. Use 'robin job wait 283' to track the progress 

4. probe

Probe checks health of the collection and fixes it.

Usage:

robin collection probe [-h] [--wait] collection_id

positional arguments:
  collection_id  File Collection Id

optional arguments:
  -h, --help     show this help message and exit
  --wait         Wait for command completion

Example:

# robin collection probe 1517736460110
Submitted job '287'. Use 'robin job wait 287' to track the progress

5. offline

Disable a File Collection

Usage:

robin collection offline [-h] [--wait] collection_id

positional arguments:
  collection_id  File Collection Id

optional arguments:
  -h, --help     show this help message and exit
  --wait         Wait for command completion

Example:

# robin collection offline 1517736460110
Submitted job '289'. Use 'robin job wait 289' to track the progress

6. online

Enable a File Collection

Usage:

robin collection online [-h] [--hostname HOSTNAME] [--wait]
                               collection_id

positional arguments:
  collection_id        File Collection Id

optional arguments:
  -h, --help           show this help message and exit
  --hostname HOSTNAME  Host to bring the collection up on.
  --wait               Wait for command completion

Example:

# robin collection online 1517736460110
Submitted job '290'. Use 'robin job wait 290' to track the progress 

7. delete

Delete a File Collection.

Usage:

robin collection delete [-h] [--wait] collection_id

positional arguments:
  collection_id  File Collection Id

optional arguments:
  -h, --help     show this help message and exit
  --wait         Wait for command completion

Example:

# robin collection delete 1517736460110
Submitted job '291'. Use 'robin job wait 291' to track the progress

file-object

Commands to manage File Objects.

robin file-object [-h] {list,remove} ...

positional arguments:
  {list,remove}
    list         Used to list information about file objects
    remove       Used to remove a file-object

optional arguments:
  -h, --help     show this help message and exit

1. list

Used to list information about file objects

Usage:

robin file-object [-h] {list,remove} ...

positional arguments:
  {list,remove}
    list         Used to list information about file objects
    remove       Used to remove a file-object

optional arguments:
  -h, --help     show this help message and exit

Example:

# robin file-object list
Object Id     | Type    | Name          | Version | File Object Path                                          
--------------+---------+---------------+---------+------------------------------------------------------------
1517208926703 | Archive | cassandra     | 3.7     | /var/lib/robin/collections/file-collection-3/1517208926703
1517208949245 | Archive | elasticsearch | 5.4     | /var/lib/robin/collections/file-collection-3/1517208949245
1517208985500 | Archive | hdp           | 2.4.3   | /var/lib/robin/collections/file-collection-3/1517208985500
1517209037452 | Archive | myssql        | 3.0     | /var/lib/robin/collections/file-collection-3/1517209037452
1517268704072 | File    | mysql         | 3.0     | /var/lib/robin/collections/file-collection-3/1517268704072
1517291796554 | Archive | cloudera      | 5.8.2   | /var/lib/robin/collections/file-collection-3/1517291796554
1517291861487 | Archive | mongodb       | 3.4.2   | /var/lib/robin/collections/file-collection-3/1517291861487
1517291916828 | Archive | mariadb       | 10.1.23 | /var/lib/robin/collections/file-collection-3/1517291916828
1517292011644 | Archive | couchdb       | 2.0     | /var/lib/robin/collections/file-collection-3/1517292011644
1517292039769 | Archive | couchbase     | 4.5     | /var/lib/robin/collections/file-collection-3/1517292039769
1517693488076 | Archive | elasticsearch | 5.0     | /var/lib/robin/collections/file-collection-3/1517693488076

cloud

Command to configure cloud

robin cloud [-h] {add-aws-credentials,remove-aws-credentials} ...

positional arguments:
  {add-aws-credentials,remove-aws-credentials}
    add-aws-credentials
                        Add AWS credentials
    remove-aws-credentials
                        Remove AWS credentials

optional arguments:
  -h, --help            show this help message and exit

1. add-aws-credentials

Add AWS credentials

Usage:

robin cloud add-aws-credentials [-h] [--wait]
                                       access_key secret_key region_name

positional arguments:
  access_key   Access Key from you AWS IAM console
  secret_key   Secret Key from you AWS IAM console
  region_name  Amazon region name

optional arguments:
  -h, --help   show this help message and exit
  --wait       Wait for command completion

2. remove-aws-credentials

Remove AWS credentials

robin cloud remove-aws-credentials [-h] [--wait]

optional arguments:
  -h, --help  show this help message and exit
  --wait      Wait for command completion

Monitoring

ap

Autopilot reports

robin ap [-h] {disable,enable,report} ...

positional arguments:
  {disable,enable,report}
    disable             Disable autopilot
    enable              Enable autopilot
    report              Report the AP object status

optional arguments:
  -h, --help            show this help message and exit

1. enable

Enable autopilot.

Usage:

robin ap enable [-h] [--id ID]

optional arguments:
  -h, --help  show this help message and exit
  --id ID     Name of the object to enable

Example:

# robin ap enable

2. disable

Disable autopilot.

Usage:

robin ap disable [-h] [--id ID]

optional arguments:
  -h, --help  show this help message and exit
  --id ID     Id of the object to disable

Example:

# robin ap disable

3. report

Report the AP object status

Usage:

robin ap report [-h] [--name NAME] [--json]

optional arguments:
  -h, --help   show this help message and exit
  --name NAME  Name of the object to report
  --json       Output in Json

Example:

# robin ap report
TYPE       | NAME                                                              | CURR       | DESIRED | LAST UPDATE         | GRP NAME                         | AUTOPILOT
-----------+-------------------------------------------------------------------+------------+---------+---------------------+----------------------------------+-----------
Collection | /var/lib/robin/collections/file-collection-3                      | Online     | Online  | 2018-02-03 20:25:39 | eqx02-poc01-s04.robinsystems.com | Enabled  
Pnode      | eqx02-poc01-c02.robinsystems.com                                  | Ready      | Ready   | 2018-02-03 20:25:37 | eqx02-poc01-c02.robinsystems.com | Enabled  
Pnode      | eqx02-poc01-c03.robinsystems.com                                  | Ready      | Ready   | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  
Pnode      | eqx02-poc01-s04.robinsystems.com                                  | Ready      | Ready   | 2018-02-03 20:25:39 | eqx02-poc01-s04.robinsystems.com | Enabled  
Pnode      | eqx02-poc01-s05.robinsystems.com                                  | Ready      | Ready   | 2018-02-03 20:25:37 | eqx02-poc01-s05.robinsystems.com | Enabled  
Vnode      | vnode121-poc01.robinsystems.com (esapp0.dedicated_master_node.01) | ONLINE     | ONLINE  | 2018-02-03 20:25:37 | eqx02-poc01-c02.robinsystems.com | Enabled  
Vnode      | vnode104-poc01.robinsystems.com (esapp0.data_node.03)             | ADMIN_WAIT | ONLINE  | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  
Vnode      | vnode91-poc01.robinsystems.com (esapp0.data_node.02)              | ONLINE     | ONLINE  | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  
Vnode      | vnode100-poc01.robinsystems.com (esapp0.master_eligible_node.01)  | ONLINE     | ONLINE  | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  
Vnode      | vnode128-poc01.robinsystems.com (esapp0.data_node.01)             | ONLINE     | ONLINE  | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  
Vnode      | vnode122-poc01.robinsystems.com (mysqlapp.mysql.01)               | ONLINE     | ONLINE  | 2018-02-03 20:25:39 | eqx02-poc01-c03.robinsystems.com | Enabled  

alert

Commands to query the alerts of the Robin.

1. list

Used to list one or more system alerts

Usage:

robin alert list [-h] [--page-size PAGE_SIZE] [--page PAGE]
                        [--hostname HOSTNAME] [--nodeid NODEID] [--type TYPE]
                        [--type-id TYPE_ID] [--level LEVEL] [--object OBJECT]
                        [--all] [--ascending] [--total]
                        [id]

positional arguments:
  id

optional arguments:
  -h, --help            show this help message and exit
  --page-size PAGE_SIZE, -p PAGE_SIZE
                        Maximum number of alert records to include in a single
                        output page.
  --page PAGE, -n PAGE  Starting page number (relative to total number of
                        pages of PAGE_SIZE).
  --hostname HOSTNAME   Filter alerts and include only those originating from
                        the node with ahostname of HOSTNAME.
  --nodeid NODEID       Filter alerts and include only those originating from
                        the node with anodeid of NODEID.
  --type TYPE           Filter alerts and include only those where the event
                        type for the initial event matches TYPE. Use the
                        'robin event_type list' command to see a list of event
                        types.
  --type-id TYPE_ID     Filter alerts and include only those where the event
                        type Id for the initial event matches TYPE_ID. Use the
                        'robin alert_type list' command to see a list of alert
                        types.
  --level LEVEL         Filter alerts and include only those where level for
                        the initial event matches LEVEL. Valid values for
                        LEVEL include: INFO, WARN, and ERROR.
  --object OBJECT       Filter alerts and include only those where object_id
                        is a match for OBJECT.
  --all                 Display alerts that are ACTIVE and RESOLVED (the
                        default is to only display ACTIVE alerts).
  --ascending           Alerts returned are normally sorted in descending
                        order (by alert Id). Use the --ascending option to
                        return the alerts in ascending order by Id.
  --total               Show total count of alerts only.

Example:

# robin alert list --all

ID | START_TIME          | CUR_TIME            | EVENT_TYPE               | CUR_LEVEL | STATE    | OBJECT_ID           | EVENT_COUNT
---+---------------------+---------------------+--------------------------+-----------+----------+---------------------+-------------
21 | 02/03/2018 19:24:53 | 02/03/2018 19:24:53 | EVENT_CONT_DEPLOY_FAILED | ERROR     | ACTIVE   | esapp0.data_node.03 | 1          
20 | 02/03/2018 18:24:37 | 02/03/2018 18:25:14 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | stormgr-server      | 2          
19 | 01/31/2018 11:17:45 | 01/31/2018 11:18:16 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | stormgr-server      | 2          
18 | 01/31/2018 06:18:23 | 01/31/2018 06:19:00 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | stormgr-server      | 2          
17 | 01/30/2018 10:20:08 | 01/30/2018 10:21:21 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | stormgr-server      | 2          
16 | 01/29/2018 23:32:56 | 01/29/2018 23:34:04 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | stormgr-server      | 2          
15 | 01/29/2018 15:25:30 | 01/29/2018 15:26:06 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | robin-agent         | 2          
14 | 01/29/2018 15:25:30 | 01/29/2018 15:26:05 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | monitor-server      | 2          
13 | 01/29/2018 15:25:29 | 01/29/2018 15:26:03 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | iomgr-server        | 2          
12 | 01/29/2018 15:25:29 | 01/29/2018 15:26:02 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | docker              | 2          
11 | 01/29/2018 15:25:27 | 01/29/2018 15:25:28 | EVENT_NODE_DOWN          | INFO      | RESOLVED | 2                   | 2          
10 | 01/29/2018 15:25:04 | 01/29/2018 15:25:38 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | robin-agent         | 2          
9  | 01/29/2018 15:25:04 | 01/29/2018 15:25:38 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | monitor-server      | 2          
8  | 01/29/2018 15:25:04 | 01/29/2018 15:25:37 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | iomgr-server        | 2          
7  | 01/29/2018 15:25:04 | 01/29/2018 15:25:36 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | docker              | 2          
6  | 01/29/2018 15:25:02 | 01/29/2018 15:25:03 | EVENT_NODE_DOWN          | INFO      | RESOLVED | 3                   | 2          
5  | 01/28/2018 22:19:16 | 01/28/2018 22:20:19 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | robin-agent         | 2          
4  | 01/28/2018 22:19:16 | 01/28/2018 22:19:48 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | iomgr-server        | 2          
3  | 01/28/2018 22:16:33 | 01/28/2018 22:17:05 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | robin-agent         | 2          
2  | 01/28/2018 22:12:22 | 01/28/2018 22:12:53 | EVENT_PROC_UNHEALTHY     | INFO      | RESOLVED | robin-agent         | 2          
--------------------------------------------
21 items, page 1 of 2.
--------------------------------------------

2. resolve

Used to resolve a system alert

Usage:

robin alert resolve [-h] id

positional arguments:
  id          ID of alert to be resolved

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin alert resolve 1
One or more alerts resolved

event

Commands to query the events of the Robin.

robin event [-h] {list} ...

positional arguments:
  {list}
    list      Used to list one or more system events

optional arguments:
  -h, --help  show this help message and exit

1. list

Used to list one or more system events

Usage:

robin event list [-h] [--page-size PAGE_SIZE] [--page PAGE]
                        [--hostname HOSTNAME] [--type TYPE]
                        [--type-id TYPE_ID] [--level LEVEL] [--object OBJECT]
                        [--ascending] [--total]
                        [id]

positional arguments:
  id

optional arguments:
  -h, --help            show this help message and exit
  --page-size PAGE_SIZE, -p PAGE_SIZE
                        Maximum number of event records to include in a single
                        output page.
  --page PAGE, -n PAGE  Starting page number (relative to total number of
                        pages of PAGE_SIZE).
  --hostname HOSTNAME   Filter events and include only those originating from
                        the node with ahostname of HOSTNAME.
  --type TYPE           Filter events and include only those where event type
                        matches TYPE. Use the 'robin event_type list' command
                        to see a list of event types.
  --type-id TYPE_ID     Filter events and include only those where event type
                        Id matches TYPE_ID. Use the 'robin event_type list'
                        command to see a list of event types.
  --level LEVEL         Filter events and include only those where level
                        matches for LEVEL. Valid values for LEVEL include:
                        INFO, WARN, and ERROR.
  --object OBJECT       Filter events and include only those where object_id
                        is a match for OBJECT.
  --ascending           Events returned are normally sorted in descending
                        order (by event Id). Use the --ascending option to
                        return the events in ascending order by Id.
  --total               Show the total count of events only.

Example:

# robin event list
ID  | TIME                | EVENT_TYPE               | LEVEL | OBJECT                                   | HOST            | DESCRIPTION                                                                                    
----+---------------------+--------------------------+-------+------------------------------------------+-----------------+-------------------------------------------------------------------------------------------------
192 | 02/03/2018 20:33:48 | EVENT_RESOLVER           | INFO  | robin-agent                              | UNKNOWN         | Active alerts for object 'UNKNOWN' on node UNKNOWN:UNKNOWN have been resolved.                 
191 | 02/03/2018 19:24:53 | EVENT_CONT_DEPLOY_FAILED | ERROR | vnode104-poc01.robinsystems.com (esapp0) | eqx02-poc01-c03 | container vnode104-poc01.robinsystems.com could not be deployed on node default:eqx02-poc01-c03
190 | 02/03/2018 19:24:52 | EVENT_CONT_DELETED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was deleted     
189 | 02/03/2018 19:24:51 | EVENT_CONT_STOPPED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was stopped     
188 | 02/03/2018 19:22:02 | EVENT_CONT_STARTED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was started     
187 | 02/03/2018 19:21:59 | EVENT_CONT_DELETED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was deleted     
186 | 02/03/2018 19:21:58 | EVENT_CONT_STOPPED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was stopped     
185 | 02/03/2018 19:21:20 | EVENT_CONT_STARTED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was started     
184 | 02/03/2018 19:20:51 | EVENT_CONT_DELETED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was deleted     
183 | 02/03/2018 19:20:50 | EVENT_CONT_STOPPED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was stopped     
182 | 02/03/2018 19:20:24 | EVENT_CONT_RELOCATED     | INFO  | vnode91-poc01.robinsystems.com (esapp0)  | eqx02-poc01-c03 | container vnode91-poc01.robinsystems.com was relocated to default:eqx02-poc01-c03              
181 | 02/03/2018 19:20:20 | EVENT_CONT_STARTED       | INFO  | esapp0.data_node.02 (vnode91-poc01)      | eqx02-poc01-c03 | container esapp0.data_node.02 on node default:eqx02-poc01-c03.robinsystems.com was started     
180 | 02/03/2018 19:20:17 | EVENT_CONT_DELETED       | INFO  | esapp0.data_node.02 (vnode91-poc01)      | eqx02-poc01-c02 | container esapp0.data_node.02 on node default:eqx02-poc01-c02.robinsystems.com was deleted     
179 | 02/03/2018 19:20:17 | EVENT_CONT_STOPPED       | INFO  | esapp0.data_node.02 (vnode91-poc01)      | eqx02-poc01-c02 | container esapp0.data_node.02 on node default:eqx02-poc01-c02.robinsystems.com was stopped     
178 | 02/03/2018 18:25:14 | EVENT_PROC_HEALTHY       | INFO  | stormgr-server                           | eqx02-poc01-s04 | Health check passed for service stormgr-server on node default:eqx02-poc01-s04.robinsystems.com
177 | 02/03/2018 18:24:37 | EVENT_PROC_UNHEALTHY     | WARN  | stormgr-server                           | eqx02-poc01-s04 | Health check failed for service stormgr-server on node default:eqx02-poc01-s04.robinsystems.com
176 | 02/03/2018 15:37:28 | EVENT_CONT_STARTED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was started     
175 | 02/03/2018 15:37:22 | EVENT_CONT_DELETED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was deleted     
174 | 02/03/2018 15:37:21 | EVENT_CONT_STOPPED       | INFO  | esapp0.data_node.03 (vnode104-poc01)     | eqx02-poc01-c03 | container esapp0.data_node.03 on node default:eqx02-poc01-c03.robinsystems.com was stopped     
173 | 02/03/2018 15:37:17 | EVENT_CONT_STARTED       | INFO  | esapp0.data_node.02 (vnode91-poc01)      | eqx02-poc01-c02 | container esapp0.data_node.02 on node default:eqx02-poc01-c02.robinsystems.com was started     
--------------------------------------------
192 items, page 1 of 10.
--------------------------------------------

event-type

Commands to manage event types.

robin event-type [-h] {list} ...

positional arguments:
  {list}
    list      Used to list system event types. By default, only those event
              types that are ACTIVE will be displayed. The --status and --all
              command line options can be used to change this behaviour. Note
              that these filtering options have no effect when listing a
              specific event type on the command line.

optional arguments:
  -h, --help  show this help message and exit

1. list

Used to list system event types. By default, only those event types that are ACTIVE will be displayed. The --status and --all command line options can be used to change this behaviour. Note that these filtering options have no effect when listing a specific event type on the command line.

Usage:

robin event-type list [-h] [--status STATUS] [--all] [event_type]

positional arguments:
  event_type       Name or ID of event type to list

optional arguments:
  -h, --help       show this help message and exit
  --status STATUS  EventType status (can be one of ACTIVE, INACTIVE, OBSOLETE,
                   or ALL)
  --all            Display all event types regardless of status).

Example:

robin event-type list --status ACTIVE EVENT_VOLUME_DELETED
ID    | NAME                 | LEVEL | RESOLVES                 | STATUS
------+----------------------+-------+--------------------------+--------
11004 | EVENT_VOLUME_DELETED | INFO  | ['EVENT_VOLUME_FAULTED'] | ACTIVE

subscriber

Commands to access and manipulate notification subscribers

robin subscriber [-h] {add,list,update,remove} ...

positional arguments:
  {add,list,update,remove}
    add                 Used to add a notification subscriber
    list                Used to list information about notification
                        subscribers
    update              Used to update a notification subscriber
    remove              Used to remove an notification subscriber from the
                        system

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the notification subscribers.

Usage:

robin subscriber list [-h] [--name NAME] [id]

positional arguments:
  id           Notification subscriber ID

optional arguments:
  -h, --help   show this help message and exit
  --name NAME  Notification subscriber name (if no ID supplied)

Example:

# robin subscriber list
ID |  Name | Type             | Full Name | Email Address       
---+-------+------------------+-----------+----------------------
1  | Robin | email_subscriber | John Doe  | john.doe@company.com 

2. add

Add a new notification subscriber.

Usage:

robin subscriber add [-h] [--email-address EMAIL_ADDRESS]
                            [--full-name FULL_NAME]
                            name type

positional arguments:
  name                  Subscriber name
  type                  Subscriber type (only valid type is 'email')

optional arguments:
  -h, --help            show this help message and exit
  --email-address EMAIL_ADDRESS
                        The email address where Notifications for this event
                        type should be sent.
  --full-name FULL_NAME
                        The name of the person or email alias/group who will
                        be receiving notification emails (required for email
                        subscribers).

Example:

# robin subscriber add Robin email --email-address john.doe@company.com --full-name "John Doe"
Notification subscriber added for name='Robin', subscriber_type='email_subscriber

3. update

Update an existing subscriber details.

Usage:

robin subscriber update [-h] [--email-address EMAIL_ADDRESS]
                               [--full-name FULL_NAME]
                               subscriber_id

positional arguments:
  subscriber_id         Subscriber Id

optional arguments:
  -h, --help            show this help message and exit
  --email-address EMAIL_ADDRESS
                        The email address where Notifications for this event
                        type should be sent. This option is valid only when
                        subscriber type is email.
  --full-name FULL_NAME
                        The name of the person who will receive notification
                        emails. This option is valid only when subscriber type
                        is email.

Example:

# robin subscriber update 1 --email-address john.doe@company.com
Notification subscriber with Id '1' updated

4. remove

Remove an existing subscriber.

Usage:

robin subscriber remove [-h] subscriber_id

positional arguments:
  subscriber_id  Notification subscriber Id

optional arguments:
  -h, --help     show this help message and exit

Example:

# robin subscriber remove 1
Notification subscriber with id=1 has been deleted

subscription

Commands to access and manipulate notification subscriptions.

robin subscription [-h] {list,add,update,remove} ...

positional arguments:
  {list,add,update,remove}
    list                Used to list information about event subscriptions for
                        a given subscriber.
    add                 Used to add a notification subscription
    update              Used to update a notification subscription
    remove              Used to remove an event notification from the system

optional arguments:
  -h, --help            show this help message and exit

1. list

List all the notification subscriptions.

Usage:

robin subscription list [-h] [--full] subscriber_id

positional arguments:
  subscriber_id  Subscriber ID

optional arguments:
  -h, --help     show this help message and exit
  --full         Display additional information about the subscriptions

Example:

# robin subscription list 2
ID |         Type | Subscriber ID | Event Type           | Enabled | Threshold | Elapsed Ticks | Throttle
---+--------------+---------------+----------------------+---------+-----------+---------------+----------
1  | SYSTEM_ALERT | 2             | EVENT_VOLUME_FAULTED |    True |         2 | 0             | 86400   

2. add

Add a new notification subscription for a subscriber.

Usage:

robin subscription add [-h] [--object_id OBJECT_ID] [--nodeid NODEID]
                              [--zoneid ZONEID] [--disable] [--enable]
                              [--threshold THRESHOLD]
                              [--elapsed-ticks ELAPSED_TICKS]
                              [--throttle THROTTLE]
                              subscriber_id subscription_type type_id_list

positional arguments:
  subscriber_id         Notification subscriber Id
  subscription_type     Subscription type (valid types are 'alert' and
                        'event')
  type_id_list          Comma separated list of event type Ids to match. Note
                        that all subscription attributes will be applied to
                        all type Ids on the list.

optional arguments:
  -h, --help            show this help message and exit
  --object_id OBJECT_ID
                        Object Id to match
  --nodeid NODEID       Node Id to match
  --zoneid ZONEID       Zone Id to match
  --disable             Disable this notification at the start (default is
                        enabled).
  --enable              Enable this subscription
  --threshold THRESHOLD
                        Number of instances of event/alert before launching
                        notification (default is 1).
  --elapsed-ticks ELAPSED_TICKS
                        Number of seconds to allow for the threshold to be met
                        (default is 0, which means that there is no elapsed
                        time limit).
  --throttle THROTTLE   Number of seconds before a repeat notification will be
                        sent (default is 86400 -- 24 hours).

Example:

# robin subscription add 2 alert 11001 --enable --threshold 2 
notification subscriptions completed successfully

3. update

Update an existing subscription for a subscriber.

Usage:

robin subscription update [-h] [--disable] [--enable]
                                 [--threshold THRESHOLD]
                                 [--elapsed-ticks ELAPSED_TICKS]
                                 [--throttle THROTTLE]
                                 subscriber_id subscription_id

positional arguments:
  subscriber_id         Notification subscriber Id
  subscription_id       Notification subscription Id

optional arguments:
  -h, --help            show this help message and exit
  --disable             Disable this notification at the start (default is
                        enabled).
  --enable              Enable this subscription
  --threshold THRESHOLD
                        Number of instances of event/alert before launching
                        notification (default is 1).
  --elapsed-ticks ELAPSED_TICKS
                        Number of seconds to allow for the threshold to be met
                        (default is 0, which means that there is no elapsed
                        time limit).
  --throttle THROTTLE   Number of seconds before a repeat notification will be
                        sent (default is 86400 -- 24 hours).

Example:

# robin subscription update 2 1 --threshold 5
notification subscription completed successfully

4. remove

Remove a subscription for an existing subscriber.

Usage:

robin subscription remove [-h] subscriber_id subscription_id

positional arguments:
  subscriber_id    Notification subscriber Id
  subscription_id  Notification subscription Id

optional arguments:
  -h, --help       show this help message and exit

Example:

# robin subscription remove 2 1
Notification subscription with id=1 has been deleted

job

Commands to manage jobs

robin job [-h] {info,list,wait,archive,test} ...

positional arguments:
  {info,list,wait,archive,test}
    info                Get job information
    list                List all jobs
    wait                Wait for a job completion
    archive             Archive jobs
    test                Test jobs (only for internal use)

optional arguments:
  -h, --help            show this help message and exit

1. info

Get job information

Usage:

robin job info [-h] [--json] job_id

positional arguments:
  job_id      Job ID

optional arguments:
  -h, --help  show this help message and exit
  --json      Complete job information

Example:

robin job info 263
ID  | Type            | Desc                      | State     | stime               | etime               | time | Children | Dependson | Error | Message
----+-----------------+---------------------------+-----------+---------------------+---------------------+------+----------+-----------+-------+---------
263 | AgentJobArchive | Archiving job/s on host 4 | COMPLETED | 2018-02-03 20:49:30 | 2018-02-03 20:49:30 | 0m0s | []       | []        | 0     |

2. list

List all jobs

Usage:

robin job list [-h] [--verbose] [--ignoredeps] [--all]
                      [--state {INITIALIZED,VALIDATED,PREPARED,WAITING,DONE,UNDONE,NOTIFIED,AGENT_WAIT,FINALIZED,COMPLETED,ARCHIVED}]
                      [--failed] [--file FILE] [--page_size SIZE]
                      [--page_num NUM] [--sortby SORTBY] [--total]

optional arguments:
  -h, --help            show this help message and exit
  --verbose             Complete job information
  --ignoredeps          Ignore child jobs
  --all                 Show all jobs
  --state {INITIALIZED,VALIDATED,PREPARED,WAITING,DONE,UNDONE,NOTIFIED,AGENT_WAIT,FINALIZED,COMPLETED,ARCHIVED}
                        State filter
  --failed              Show failed jobs
  --file FILE           Jobs json file from log collect
  --page_size SIZE      number of jobs for each page
  --page_num NUM        page number(strating index 1)
  --sortby SORTBY       sort the job list by attribute
  --total               Show the total count of jobs only.

Example:

# robin job list --state COMPLETED
robin job list --state COMPLETED
ID  | Type                     | Desc                                                                                                                 | State            | stime               | time  | User  | Children                  | Error | Message                                 
----+--------------------------+----------------------------------------------------------------------------------------------------------------------+------------------+---------------------+-------+-------+---------------------------+-------+------------------------------------------
12  | HostAddResourcePoolMulti | Adding resource pool to multiple hosts                                                                               | COMPLETED|FAILED | 2018-01-28 22:05:44 | 0m0s  | robin | [13, 14, 15]              | 1     | Job failed. One or more child jobs repor
16  | HostAddResourcePool      | HostAddResourcePool                                                                                                  | COMPLETED|FAILED | 2018-01-28 22:05:44 | 0m0s  | robin | []                        | 1     | Host 'eqx02-poc01-c01.robinsystems.com' 
21  | HostAddResourcePoolMulti | Adding resource pool to multiple hosts                                                                               | COMPLETED|FAILED | 2018-01-28 22:07:00 | 0m1s  | robin | []                        | 1     | Job failed. One or more child jobs repor
22  | HostAddResourcePool      | HostAddResourcePool                                                                                                  | COMPLETED|FAILED | 2018-01-28 22:07:01 | 0m0s  | robin | []                        | 1     | Host 'eqx02-poc01-c02.robinsystems.com' 
65  | CollectionAdd            | Creating collection file-collection-1                                                                                | COMPLETED|FAILED | 2018-01-28 22:23:16 | 0m1s  | robin | []                        | 1     | Creation of storage for file collection 
66  | CollectionDelete         | Deleting collection file-collection-1                                                                                | COMPLETED|FAILED | 2018-01-28 22:23:17 | 0m0s  | robin | []                        | 1     | No storage was allocated for collection 
67  | CollectionAdd            | Creating collection file-collection-2                                                                                | COMPLETED|FAILED | 2018-01-28 22:23:32 | 0m1s  | robin | []                        | 1     | Creation of storage for file collection 
68  | CollectionDelete         | Deleting collection file-collection-2                                                                                | COMPLETED|FAILED | 2018-01-28 22:23:33 | 0m0s  | robin | []                        | 1     | No storage was allocated for collection 
74  | ApplicationCreate        | Adding application 'esapp'                                                                                           | COMPLETED|FAILED | 2018-01-28 22:59:54 | 0m0s  | robin | []                        | 1     | No hosts found in resource pool default.
103 | ApplicationCreate        | Adding application 'mysqlapp'                                                                                        | COMPLETED|FAILED | 2018-01-29 16:48:27 | 0m1s  | robin | []                        | 1     | No hosts found in resource pool default.
125 | BundleAdd                | Adding bundle elasticsearch-5.0                                                                                      | COMPLETED        | 2018-02-03 13:31:28 | 0m1s  | robin | []                        | 0     |                                         
126 | ApplicationCreateMulti   | Creating multiple applications                                                                                       | COMPLETED|FAILED | 2018-02-03 13:38:59 | 0m0s  | robin | []                        | 1     | Job failed. One or more child jobs repor
127 | ApplicationCreate        | ApplicationCreate                                                                                                    | COMPLETED|FAILED | 2018-02-03 13:38:59 | 0m0s  | robin | []                        | 1     | Invalid Zone Id and/or Bundle Id: 149872
128 | ApplicationCreateMulti   | Creating multiple applications                                                                                       | COMPLETED|FAILED | 2018-02-03 14:13:00 | 0m1s  | robin | []                        | 1     | Job failed. One or more child jobs repor
129 | ApplicationCreate        | Adding application 'esapp0'                                                                                          | COMPLETED|FAILED | 2018-02-03 14:13:00 | 0m0s  | robin | []                        | 1     | No hosts found in resource pool default.
130 | ApplicationCreateMulti   | Creating multiple applications                                                                                       | COMPLETED        | 2018-02-03 14:13:33 | 0m42s | robin | [131]                     | 0     |                                         
131 | ApplicationCreate        | Adding application 'esapp0'                                                                                          | COMPLETED        | 2018-02-03 14:13:37 | 0m38s | robin | [132, 133, 134]           | 0     |                                         
132 | RoleCreate               | Provisioning containers for role 'dedicated_master_node'                                                             | COMPLETED        | 2018-02-03 14:13:37 | 0m11s | robin | [135]                     | 0     |                                         
133 | RoleCreate               | Provisioning containers for role 'master_eligible_node'                                                              | COMPLETED        | 2018-02-03 14:13:48 | 0m13s | robin | [136]                     | 0     |                                         
134 | RoleCreate               | Provisioning containers for role 'data_node'                                                                         | COMPLETED        | 2018-02-03 14:14:01 | 0m12s | robin | [137]                     | 0     |                                         
135 | VnodeAdd                 | Adding vnode 'esapp0.dedicated_master_node.01' on eqx02-poc01-c02.robinsystems.com                                   | COMPLETED        | 2018-02-03 14:13:37 | 0m11s | robin | []                        | 0     |                                         
136 | VnodeAdd                 | Adding vnode 'esapp0.master_eligible_node.01' on eqx02-poc01-c03.robinsystems.com                                    | COMPLETED        | 2018-02-03 14:13:48 | 0m13s | robin | []                        | 0     |                                         
137 | VnodeAdd                 | Adding vnode 'esapp0.data_node.01' on eqx02-poc01-c03.robinsystems.com                                               | COMPLETED        | 2018-02-03 14:14:01 | 0m12s | robin | []                        | 0     |                                         

3. wait

Wait for a job completion

Usage:

robin job wait [-h] id

positional arguments:
  id          Job ID

optional arguments:
  -h, --help  show this help message and exit

Example:

# robin job wait 954
Job:  954 Name: AgentJobArchive      State: COMPLETED       Error: 0

4. archive

Archive jobs

Usage:

robin job archive [-h] [--age AGE] [--wait]

optional arguments:
  -h, --help  show this help message and exit
  --age AGE   Age of the jobs (in mins) to archive
  --wait      Wait for command completion

Example:

# robin job archive --age 1440

log

Commands used for Robin log actions

robin log [-h] {list,collect,cleanup,push} ...

positional arguments:
  {list,collect,cleanup,push}
    list                Used to list the collected logs
    collect             Used to collect various logs from the system.
    cleanup             Clean up logs, deleting all allocated storage (only
                        valid for log collections of type LOG_COLLECTION)
    push                Push log files to a local directory, a remote
                        directory, an NFS mounted file system, or S3 storage.
                        Note that this command should only be used with log
                        collections of type 'LOG_COLLECTION'.

optional arguments:
  -h, --help            show this help message and exit

1. collect

Used to collect various logs from the system by default logs are stored at /var/lib/robin/log_collect

Usage:

robin log collect [-h] [--nodes NODES] [--nfs-share NFS_SHARE]
                         [--dest-path DEST_PATH] [--access_key ACCESS_KEY]
                         [--secret_key SECRET_KEY] [--region_name REGION_NAME]
                         [--size SIZE] [--rpool RPOOL] [--media MEDIA]
                         [--password PASSWORD] [--wait]
                         [log_collect_type]

positional arguments:
  log_collect_type      Type of log collection to perform. Valid types are
                        'REMOTE', 'NFS', 'S3' and 'LOG_COLLECTION' (default is
                        'LOG_COLLECTION').

optional arguments:
  -h, --help            show this help message and exit
  --nodes NODES         This is a comma separated list of nodes from which to
                        collect, default is to collect all.
  --nfs-share NFS_SHARE
                        The 'hostname'|'IP' and 'export_path' for an NFS share
                        in the form of '<hostname|IP>:<export_path>'. Valid
                        only and required for 'NFS' log collect type.
  --dest-path DEST_PATH
                        Destination path where log files will be copied. For
                        log collect type 'REMOTE', 'dest_path' should include
                        'username', 'hostname' and the pathname of a valid
                        directory on the remote system in the form of
                        '<username>@<hostname>:<remote_path>' (you will be
                        prompted to enter a password); For log collect type
                        'NFS', 'dest_path', which is optional, is the pathname
                        of a directory in your NFS share where log files will
                        be copied (if the path does not already exist, it will
                        be created before the logs are copied); For log
                        collect type 'LOG_COLLECTION', 'dest_path', which is
                        optional, is the pathname of a directory within the
                        File Collection archive where log files will be copied
                        (if the path does not already exist, it will be
                        created before the logs are copied).
  --access_key ACCESS_KEY
                        Access Key from you AWS IAM console. This option is
                        only valid for Log Collect type 'S3' and is only
                        required if an access_key has not been set.
  --secret_key SECRET_KEY
                        Secret Key from you AWS IAM console. This option is
                        only valid for Log Collect type 'S3' and is only
                        required if a secret_key has not been set.
  --region_name REGION_NAME
                        Amazon region name. This option is only valid for Log
                        Collect type 'S3' and is only required if an
                        region_name has not been set.
  --size SIZE           The size of the storage volume for the log collect
                        (default is 250GB). This option is only valid for Log
                        Collect type 'LOG_COLLECTION'.
  --rpool RPOOL         The resource pool name to use. if not specified,
                        default one will be used. This option is only valid
                        for Log Collect type 'LOG_COLLECTION'.
  --media MEDIA         Specify which type of drives to allocate storage from
                        (choices are 'HDD' and 'SSD'). Default media type is
                        'HDD'. This option is only valid for Log Collect type
                        'LOG_COLLECTION'.
  --password PASSWORD   Provide a password on the command line instead of via
                        a prompt (which is the default behaviour).
  --wait                Wait for the command to finish.

Example:

# robin log collect --rpool rpool1
Submitted job '264'. Use 'robin job wait 264' to track the progress

2. list

Used to list the collected logs

Usage:

robin log list [-h] [--files] [--full] [log_collect_id]

positional arguments:
  log_collect_id  Display information for log collect job with the specified
                  log_collect_id.

optional arguments:
  -h, --help      show this help message and exit
  --files         Include a list of log collect files. This option is valid
                  only for log collect type 'LOG_COLLECTION' and only when the
                  log collect job is in a 'FINISHED' state.
  --full          Display additional information about each log collect job

Example:

# robin log list
Log Collect Id | Log Collect Type | Name          | State       | Log Collect Time          
---------------+------------------+---------------+-------------+----------------------------
1517736460110  | LOG_COLLECTION   | log-collect-1 | IN_PROGRESS | February 04, 2018 01:27:40

3. cleanup

Delete the logs and their allocated storage

Usage:

robin log cleanup [-h] [--all] [--wait] [log_collect_id]

positional arguments:
  log_collect_id  ID of the log to clean up

optional arguments:
  -h, --help      show this help message and exit
  --all           Clean up all log collections on the system
  --wait          Run this command in the background

Example:

# robin log cleanup 1517736460110 
Submitted job '963'. Use 'robin job wait 963' to track the progress

4. push

Push log files to a local directory, a remote directory, an NFS mounted file system, or S3 storage. Note that this command should only be used with log collections of type 'LOG_COLLECTION'.

Usage:

robin log push [-h] [--nfs-share NFS_SHARE] [--dest-path DEST_PATH]
                      [--password PASSWORD] [--access_key ACCESS_KEY]
                      [--secret_key SECRET_KEY] [--region_name REGION_NAME]
                      [--wait]
                      log_collect_id push_type

positional arguments:
  log_collect_id        ID of log collection to push
  push_type             The type of push to initiate... Valid options are
                        LOCAL, REMOTE, NFS, and S3.

optional arguments:
  -h, --help            show this help message and exit
  --nfs-share NFS_SHARE
                        The 'hostname'|'IP' and 'export_path' for an NFS share
                        in the form of '<hostname|IP>:<export_path>'. Valid
                        only and required for 'NFS' push type.
  --dest-path DEST_PATH
                        Destination path where log files will be copied. For
                        push type 'LOCAL', the 'dest_path' must point to a
                        valid directory on the local system; For push type
                        'REMOTE', 'dest_path' should include 'username' and
                        'hostname' in addition to the pathname for a valid
                        directory on the remote system in the form of
                        '<username>@<hostname>:<dest_path>' (you will be
                        prompted to enter a password if one is not provided on
                        the command line); For push type 'NFS', 'dest_path',
                        which is optional, is the pathname in your NFS share
                        where log files should be copied (if the path does not
                        already exist, it will be created before the logs are
                        copied).
  --password PASSWORD   Provide a password on the command line instead of via
                        a prompt (which is the default behaviour).
  --access_key ACCESS_KEY
                        Access Key from you AWS IAM console. This option is
                        only valid for Log Collect type 'S3' and is only
                        required if an access_key has not been set.
  --secret_key SECRET_KEY
                        Secret Key from you AWS IAM console. This option is
                        only valid for Log Collect type 'S3' and is only
                        required if a secret_key has not been set.
  --region_name REGION_NAME
                        Amazon region name. This option is only valid for Log
                        Collect type 'S3' and is only required if an
                        region_name has not been set.
  --wait                Run this command in the background

Example:

# robin log cleanup 1517736460110
Submitted job '963'. Use 'robin job wait 963' to track the progress

schedule

Commands to access and manipulate schedule list

robin schedule [-h] {list} ...

positional arguments:
  {list}
    list      List all schedules

optional arguments:
  -h, --help  show this help message and exit

1. list

List all schedules

Usage:

robin schedule list [-h] [--objid OBJID] [--name NAME] [--tasks]
                           [--queued] [--completed] [--count COUNT] [--json]

optional arguments:
  -h, --help     show this help message and exit
  --objid OBJID  List schedules for objid
  --name NAME    List schedules for name
  --tasks        Show tasks
  --queued       Show tasks
  --completed    Show tasks
  --count COUNT  Task count
  --json         json output

Example:

# robin schedule list

ObjID      | Name      | Policy              | Created          | LastFinished    | InProgress | NextRun       | LastSuccess      | LastFailed       | AverageTime
-----------+-----------+---------------------+------------------+-----------------+------------+---------------+------------------+------------------+-------------
JobArchive | Archive   | Every 86400 seconds | 165h 1m 47s back | 21h 1m 46s back | No         | In 2h 58m 12s | 21h 1m 46s back  | -                |  0.15s     
mysqlapp   | AppHealth | Every 120 seconds   | 145h 1m 49s back | 2h 29m 46s back | Yes        | In  11s       | 26h 31m 46s back | 2h 29m 46s back  |  24s       
AutoPilot  | Poll      | Every 10 seconds    | 165h 1m 47s back |  5s back        | No         | In  2s        |  5s back         | -                |  0.03s     
esapp0     | AppHealth | Every 120 seconds   | 27h 28m 8s back  |  4s back        | No         | In  1m 52s    |  4s back         |  2m 5s back      |  0.56s     
Storage    | Stats     | Every 60 seconds    | 165h 1m 47s back |  46s back       | No         | In  12s       |  46s back        | 14h 55m 34s back |  0.27s