-
Notifications
You must be signed in to change notification settings - Fork 993
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #622 from jiangkaihua/master
vcctl command line enhancement
- Loading branch information
Showing
1 changed file
with
113 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# `vcctl` Command Line Enhancement | ||
|
||
[@jiangkaihua](jiangkaihua1@huawei.com); Dec. 16, 2019 | ||
|
||
## Catalog | ||
- [`vcctl` Command Line Enhancement](#vcctl-command-line-enhancement) | ||
- [Catalog](#catalog) | ||
- [Functions of `vcctl`](#functions-of-vcctl) | ||
- [Command `vcctl job`](#command-vcctl-job) | ||
- [Command `vcctl queue`](#command-vcctl-queue) | ||
- [`vcctl` vs. Slurm Command Line](#vcctl-vs-slurm-command-line) | ||
- [New Format of Volcano Command Line](#new-format-of-volcano-command-line) | ||
- [For Common User](#for-common-user) | ||
- [`vsub` submit via file](#vsub-submit-via-file) | ||
- [For Administrator](#for-administrator) | ||
- [Reference](#reference) | ||
|
||
## Functions of `vcctl` | ||
`vcctl` is the command line of [volcano](https://github.com/volcano-sh/volcano). The main functions are listed below: | ||
|
||
### Command `vcctl job` | ||
| Command Format | Usage | | ||
| - | - | | ||
| `vcctl job delete -N <job_name> -n <namespace>` | delete a job | | ||
| `vcctl job list -S <scheduler> -n <namespace>` | list job info | | ||
| `vcctl job resume -N <job_name> -n <namespace>` | resume a job | | ||
| `vcctl job run -f <yaml_file> -i <image> -L <resource_limit> -m <min_available> -N <job_name> -n <namespace> -r <replicas> -R <resource_requeset> -S <scheduler>` | run job by parameters from the command line | | ||
| `vcctl job suspend -N <job_name> -n <namespace>` | suspend a job | | ||
| `vcctl job view -N <job_name> -n <namespace>` | show a job info | | ||
|
||
### Command `vcctl queue` | ||
| Command Format | Usage | | ||
| - | - | | ||
| `vcctl queue create -n <queue_name> -w <weight>` | create a queue | | ||
| `vcctl queue delete -n <queue_name>` | delete a queue | | ||
| `vcctl queue get -n <queue_name>` | get a queue | | ||
| `vcctl queue list ` | list all the queue | | ||
| `vcctl queue operate -a <open/close/update> -n <queue_name> -w <weight>` | operate a queue | | ||
|
||
## `vcctl` vs. Slurm Command Line | ||
The similar Slurm command lines are listed below: | ||
|
||
| `vcctl` Function | Similar Slurm Command Line | | ||
| - | - | | ||
| `vcctl job run -f <yaml_file>` | `sbatch <job_file>` | | ||
| `vcctl job run -N <job_name>` | `srun -J <job_name> ` | | ||
| `vcctl job delete -N <job_name> -n <namespace>` | `scancel <job_id> / -n <job_name> -u <user>` | | ||
| `vcctl job suspend -N <job_name> -n <namespace>` | `scontrol suspend <job_id>` | | ||
| `vcctl job resume -N <job_name> -n <namespace>` | `scontrol resume <job_id>` | | ||
| `vcctl job view -N <job_name> -n <namespace>` | `scontrol show job <job_id>` | | ||
| `vcctl job list --all-namespaces` | `scontrol show job` | | ||
| `vcctl job list -n <namespace>` | `squeue -u <user>` | | ||
| `vcctl queue create -n <queue_name> -w <weight>` | `scontrol create PartitionName=<partition_name>` | | ||
| `vcctl queue delete -n <queue_name>` | `scontrol delete PartitionName=<partition_name>` | | ||
| `vcctl queue get -n <queue_name>` | `squeue -p <partition_name> & scontrol show partition <partition_name>` | | ||
| `vcctl queue list ` | `squeue -a & scontrol show partition` | | ||
| `vcctl queue operate -a <open/close/update> -n <queue_name> -w <weight>` | no similar commands | | ||
|
||
## New Format of Volcano Command Line | ||
### For Common User | ||
| Old Format | New Format | | ||
| - | - | | ||
| `vcctl job run -N <job_name>` | `vsub -j/--job-name <job_file>` | | ||
| `vcctl job delete -N <job_name> -n <namespace>` | `vcancel -n <job_name> -N <namespace>` | | ||
| `vcctl job suspend -N <job_name> -n <namespace>` | `vsuspend -n <job_name> -N <namespace>` | | ||
| `vcctl job resume -N <job_name> -n <namespace>` | `vresume -n <job_name> -N <namespace>` | | ||
| `vcctl job view -N <job_name> -n <namespace>` | `vjobs -n <job_name> -N <namespace>` | | ||
| `vcctl job list -S <scheduler> -n <namespace>` | `vjobs -S <scheduler> -N <namespace>` | | ||
| `vcctl queue get -n <queue_name>` | `vqueues -n <queue_name>` | | ||
| `vcctl queue list ` | `vqueues` | | ||
|
||
#### `vsub` submit via file | ||
Command `vsub` can aslo submit a batch job via `.sh` file, like: | ||
```shell | ||
[user@host]$ vsub test.sh | ||
Submitted batch job test | ||
``` | ||
The job file <test.sh> owns a format like: | ||
```shell | ||
#!/bin/bash` | ||
|
||
#VSUB jobName test | ||
#VSUB namespace volcano-system | ||
#VSUB queue default | ||
#VSUB schedulerName volcano | ||
#VSUB image busybox | ||
#VSUB replicas 10 | ||
#VSUB minAvailable 4 | ||
... | ||
|
||
echo test.sh start on $(date) | ||
sleep 100 | ||
echo test.sh end on $(date) | ||
``` | ||
|
||
|
||
### For Administrator | ||
| Old Format | New Format | | ||
| - | - | | ||
| `vcctl queue create -n <queue_name> -w <weight>` | `vadmin qcreate -n <queue_name> -w <weight>` | | ||
| `vcctl queue delete -n <queue_name>`| `vadmin qcancel -n <queue_name>` | | ||
| `vcctl queue operate -a open -n <queue_name>`| `vadmin qopen -n <queue_name>` | | ||
| `vcctl queue operate -a close -n <queue_name>`| `vadmin qclose -n <queue_name>` | | ||
| `vcctl queue operate -a update -n <queue_name> -w <weight>`| `vadmin qupdate -n <queue_name> -w <weight>` | | ||
|
||
|
||
operate -a <open/close/update> -n <queue_name> -w <weight> | ||
## Reference | ||
- [Slurm Documentation](https://slurm.schedmd.com/) | ||
- [IBM Platform LSF Command Reference](https://www.ibm.com/support/knowledgecenter/en/SSETD4_9.1.2/lsf_kc_cmd_ref.html) | ||
- [Slurm作业调度系统使用指南](http://hmli.ustc.edu.cn/doc/userguide/slurm-userguide.pdf) | ||
- [SLURM使用基础教程](https://www.hpccube.com/wiki/index.php/SLURM%E4%BD%BF%E7%94%A8%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B) | ||
- [北京大学国际数学中心微型工作站-SLURM 使用参考](http://bicmr.pku.edu.cn/~wenzw/pages/index.html) |