CLI Command Reference

Use the float CLI commands to interact with the OpCenter; for example, to submit and manage jobs.

Version

The Memory Machine CE CLI commands described here are consistent with the OpCenter release shown in the table.

Memory Machine CE CLI OpCenter Release Date
v2.1.1-b0680f8-DanaPoint v2.1.1-b0680f8-DanaPoint 2023-04-14T07:43:59Z

Global Flags

Use global flags with any float command or subcommand.

Flag

Usage

Definition

-a, --address ip_address

Connect to OpCenter server IP address of OpCenter (default: localhost or last IP address used)
-F, --format json|yaml|table Specify format for output Output format (default: yaml)
-h, --help Display help Help for Memory Machine CE CLI
--logLevel log_level Specify log level Log level (default: info)
-p, --password password Log in to OpCenter Login password
-u, --username user_name Log in to OpCenter Login username
-v, --verbose on|off Turn verbose mode on or off Verbose mode setting (default: off)

float cancel

The float cancel command is the same as float scancel.

float completion

Use the float completion command to generate auto-completion script for use in current shell or in every shell started subsequently. Using a subcommand with the -h flag displays help on how to use the auto-completion script.

Subcommands

Usage

Option

Option Definition

bash Generate auto-completion script for bash --no-descriptions Disable completion descriptions
fish Generate auto-completion script for fish --no-descriptions Disable completion descriptions
powershell Generate auto-completion script for powershell --no-descriptions Disable completion descriptions
zsh Generate auto-completion script for zsh --no-descriptions Disable completion descriptions

float config

Use the float config command to view or change the OpCenter configuration. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

get Show runtime value of a single configuration parameter config_parameter Configuration parameter to display, e.g., sessionTimeout
list, ls List configuration parameters for OpCenter (shows if a parameter can be changed and if a change requires a system restart) -s, --scope filter_string String to filter the list of configuration parameters (default: list all parameters)
set Set runtime value of a single configuration parameter config_parameter parameter_value Configuration parameter and the value to set it to. If the word "default" is used for parameter_value, the configuration parameter is reset to its default value.

Examples

  • float config get log.level
    info
  • float config set sessionTimeout 1h
    sessionTimeout is set to 1h0m0s
    float config set sessionTimeout default
    sessionTimeout is set to 30m0s

float df

Use the float df command to display the file systems mounted by an executing job (includes used and available disk space). This command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Display mounted file systems and associated disk space. --args df_args Arguments to pass to df command
-j, --jobId job_id Job to query

Example

float df --args "-h" -j WIY92p0jWyaCMP0CNQYjC
Filesystem                              Size  Used Avail Use% Mounted on
overlay                                 6.0G  2.3G  3.8G  37% /
tmpfs                                    64M     0   64M   0% /dev
/dev/nvme3n1                             10G  105M  9.9G   2% /data
/dev/nvme0n1p2                           40G  3.7G   37G  10% /opt/aws
shm                                      63M     0   63M   0% /dev/shm
/dev/nvme2n1                            6.0G  2.3G  3.8G  37% /etc/hosts
172.31.61.110:/mnt/memverge/logs         50G   13G   38G  26% /mnt/memverge/logs
172.31.61.110:/mnt/memverge/slurm/work   50G   13G   38G  26% /mnt/memverge/slurm/work

float gateway

Use the float gateway command to create and manage a reverse proxy server. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

connect Connect a running job to the gateway (reverse proxy) -g, --gateway gw_id ID of gateway to connect job to (format is g- followed by a fixed-length character string)
-j,--job job_id ID of job to connect to gateway to
--targetPort port_number Port used to connect to job, for example, 8787 for RStudio
create Create a gateway --bandwidth | bw Minimum gateway bandwidth in Mbps (default: 25). Only use with AliCloud.
-c,--cpu min_cpu Minimum number of virtual CPUs for gateway (default: 2)
-t,--instType instance_type VM instance type for gateway (e.g., c4.xlarge for AWS or ecs.g7.6xlarge for AliCloud). Do not combine with --cpu or --mem options.
-m,--mem min_mem Minimum memory capacity in GB for gateway (default: 4)
--portRange min:max Range of client-side ports opened on gateway (allowed range is between 10000 and 65535).
--securityGroup sec_group Security group applied to gateway. Use format sg-xxxxx
-z, --zone availability_zone Availability zone in which to create gateway
destroy Destroy a gateway -g, --gateway gw_id ID of gateway to destroy (format is g- followed by a fixed-length character string)
-f Automatically answer "yes" at confirmation prompt
disconnect Disconnect a job from a gateway -g, --gateway gw_id ID of gateway to query (format is g- followed by a fixed-length character string)
-j, --job job_id ID of job to disconnect from gateway
--port port_num Server-side port to disconnect from gateway
info Display information about a gateway (including IP address and connected jobs) -g, --gateway gw_id ID of gateway to query (format is g- followed by a fixed-length character string)
list List all running gateways (optionally include stopped gateways) -A, --showAll If option included, list stopped as well as running gateways
modify Modify attributes of a gateway --addSecurityGroup sec_group Security group added to gateway. Use format sg-xxxxx
-g, --gateway gw_id ID of gateway to modify
--rmSecurityGroup sec_group Security group removed from gateway. Use format sg-xxxxx

Example

float gateway create --portRange 11000:11500
id: g-41X0xaJyeCaSQC7pcTKln
status: Creating
configuration: ""
publicIP: ""
portRange: 11000-11500
startTime: ""
numberOfJobs: 0
cost: ""
clientJobs: {}

float group

Use the float group command to manage OpCenter user groups. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

add, create Create a new group new_group Name of new group
--admin user1, user2... Username(s) of admins of new group
--user user1, user2... Username(s) added to new group
delete, remove, rm Delete a group group_name | group_id Name or id of group to delete
info, show Display information about group including members group_name | group_id Name or id of group to query
list, ls List groups that current user belongs to
update Update attributes of a group group_name | group_id Name or id of group to update
--add user1,user2... Username(s) added to group
--admin user1,user2... Username(s) given admin role in group
--name group_name New name for group
--remove user1,user2... Username(s) removed from group

Example

float group add team --user tester
name: team
gid: 3
admins: ""
users: tester

float hosts

The float hosts command is the same as float sinfo.

float image

Use the float image command to manage container images on OpCenter. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

add Add image pull information to OpCenter image_name image_uri Image name and URI to pull image from repository. Do not use image_uri if --link specified.
--link file_link Link to access AWS S3 or AliCloud OSS file, e.g., s3://<bucket_name>/file_path

Do not use if image_uri specified.

--token repo_access_token Token to pull image from private repository
--user repo_access_user Username to pull image from private repository
cache Cache image on resource configured for OpCenter (NFS folder or S3 bucket) image_name Container image to cache
-f, --force Overwrite existing cached version of image
--tag tag_string Tag to select specific container image (default: "latest")
certify Validate that workload runs using OpCenter image_name Container image to validate
--bandwidth bandwidth Bandwidth (in Mbps) required for workload (only used in AliCloud)
-A, --cmdArgs command_string> Commands that are executed immediately after container starts (can be used with or without a job script)
-c, --cpu min_cpu:max_cpu Range of number of virtual CPUs to select from to run job (can omit max_cpu).
--cpuVendor cpu_vendor_name CPU vendor of eligible VM instances. Allowed values are amd, intel, or "". Default is "" which allows any vendor. Use with AWS only.
--customTag tagName:tagValue Tag customized by each Memory Machine CE subscriber, for example, to generate customized usage reports. Multiple custom tags can be applied by using --customTag multiple times in a single command.
--dataVolume

[size=vol_size,throughput=tput_rate]:/data_dir or

vol_id:/container_mnt_pt/path/to/dir or

nfs://ip_address/server_export_dir:/container_mnt_pt/path/to/dir or

[accesskey=xxx,secret=yyy,endpoint=zzz,mode=rw]s3://bucketname/path:/container_mnt_pt//path/to/dir

Data volume mounted by container.

vol_size in GB, tput_rate in Mbps (can omit), data_dir is data directory created, or

vol_id specifies existing EBS volume, /container_mnt_pt/path/to/dir is path to where EBS volume is mounted on container, or

ip_address is IP address of NFS server, /server_export_dir is directory exported by NFS server, and /container_mnt/pt/path/to/dir is path to where NFS directory is mounted on container, or

bucketname is S3 bucket (access credentials optional if action allowed by IAM role).

-d, --def definition_file Path to file if using definition file (yaml or json format) to provide input parameters to certify command.
-e, --env env_key=env_value Environment variable setting for the job
--extraOptions extra_opt Container-specific string (enclose in quotes) passed to checkpoint process (needed for some containers)
-f, --force Automatically answer "yes" at confirmation prompt
--gateway gateway_id ID of gateway to connect to
--ignoreRebalance Ignore rebalance recommendation signal (only applies to AWS)
--imageVolSize image_vol_size EBS volume size in GB to load image (default: 6)
-t, --instType instance_type VM instance type (e.g., c4.xlarge for AWS or ecs.g7.6xlarge for AliCloud). Do not combine with --cpu or --mem options.
--interval job_interrupt_interval Interval between job interruptions in format hhhmmmsss where h, m, and s are hours, minutes, and seconds, respectively (default: 10m)
-j, --job job_script Job script to run workload. Use format: path to local file, s3 file, OSS file or https | http URL.
--mem min_mem:max_mem Range of memory size (in GB) to select from to run job (can omit max_mem).
--metricsInterval metrics_int Time in seconds between queries to obtain container metrics (default: 10s)
--migratePolicy [migrate_policy] Policy to determine auto-migration behavior. Format is [option1=value1, option2=value2...]. The available options with their default values are (if no units are attached, the value is a percentage):
  • enable=false
  • disable=true (use enable or disable, not both)
  • evadeOOM=false
  • stepAuto=false
  • cpu.upperBoundRatio=90
  • cpu.lowerBoundRatio=5
  • cpu.upperBoundDuration=30s
  • cpu.lowerBoundDuration=5m0s
  • cpu.step=50
  • cpu.limit=0 (no limit)
  • mem.upperBoundRatio=90
  • mem.lowerBoundRatio=5
  • mem.upperBoundDuration=30s
  • mem.lowerBoundDuration=5m0s
  • mem.step=50
  • mem.limit=0 (no limit)
-n, --name job_name Name to associate with job
-n, --noPublicIP No public IP address assigned to container host (host only reachable via a private IP network). AliCloud users must include --endpoint option in their job scripts.
-P, --publish host_port:container_port Rule for publishing host port to container port, for example, 8080:80
--rootVolSize root_vol_size Root volume size in GB to load base OS (default: 40)
--securityGroup sec_group Security group added to VM instance for this job. Use format sg-xxxxx
--shmSize shm_size Size of /dev/shm in format nu where n is a number and u is b, k, m, or g for bytes, KiB, MiB or GiB, respectively (default: 64m)
-I, --snapshotInterval snap_int Time between periodic snapshots in format hhhmmmsss where h, m, and s are hours, minutes, and seconds, respectively
--tag tag_name Tag to select image version
--targetPort port_num Server-side gateway port to connect job to
--vmPolicy [vm_policy] VM creation policy. Format is [key1=value1,key2=value2...]. For example,
  • [spotOnly=true,retryLimit=10, retryInterval=30s]
  • [spotFirst=true,retryLimit=3,optimize=true]
  • [onDemand=true,optimize=true]
  • [spotOnly=true,priceLimit=0.1]
-z, --zone availability_zone Availability zone in which to execute job
delete, rm, remove Delete container image(s) and one or more tags image1 image2... or

image1:tag1 image2:tag2...

Container image(s) to delete. If no tags are specified, then all tags are removed.
-f, --force Automatically answer "yes" at confirmation prompt
--tag tag_name Tag associated with image1 image2... to remove. If this is the only tag associated with images, images are removed.
list, ls Show all images available on OpCenter
tags, tag Display tags associated with image and image status image_name Container image name
update Update information associated with image image_name Container image name
--addtag image_tag Additional tag to associate with image
--name image_name New name to identify image
--token repo_access_token New token required to access private repository
--user repo_access_user New username associated with token required to access private repository
upload Load image from local server image_name Container image name
--path /path/to/image Path to where image is located.

Examples

  • float image list
    +------------+-------------------------------+------+-------------+
    |    NAME    |              URI              | TAGS | ACCESS USER |
    +------------+-------------------------------+------+-------------+
    | python     | docker.io/bitnami/python      |    1 |             |
    | r-base     | docker.io/rocker/r-base       |    1 |             |
    +------------+-------------------------------+------+-------------+
  • float image delete r-base
    Deleting r-base
  • float image add r-base docker.io/rocker/r-base
    name: r-base
    uri: docker.io/rocker/r-base
    owner: ""
    accessUser: ""
    accessToken: ""
    tags:
      latest:
        status: Available
        uri: ""
        error: null
        lastUpdated: 2022-11-02T15:40:55.270169042Z
    refCount: 0
  • float image upload test2 --path /tmp/hello-world-latest.tar
    Start uploading image test2 (localhost/hello-world:latest) from /tmp/hello-world-latest.tar
    Progress: |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100.00% Complete (ETA. 0s)
    Uploaded image /tmp/hello-world-latest.tar, time spent: 0s
    
    name: test2
    uri: localhost/hello-world
    owner: admin
    tags:
        latest:
            status: Ready
            uri: file:///mnt/memverge/images/test2-latest.tar
            locked: false
            lastUpdated: 2023-04-17T19:26:38.584557866Z
            lastPushed: 2023-04-17T19:26:38.584557866Z
            size: Unknown

float license

Use the float license command to manage OpCenterlicenses. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

acquire Retrieve license from MemVerge license server --A, --account acct_name Username to access MemVerge license server
-P, --password passwd Password to access MemVerge license server
info Display license information and status

float list

The float list command is the same as float squeue.

float log

Use the float log command to view and manage log files. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

cat Write log file contents to standard output log_file Log file whose contents are displayed
-i, --hid host_id Host whose logs are displayed (default: OpCenter server)
-j, --job job_id Job whose logs are displayed (default: OpCenter)
list, ls List all logs associated with target -i, --hid host_id Host whose log files are listed (default: OpCenter server)
-j, --job job_id Job whose log files are listed (default: OpCenter)
rm Remove all logs associated with target -i, --hid host_id Host whose log files are removed (default: OpCenter server)
-j, --job job_id Job whose log files are removed (default: OpCenter)
tail Write last n lines of log file to standard output log_file Log file to display
-f, --follow Display new lines as they are appended to log file
-i, --hid host_id Host whose log file lines are displayed (default: OpCenter server)
-j, --job job_id Job whose log file lines are displayed (default: OpCenter)
-n, --num n Number of lines to display (default: 100)

Examples

  • float log tail --follow output -j XGiUDRto7kwofWBNPkiW5
    Ready to prepare source data
    Ready to download pbmc_1k_v3_fastqs from s3
    Ready to download refdata-gex-GRCh38-2020-A from s3
    Ready to run test
    ...[output edited]
  • float log ls
    +----------------------------------------+----------+----------------------+
    |                  LOG NAME              |   SIZE   |   LAST UPDATE TIME   |
    +----------------------------------------+----------+----------------------+
    | etcd.log                               |   647667 | 2022-11-02T15:39:08Z |
    | opcenter.access_log                    |   912282 | 2022-11-02T15:40:55Z |
    | opcenter.log                           |  5678863 | 2022-11-02T15:51:24Z |
    | upgrade.log                            |      500 | 2022-10-03T16:03:24Z |
    +----------------------------------------+----------+----------------------+

float login

Use the float login command, with valid username and password, to log in to OpCenter. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Log in to OpCenter --info Display login status

Examples

float login -u admin -p memverge -a 192.168.0.1
float login --info
address: 192.168.0.1
username: admin
role: admin
float login
Username: admin
Password: 
Login Succeeded!

float logout

Use the float logout command to log the current user out of the OpCenter and invalidate the authorization token. The command has no subcommands. Using the command with the -h flag lists the options.

float migrate

Use the float migrate command to move a job from one VM instance to another VM instance of the same type or of a different type. The command has no subcommands. Using the command with the -h flag displays the options.

Subcommands

Usage

Option

Option Definition

Migrate job to a new VM instance. If no options used, migrate to identical instance in same availability zone. --cpu min_cpu:max_cpu Range of number of virtual CPUs to select from for new VM instance (can omit max_cpu).
-f, --force Automatically answer "yes" at confirmation prompt
-t, --instType instance_type VM instance type to migrate to (e.g., c4.xlarge in AWS or ecs.g7.6xlarge in AliCloud). Do not combine with --cpu or --mem options.
-j, --job job_id Job to migrate
--mem min_mem:max_mem Range of memory size (in GB) to select from for new VM instance (can omit max_mem).
--payType spot | ondemand Pricing tier for VM instance (Spot or On-demand)
--sync Block all terminal input until job has migrated
-z, --zone availability_zone Availability zone in which to execute job

Examples

  • float migrate -t c5.xlarge -j NDt428IsJtJZsB9WNUhGH
  • float migrate -j lL07E84pQQpYqCQ88xeIQ
    entity:
      id: i-0cfbd3f1f82087dd5
      type: host
      name: 192.168.0.2
    status: normal
    instanceType: c5.xlarge
    startTime: "2022-09-23T15:09:09Z"
    downTime: ""
  • float migrate -f --sync --payType ondemand -j tqrGc4Z6g18nkphzTeaxM
    tqrGc4Z6g18nkphzTeaxM is now migrating...
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    
    tqrGc4Z6g18nkphzTeaxM has been migrated to 44.212.92.162 (4Core16GB/OnDemand).

float modify

Use the float modify command to change a subset of attributes associated with a running job. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Modify certain attributes associated with running job --addSecurityGroup sec_group Security group added to VM instance for this job. Use format sg-xxxxx
--force Automatically answer "yes" at confirmation prompt
-j, --job job_id Job to apply changes to
-M, --migratePolicy migrate_policy New migrate policy to apply. See float sbatch for format.
--rmSecurityGroup sec_group Security group to remove from VM instance for this job
--snapshotInterval snapshot_interval New periodic snapshot interval for this job. Use "-1" or "disable" to turn off periodic snapshots.
-V, --vmPolicy vm_policy New VM creation policy to apply. See float sbatch for format.

Example

float modify --vmPolicy [SpotOnly=true] -j PF0bgCvlpdJkog0RCBZPg
Warning: Are you sure you want to modify PF0bgCvlpdJkog0RCBZPg?
New vmPolicy may trigger migration.(yes/No): yes
Successfully modified PF0bgCvlpdJkog0RCBZPg:  --vmPolicy [SpotOnly=true]

float ps

Use the float ps command to show the complete process tree of a running job (the linux command ps must be installed in the container). The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Show the complete process tree of job --args podman_args Arguments passed to podman
-j, --jobId <job_id> Job to query

float release

Use the float release command to manage the OpCenter software. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

info Display information about OpCenter release -r, --release version The release to display information about
list, ls List available OpCenter releases
sync Sync CLI version with OpCenter version
upgrade Upgrade OpCenter software --force Automatically answer "yes" at confirmation prompt
-r, --release version The release to upgrade to (default: "latest"). Only the admin user can upgrade software. Cannot upgrade using web CLI console.
--sync Wait for upgrade to complete and then sync the CLI to the new release

Examples

  • float release ls
    +----------+--------------------------------+----------------------+-----------+
    | VERSION  |            RELEASE             |     RELEASE TIME     |   SIZE    |
    +----------+--------------------------------+----------------------+-----------+
    | * v1.2.0 | FLOAT_v1.2.0-cb159df-Bondi.bin | 2023-01-19T09:37:44Z | 118.80 MB |
    | v1.2.0   | FLOAT_v1.2.0-7ccfc9f-Bondi.bin | 2023-01-19T03:11:31Z | 118.80 MB |
    |          | FLOAT_v1.2.0-1c7be17-Bondi.bin | 2023-01-13T09:25:58Z | 115.10 MB |
    +----------+--------------------------------+----------------------+-----------+
  • float release upgrade -r FLOAT_v1.2.0-cb159df-Bondi.bin --force
  • float release sync
    downloading ...
    Progress: |>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>| 100.00% Complete (ETA. 0s)
    The float binary is synced up with opcenter 

float report

Use the float report command to download reports from OpCenter. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

download Download OpCenter usage history report --path /path/to/dir Path to save report on local computer
get Generate and download usage report with filter(s) applied -A, --all Include all jobs (normal plus archived) in the report. Default: normal jobs only. Jobs archived after one hour of inactivity.
-d, --date date_string Date used to filter reports (default: current report)
--filter filter1 filter2... Filters to apply to usage report, for example:

status=executing timeRange=2010-10-22~

-l, --limit num_reports Maximum number of reports to get (default: unlimited)
ls, list List all available usage reports

Examples:

float report get -A usage_report_by_job -f status=Completed
 +-----------------------+----------------------+------------+----------------------+--------------+---------------------+---------------+------------------------+--------------+-------------+
|        JOB ID         |       JOB NAME       | JOB STATUS |     LAUNCH TIME      | JOB DURATION | NUMBER OF INSTANCES | INSTANCE COST | ONDEMAND INSTANCE COST | STORAGE COST | NET SAVINGS |
+-----------------------+----------------------+------------+----------------------+--------------+---------------------+---------------+------------------------+--------------+-------------+
| F4bM7dfzhotKvaVySXfYk | python-t3a.large     | Completed  | 2023-01-19T19:38:03Z | 1h43m22s     |                   1 | 0.0450 USD    | 0.1293 USD             | 0.0061 USD   | 0.0781 USD  |
            ...
(edited for clarity)
float report download --path ./temp.gzip
Downloaded to ./temp.gzip
file temp.gzip
temp.gzip: gzip compressed data, original size modulo 2^32 14336

float rerun (requeue, resubmit)

Use the float rerun (or requeue or resubmit) command to re-submit a completed job or a job that failed to complete. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Re-submit completed or failed job -j, --job job_id Job to re-submit

float restart (reboot)

Use the float restart (or reboot) command to restart OpCenter (terminates all login sessions). The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Restart OpCenter -f, --force Automatically answer "yes" at confirmation prompt

float sbatch (submit)

Use the float sbatch (or float submit)command to submit a job. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Submit job for execution --bandwidth bandwidth Bandwidth (in Mbps) required for workload (only used in AliCloud)
-A, --cmdArgs command_string> Commands that are executed immediately after container starts (can be used with or without a job script)
-c, --cpu min_cpu:max_cpu Range of number of virtual CPUs to select from to run job (can omit max_cpu p>
--cpuVendor cpu_vendor_name CPU vendor of eligible VM instances. Allowed values are amd, intel, or "". Default is "" which allows any vendor. Use with AWS only.
--customTag tagName:tagValue Tag customized by each Memory Machine CE subscriber, for example, to generate customized usage reports. Multiple custom tags can be applied by using --customTag multiple times in a single command.
--dataVolume

[size=vol_size,throughput=tput_rate]:/data_dir or

vol_id:/container_mnt_pt/path/to/dir or

nfs://ip_address/server_export_dir:/container_mnt_pt/path/to/dir or

[accesskey=xxx,secret=yyy,endpoint=zzz,mode=rw]s3://bucketname/path:/container_mnt_pt//path/to/dir

Data volume mounted by container.

vol_size in GB, tput_rate in Mbps (can omit), data_dir is data directory created, or

vol_id specifies existing EBS volume, /container_mnt_pt/path/to/dir is path to where EBS volume is mounted on container, or

ip_address is IP address of NFS server, /server_export_dir is directory exported by NFS server, and /container_mnt/pt/path/to/dir is path to where NFS directory is mounted on container, or

bucketname is S3 bucket (access credentials optional if action allowed by IAM role).

-d, --def definition_file Path to file if using definition file (yaml or json format) to provide input parameters to sbatch command
-e, --env env_key=env_value Environment variable setting for the job
-f, --force Automatically answer "yes" at confirmation prompt
--gateway gateway_id ID of gateway to connect job to
--ignoreRebalance Ignore rebalance recommendation signal (only applies to AWS)
-i, --image image_name Image name or image URI to create container for job
--imageVolSize image_vol_size EBS volume size in GB to load image (default: 6)
-t, --instType instance_type VM instance type (e.g., c4.xlarge for AWS or ecs.g7.6xlarge for AliCloud). Do not combine with --cpu or --mem options.
-j, --job job_script Job script to run workload. Use format: path to local file, s3 file, OSS file or https | http file.
--mem min_mem:max_mem Range of memory size (in GB) to select from to run job (can omit max_mem).
--metricsInterval metrics_int Time in seconds between queries to obtain container metrics (default: 10s)
--migratePolicy [migrate_policy] Policy to determine auto-migration behavior. Format is [option1=value1, option2=value2...]. The available options with their default values are (if no units are attached, the value is a percentage):
  • enable=false
  • disable=true (use enable or disable, not both)
  • evadeOOM=false
  • stepAuto=false
  • cpu.upperBoundRatio=90
  • cpu.lowerBoundRatio=5
  • cpu.upperBoundDuration=30s
  • cpu.lowerBoundDuration=5m0s
  • cpu.step=50
  • cpu.limit=0 (no limit)
  • mem.upperBoundRatio=90
  • mem.lowerBoundRatio=5
  • mem.upperBoundDuration=30s
  • mem.lowerBoundDuration=5m0s
  • mem.step=50
  • mem.limit=0 (no limit)
-n, --name job_name Name to associate with job
-n, --noPublicIP No public IP address assigned to container host (host only reachable via a private IP network). AliCloud users must include --endpoint option in their job scripts.
-P, --publish host_port:container_port Rule for publishing container port to container host port, for example, 8080:80
--rootVolSize root_vol_size Root volume size in GB to load base OS (default: 40)
--securityGroup sec_group Security group added to VM instance for this job. Use format sg-xxxxx
--shmSize shm_size Size of /dev/shm in format nu where n is a number and u is b, k, m, or g for bytes, KiB, MiB or GiB, respectively (default: 64m)
-I, --snapshotInterval snap_int Time between periodic snapshots in format hhhmmmsss where h, m, and s are hours, minutes, and seconds, respectively
--tag tag_name Tag to select image version
--targetPort port_num Port to connect job to on gateway.
--vmPolicy [vm_policy] VM creation policy. Format is [key1=value1,key2=value2...]. For example,
  • [spotOnly=true,retryLimit=10, retryInterval=30s]
  • [spotFirst=true,retryLimit=3,optimize=true]
  • [onDemand=true,optimize=true]
  • [spotOnly=true,priceLimit=0.1]
-z, --zone availability_zone Availability zone in which to execute job

Example

float sbatch -i tidyverse -j run_genericr.sh --cpu 4 --mem 8 --dataVolume [size=10]:/data
id: NDt428IsJtJZsB9WNUhGH
name: tidyverse-(worker)
workingHost: ""
usr: worker
status: submitted
submitTime: "2022-10-13T00:01:23Z"

float scancel (cancel)

Use the float scancel (or cancel) command to cancel a job. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Cancel job -f, --force Automatically answer "yes" at confirmation prompt
-j, --job job_id Job to cancel

Example

float scancel -j KaSS49mJPomffUNhXrrCH
KaSS49mJPomffUNhXrrCH has been cancelled

float show

Use the float show command to display the status of a job or of a VM instance. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Show current status of job or VM instance -c, --content Display contents of job script
-i, --hid host_id VM instance to query
-j, --job job_id Job to query

Example

float show -j FOIW5Y16KZgJ6Tsd02QuS
id: FOIW5Y16KZgJ6Tsd02QuS
name: cellranger-c5.12xlarge(worker)
workingHost: ""
usr: worker
output: 'container state: exited (0)'
status: completed
submitTime: "2022-10-03T19:17:01Z"
endTime: "2022-10-03T19:40:29Z"
.....[output edited]

float show -c -j S0JPnWd3a2hQmVmVWCMWc
#!/usr/bin/bash
LOG_PATH=$1
LOG_FILE=$LOG_PATH/output
touch $LOG_FILE
exec >$LOG_FILE 2>&1
echo "Congratulations! You have submitted your first job"
for(( c=1; c<3; c++))
do
        if [[ $(($c % 3)) == 1 ]] then
                echo "Hello World!"
        else
                echo "Your next job will be more interesting" >&2
        fi
                sleep 20s
done
echo "Job complete"

float sinfo (hosts)

Use the float sinfo (or hosts) command to show current status of the cluster of worker nodes. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Show current cluster status -A, --all Show all jobs (normal plus archived). Default: normal record archived after one hour of inactivity.
-f, --filter filter1 filter2... Filter(s) to apply to job status

Example: status=executing timeRange=2010-10-22~

float snapshot

Use the float snapshot command to display information about snapshots. Using subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

list List available snapshots -A, --all Show all snapshots associated with job
-f, --filter filter1 filter2... Filter(s) to apply to snapshots, for example: status=normal
-j, --jobID job_id Job to query
show Display information about snapshot -s, --snapID snapshot_id Snapshot to query
Example:
float snapshot show -s jobSnap-Kp89d7qzJjiuhNeaOUfsA
id: jobSnap-Kp89d7qzJjiuhNeaOUfsA
jobID: h3xg4jpC8ydcgkVWBKj4S
volumeSnapshots:
    - zone: us-east-1b
      volumeId: vol-02786458cebdeca43
      volumeSize: 6
      status: completed
      snapshotId: snap-08e5b6ed8b7834b96
      createTime: "2023-04-18T15:51:17Z"
      mountPoint: /mnt/float-data
      cost: 0.0000 USD
    - zone: us-east-1b
      volumeId: vol-06dd42bf6b091466a
      volumeSize: 6
      status: completed
      snapshotId: snap-0f2833cdb639fa4b5
      createTime: "2023-04-18T15:51:17Z"
      mountPoint: /mnt/float-image
      cost: 0.0000 USD
    - zone: us-east-1b
      volumeId: vol-023c2e91e34f37335
      volumeSize: 10
      status: completed
      snapshotId: snap-025a733db664e9054
      createTime: "2023-04-18T15:51:17Z"
      mountPoint: /data
      cost: 0.0000 USD
status: normal
createTime: 2023-04-18T15:51:17.434161661Z

float squeue (list)

Use the float squeue (or list) command to show a filtered list of queued jobs. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Show filtered list of queued jobs (default: list jobs from oldest to newest) -A, --all Show all jobs (normal plus archived). Default: normal record archived after one hour of inactivity.
-d, --desc List jobs in descending order using the attribute specified by --orderBy
-f, --filter filter1 filter2... Filter(s) to apply to list of queued jobs.

Example: status=executing timeRange=2010-10-22~

-o, --orderBy attribute Attribute used to order job listing. Supported values are (default: start):
  • name
  • start
  • owner
  • image
  • status

Example

float squeue -A --filter status=Completed
+-----+------+------------+--------+---------+-----------+---------+------+
| ID  | NAME |WORKING HOST|  USER  |  STATUS |SUBMIT TIME|DURATION | COST |
+-----+------+------------+--------+---------+-----------+---------+------+
|FO...|cer...|            | worker |Completed| 2022-...  |2022...  |  0.. |
...[edited for clarity]
            
float squeue -o name
+--------+----------------------+------------------+-------+-----------+--------------+----------+------------+
| ID     |         NAME         |    WORKING HOST  | USER  |  STATUS   | SUBMIT TIME  | DURATION |    COST    |
+-------------------------------+------------------+-------+-----------+--------------+----------+------------+
| SZd... | apple                | 54.163.154.116...| admin | Executing | ...19:11:47Z | 1h35m1s  | 0.1143 USD |
| btC... | banana               | 34.234.64.157... | admin | Executing | ...19:12:19Z | 1h34m30s | 0.0926 USD |
| hnP... | camel                |                  | admin | Completed | ...20:43:01Z | 3m28s    | 0.0031 USD |
| 5d1... | cherry               | 54.89.203.124... | admin | Executing | ...19:12:27Z | 1h34m22s | 0.0924 USD |
| grd... | python-t3a.xlarge    | 34.229.17.82...  | admin | Completed | ...20:43:48Z | 2m51s    | 0.0026 USD |
| nVD... | tidyverse-t3a.xlarge | 3.89.224.246...  | admin | Executing | ...19:14:39Z | 1h32m10s | 0.0903 USD |
+--------+----------------------+------------------+-------+-----------+--------------+----------+------------+
...[edited for clarity]
            
float squeue -f image=python -f status=Executing
+--------+-------------------+----------------------------------+-------+-----------+-------------+----------+------------+
|   ID   |       NAME        |           WORKING HOST           | USER  |  STATUS   | SUBMIT TIME | DURATION |    COST    |
+--------+-------------------+----------------------------------+-------+-----------+-------------+----------+------------+
| Xai... | python-c5.4xlarge | 34.228.10.73 (16Core32GB/Spot)   | admin | Executing |...20:38:32Z | 11m26s   | 0.0563 USD |
| bBF... | spinachpython     | 34.228.165.173 (16Core32GB/Spot) | admin | Executing |...20:43:26Z | 6m32s    | 0.0315 USD |
+--------+-------------------+----------------------------------+-------+-----------+-------------+----------+------------+

...[edited for clarity]
            

float status

Use the float status command to show current status of the OpCenter. The command has no subcommands. Using the command with the -h flag lists the options.

Example

float status
ServerServer Status: normal
API Request Status: normal
License Status: valid
Init Time: "2022-10-05T07:28:11Z"
Up Time: "2022-11-11T01:25:57Z"

float submit

The float submit command is the same as float sbatch.

float top

Use the float top command to show a sorted list of information (including CPU and memory utilization) about current jobs. The display is updated at regular intervals. Enter q to stop the display. The command has no subcommands. Using the command with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

Show utilization and other information about running jobs. Display updates continually. Enter q to exit. --interval top_int Time in seconds (3 or greater) between queries to obtain container metrics (default: 3s). Format is ns where n is integer.
-j, --job_Id <job_id> Job to query

float user

Use the float user command to manage OpCenter users. Using a subcommand with the -h flag lists the options.

Subcommands

Usage

Option

Option Definition

add, create Add a new user new_username Username for new user
--create Create group if the group does not exist (default: false)
--email email_address Email address for new user
-g, --group group_name Group associated with new user (default: "default")
--passwd password Password for new user (default: "memverge")
delete, remove, rm Delete a user user_name | user_id Username or id of user to delete
-f, --force Remove all active tokens belonging to user and delete user immediately
info, show Display information about user user_name | user_id Username or id of user to query
list, ls List groups that current user belongs to
passwd Reset user's password user_name | user_id Username or id of user to update
--passwd new_password New password for user
update Update information associated with a user user_name | user_id Username or id of user to update
--email email_address New email address for user
-g, --group group_name New group associated with user
--name user_name New username for user
--passwd password New password for user

Example

float user add tester --passwd secret123
username: tester
uid: 5
role: normal
group: default
email: ""
ownGroup: ""
float user info tester
username: tester
uid: 5
role: normal
group: default
email: ""
ownGroup: ""

float version

Use the float version command to display the version of the float CLI client and the version of the OpCenter it is connected to. The command has no subcommands. Using the command with the -h flag lists the options.

Example

float version
float version: v2.1.1-b0680f8-DanaPoint
OpCenter version: v2.1.1-b0680f8-DanaPoint