Skip to main content

How to Use CLI Commands

Overview

ZFS commands

Login/logout

Login to vME CLI

  • Command: vme login <parameters>
  • Parameters:
    • --username, -u : required : The username to login as.
    • --url, -U : required : The URL of the vME instance.
    • --token, -t : required : The API token for the user.
  • Example:
    vme login --username foo --url https://example.com/ --token abcd-efgh
  • Comment:
    • If arguments not provided, vME CLI will prompt the user to input username, vME URL, and API token.

Logout from vME CLI

  • Command: vme logout
  • Parameters:
    • No parameters for vme logout
  • Example:
    vme logout
  • Comment:
    • Clears the users credentials from vME CLI

Help

  • Command: vme help
  • Parameters:
    • No parameters for vme help
  • Example:
    vme help
  • Comment:
    • Prints vME CLI help message

Pool

Show all pools

  • Command: vme pool show
  • Parameters:
    • No parameters for vme pool show
  • Example:
    vme pool show

Create a pool

  • Command: vme pool create <parameters>
  • Parameters:
    • --name, -n : required : The created pool name.
    • --device, -d : optional : A path of device, default is <empty_string>. If device is empty string or not found the given device, the device will be generated with the following details:
    • --device_path, -D : optional : A head path of device, default is /enov8/vme/data/vdisks.
    • --device_name, -N : optional : A name of device, default is None. If device_name is None, the device_name will be generated by 8 characters random name.
    • --cap, -c : optional : A size of device (Mb), default is 24000.
  • Example:
    vme pool create -n demo-pool

Destroy a pool

  • Command: vme pool destroy <parameters>
  • Parameters:
    • --name, -n : required : The created pool name.
    • --force, -f : optional : Force destroy the pool without any warnings or prevention.
  • Example:
    vme pool destroy -n demo-pool

Show current status of a pool

  • Command: vme pool status <parameters>
  • Parameters:
    • --name, -n : required : The name of the pool to show status on.
  • Example:
    vme pool status -n demo-pool

Show history of a pool

  • Command: vme pool history <parameters>
  • Parameters:
    • --name, -n : required : The name of the pool to run the history command on.
  • Example:
    vme pool history -n demo-pool

Source

Show all sources

  • Command: vme source show <parameters>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : optional : A name of a filesystem, default is POOLNAME/sources.
    • --properties, -P : optional : Properties of the source to show.
  • Example:
    vme source show -p demo-pool

Create a source

  • Command: vme source create <parameters>

  • Parameters:

    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --name, -n : required : A name of created source.
    • --dbtype, -d : optional : A database type name, such as mysql, mariadb, mssql, mongodb etc., use to label a source, default is unknown.
    • --quota, q : optional : A limitation size property of the created source, default is None.
    • --compression : optional : A compression type property of the created source, i.e. on, off, lzjb, gzip, gzip-1, gzip-2, gzip-3, gzip-4, gzip-5, gzip-6, gzip-7, gzip-8, gzip-9, zle, lz4, default is off.
  • Example:

    vme source create -n demo-source

Destroy a source

  • Command: vme source destroy <parameters>
  • Parameters:
    • --pool_name, -p : required : A name of a pool, default is vme-pool.
    • --source_name, -s : required : Name of the source to be destroyed.
    • --recursive, -r : optional : Specifies whether to destroy subdirectories too.
  • Example:
    vme source destroy -p vme-pool -s demo-source

Rename a source

  • Command: vme source rename <parameters>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --currentname, -c : required : Name of the source to be renamed.
    • --newname, -n : required : New name of the source to be renamed as.
  • Example:
    vme source rename -p demo-pool -c demo-source -n new-source-name

List source directories

  • Command: vme source ls <parameters>
  • Parameters:
    • --source_path, -s : required : Path to the source that you want to show the files of.
  • Example:
    vme source ls -s /tmp

Snapshot

Show all snapshots

  • Command: vme snapshot show <parameters>

  • Parameters:

    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : optional : A name of a base source, default is POOLNAME.
    • --sort, -S : optional : Boolean option to sorting the snapshot by date creation, default is False.
  • Example:

    vme snapshot show -p demo-pool

Create a snapshot

  • Command: vme snapshot create <parameters>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : required : A name of a source.
    • --name, -n : required : A name of created snapshot.
    • --recursive, -r : optional : Recursive option, default is False.
  • Example:
    vme snapshot create -s foo -n new-snap

Rename a snapshot

  • Command: vme snapshot rename <parameters>
  • Parameters:
    • --pool_name, -p : optional : Name of the pool to rename, default is vme-pool.
    • --source_name, -s : required : Name of a source which the snapshot belongs to.
    • --currentname, -c : required : A previous snapshot name.
    • --newname, -n : required : Name of the snapshot to rename.
  • Example:
    vme snapshot rename -s foo -p demo-pool -c old-snap -n new-snap

Delete a snapshot

  • Command: vme snapshot destroy <parameter>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : required : A name of a source.
    • --snapshot_name, -S : required : A name of created snapshot.
  • Example:
    vme snapshot create -s foo -n new-snap

Rollback a snapshot

  • Command: vme snapshot rollback <parameter>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : required : A name of a source.
    • --snapshot_name, -S : required : A name of created snapshot.
  • Example:
    vme snapshot rollback -p demo-pool -s foo -S bar

Clone

Show all clones

  • Command: vme clone show <parameters>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --source_name, -s : optional : A list name of sources. The source_name will be required if the cloneof is source.
    • --snapshot_name, -S : optional : A list name of snapshots. The snapshot_name will be required if the cloneof is snapshot.
  • Example:
    `vme clone show -p demo-pool -s demo-source -S demo-snapshot`

Create a clone

  • Command: vme clone create <parameters>
  • Parameters:
    • --pool_name, -p : optional : A name of a pool, default is vme-pool.
    • --name, -n : optional : A name of created clone. The clone name will be auto-generated if name does not assign.
    • --snapshot_name, -s : required : A name of a snapshot.
    • --source_name, -S : optional : A source name with respect to a <snapshot_name>. The source name will be required if the snapshot name is not full-path name.
    • --size, -z : optional : A size of clone farm, default is 1.
    • --dbtype, -d : optional : A database type name, such as mysql, mariadb, mssql, mongodb etc., use to label a clone, default is unknown.
  • Example:
    vme clone create -p demo-pool -s demo-clone -s demo-snapshot -S /full/path/to/demo-snapshot

Rename a clone

  • Command: vme clone rename <parameters>
  • Parameters:
    • --pool_name, -p : required : A name of a pool, default is vme-pool.
    • --currentname, c : required : A previous clone name.
    • --newname, -n : required : A new clone name.
  • Example:
    vme clone rename -p demo-pool -c foo -n bar

Destroy a clone

  • Command: vme clone destroy <parameters>
  • Parameters:
    • --pool_name, -p : required : A name of a pool, default is vme-pool.
    • --clone_name, -c : required : A name of a clone to be destroyed.
  • Example:
    vme clone destroy -p demo-pool -c foo

Docker commands

Image

Pull an image

  • Command: vme image create <parameters>
  • Parameters:
    • --repository, -r : required : The repository to pull.
    • --tag, -t : optional : The tag to pull, default is latest.
    • --dbtype, -d : optional : A database type name, such as mysql, mariadb, mssql, mongodb etc., use to label an image, default is <repository>.
    • --credential, -c : optional : A credential for the pulling requirement, for example {"username" : <username>, "password" : <password>}.
  • Example:
    vme image create -r mysql -t 8.0

List all images

  • Command: vme image list
  • Parameters:
    • No Parameters.
  • Example:
    vme image list

Remove an images

  • Command: vme image remove <parameters>
  • Parameters:
    • --image, -i : required : An image name or name:tag or id to be removed.
  • Example:
    vme image remove -i mariadb:latest

Container

Create a container

Create a container via /docker/container/create. Similar to the docker run command.

  • Command: vme container create <parameters>
  • Parameters:
    • --image, -i : required : An image name.
    • --name, -n : optional : A container name.
    • --detach, -d : optional : Boolean for running container in the background, default is True.
    • --command, -c : optional : The command to run in the container.
    • --environment, -e : optional : Environment variables to set inside the container, as a dictionary or a list of strings in the format ["SOMEVARIABLE=xxx"].
    • --volumes, -v : optional : A list or dictionary to configure volumes mounted inside the container.
    • --ports, -p : optional : Ports to bind inside the container. It can be integer or list of integers.
    • --dbtype, D : optional : A database type name, such as mysql, mariadb, mssql, mongodb etc., use to label a container, default is <dbtype_of_image>.
  • Example:
    vme container create -i mysql:latest -n foobar

List all containers

  • Command: vme container list
  • Parameters:
    • No parameters.
  • Example:
      vme container list

Start a container

  • Command: vme container start <parameters>
  • Parameters:
    • --name, -n : required : A container name.
  • Example:
    vme container start -n foobar

Stop a container

  • Command: vme container stop <parameters>
  • Parameters:
    • --name, -n : required : A container name.
  • Example:
    vme container stop -n foobar

Remove a container

  • Command: vme container remove <parameters>
  • Parameters:
    • --name, -n : required : A container name.
    • --volume, -v : required : A string or list of commands to be executed.
  • Example:
    vme container remove -n foobar

Execute a command inside the container

  • Command: vme container exec <parameters>
  • Parameters:
    • --name, -n : required : A container name.
    • --command, -c : required : A string or list of commands to be executed.
  • Example:
    vme container exec -n foobar -c "ls -l"