Skip to content

Command-Line Toolbeta ​

yfctl is the command-line tool for the YanFlow Computing Scheduling Platform, used to interact with the platform. It supports authentication, workspace management, distributed training jobs, and more.
Please replace <CustomerID> in the URL with your actual customer ID. For details on obtaining the ID, refer to Console - Basic Information.

Environment Configuration ​

Configures environment variables and auto-completion commands for the script.

Environment Variables ​

  • Download yfctl_linux.tar.gz and extract it to any location

    bash
    wget --no-check-certificate https://product-deploy.titanai.cloud/admin/deploy/cluster/command/linux/<CustomerID> -O yfctl_linux.tar.gz
    # Directory structure after extraction
    ├── bin/        
    │   └── yfctl             # Executable file
    └── linux_install.sh      # Environment variable setup
  • Execute linux_install.sh

    bash
    bash linux_install.sh
    root@gpu-3090-vm08:~/test# bash linux_install.sh 
    Installation successful! yfctl is now globally available
    Help information: YanFlow Computing Scheduling Platform command-line tool for interacting with the platform
    Supports authentication, workspace management, distributed training jobs, and more
    For complete documentation, please visit: https://cluster.titanai.cc/documents/help/cluster/yfctl
    
    Usage:
      yfctl [flags] [command]
    
    Options:
      -h, --help   help for yfctl
    
    Available Commands:
      image       Image management
      job         Job management
      login       Login to system
      logout      Logout from system
      project     View project information
      source      View available resources
      workspace   Workspace management
    
    Use "yfctl [command] --help" for more information on a command.
    Usage method: yfctl [command options]

Command-Line Auto-Completion ​

  • Install bash-completion

    bash
    apt-get install -y bash-completion
  • Generate completion script

    bash
    yfctl completion bash > yfctl_bash_completion.sh
  • Install to system directory

    bash
    mv yfctl_bash_completion.sh /etc/bash_completion.d/yfctl
  • Add to the end of ~/.bashrc file

    bash
    vim ~/.bashrc
    bash
    # Load custom completion script
     if [ -f /etc/bash_completion.d/yfctl ]; then
     source /etc/bash_completion.d/yfctl
     fi
  • Refresh

    bash
    source ~/.bashrc
  • Verify if completion is permanently effective (press Tab after typing "yfctl ")

    bash
    yfctl <Tab>  

Core Command Descriptions ​

Authentication ​

yfctl login

  • Function: Login to the system
  • Usage: yfctl login [host] [username]
  • Example: Interactive password input
    yfctl login https://clusterdev.titanai.cloud user        # Public network access
    yfctl login http://192.168.100.100:18003 user            # Private network access

yfctl logout

  • Function: Logout from the system, clearing local authentication information
  • Usage: yfctl logout
  • Example:
    yfctl logout

Node Information ​

yfctl node list

  • Function: List node resources
  • Usage: yfctl node list [used|available]
  • Options:
    • -a, --all: Display all workspaces (no quantity limit)
    • -n, --num int: Display the first N results (default 10)
  • Example:
    root@499fcb8246c1:~# yfctl node list available
    │─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
    │      NAME       │       IP        │               GPU               │                            CPU                             │ MEMORY │   DISK    │
    │─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
    │ gpu-4070ti-vm04 │ 192.168.100.173 │ NVIDIA GeForce RTX 4070 Ti * 2  │ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz * 48 core * 1 │ 125GiB │ 490.05GiB │
    │─────────────────│─────────────────│─────────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
    root@499fcb8246c1:~# yfctl node list used --num 1
    │───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
    │     NAME      │ MODEL │       IP        │             GPU              │                            CPU                             │ MEMORY │   DISK    │
    │───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│
    │ gpu-3090-vm08 │ job   │ 192.168.100.119 │ NVIDIA GeForce RTX 3090 * 2  │ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz * 48 core * 1 │ 125GiB │ 490.05GiB │
    │───────────────│───────│─────────────────│──────────────────────────────│────────────────────────────────────────────────────────────│────────│───────────│

Project Information ​

yfctl project list

  • Function: List projects that the current user has permission to access
  • Usage: yfctl project list
  • Example:
    root@gpu-3090-vm08:~# yfctl project  list 
    │─────────────────────│───────────│
    │         ID          │  PROJECT  │
    │─────────────────────│───────────│
    │ 1933029687854202882 │ xxxxx Project │
    │─────────────────────│───────────│

Resource Information ​

yfctl source list

  • Function: View cluster available resources (GPU/CPU, etc.)
  • Usage: yfctl source list --type gpu|vgpu|cpu
  • Options: -t, --type string: Filter by resource type (gpu/vgpu/cpu)
  • Example:
    root@gpu-3090-vm08:~# yfctl source list --type gpu
    │────────────────────────────│────────│
    │            NAME            │ UNUSED │
    │────────────────────────────│────────│
    │ NVIDIA GeForce RTX 4070 Ti │ 0      │
    │────────────────────────────│────────│

yfctl source full

  • Function: List all available full-machine resources
  • Usage: yfctl source full
  • Example:
    root@499fcb8246c1:~# yfctl source full           
    │─────────────────────────────────────────────────│─────────────│
    │                      NAME                       │ UNUSED NODE │
    │─────────────────────────────────────────────────│─────────────│
    │ NVIDIA GeForce RTX 3090(24GB) 2 cards 1 node    │ 1           │
    │ NVIDIA GeForce RTX 4070 Ti(12GB) 2 cards 1 node │ 1           │
    │─────────────────────────────────────────────────│─────────────│

Image Information ​

yfctl image list

  • Function: View available template images in the cluster
  • Usage: yfctl image list model|mine|share
  • Example:
    root@gpu-3090-vm08:~# yfctl image list mine
    │─────────────────────────────────────────────────────────────────────────────────────│─────────│
    │                                        NAME                                         │  SIZE   │
    │─────────────────────────────────────────────────────────────────────────────────────│─────────│
    │ 192.168.100.200/chenchao/mariadb:10.5                                               │ 0.12GiB │
    │ 192.168.100.200/chenchao/cuda:11.8.0-cudnn8-devel-torch2.0.1-mpi-py3.10-ubuntu20.04 │ 8.29GiB │
    │─────────────────────────────────────────────────────────────────────────────────────│─────────│

Workspace Management ​

yfctl workspace list

  • Function: List all workspaces
  • Usage: yfctl workspace list [flags]
  • Options:
    • -a, --all: Display all workspaces (no quantity limit)
    • -n, --num int: Display the first N results (default 10)
    • -N, --name string: Filter by name
    • -t, --type string: Filter by resource type (gpu/vgpu/cpu)
  • Example:
    root@gpu-3090-vm08:~# yfctl workspace list --type gpu --num 2
    │─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│
    │         ID          │  NAME   │ TYPE │  STATE  │                                  IMAGE                                  │      NODE       │  PROJECT  │       CREATE        │
    │─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│
    │ 1945404905292271617 │ test113 │ GPU  │ removed │ 192.168.100.200/cluster/cuda:11.8.0-cudnn8-devel-mpi-py3.10-ubuntu20.04 │ gpu-4070ti-vm04 │ xxxxx Project │ 2025-07-16 16:47:27 │
    │ 1945402050422476801 │ test112 │ GPU  │ removed │ 192.168.100.200/cluster/cuda:11.8.0-cudnn8-devel-mpi-py3.10-ubuntu20.04 │ gpu-4070ti-vm04 │ xxxxx Project │ 2025-07-16 16:36:07 │
    │─────────────────────│─────────│──────│─────────│─────────────────────────────────────────────────────────────────────────│─────────────────│───────────│─────────────────────│

yfctl workspace detail

  • Function: View information of a specified workspace
  • Usage: yfctl workspace detail [ID]
  • Example:
    root@499fcb8246c1:~# yfctl workspace detail 1946014681965498369
    ──────────────────────────────────────────────────────────────────────────────────────────────────
    Workspace[5201314] Information                                                    
    ──────────────────────────────────────────────────────────────────────────────────────────────────
    WORKSPACE ID: 0c8731f92da021f406e9970142ea81cd90d4bb1a0687738b0ec83dee4c131c52                    
    IMAGE       : 192.168.100.200/cluster/cuda:12.1.0-cudnn8-devel-torch2.4.1-mpi-py3.10-ubuntu20.04  
    NODE        : cpu-vm03                                                                            
    PROJECT     : xxxxx Project                                                                        
    CREATED     : 2025-07-18 09:11:50                                                                 
    AGE         : 6.97h                                                                               
    CMD         : /bin/bash -c /run.sh                                                                
    ARGS        : -c /run.sh                                                                          
    PORT        :                                                                                     
    │─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
    │       IP        │ EXTERNAL │ INTERNAL │ PROTOCOL │      INFO      │ USERNAME │ PASSWORD │
    │─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
    │ 192.168.100.112 │ 33005    │ 22       │ TCP      │ SSH Service    │ root     │ c0j2xls1 │
    │                 │ 33006    │ 5901     │ TCP      │ VNC Service    │ root     │ c0j2xls1 │
    │                 │ 33007    │ 8888     │ TCP      │ JupyterLab Service │ root     │ c0j2xls1 │
    │─────────────────│──────────│──────────│──────────│────────────────│──────────│──────────│
    CPU         :                                                                                    
    │──────────────────────────────────────────────│──────────────│───────│
    │                     CPU                      │    MEMORY    │ RATE  │
    │──────────────────────────────────────────────│──────────────│───────│
    │ Intel(R) Xeon(R) Platinum 8163 CPU @ 2.50GHz │ 2MiB / 31MiB │ 0.45% │
    │──────────────────────────────────────────────│──────────────│───────│
    VOLUME      :                                                                                     
    │────────────│────────────────────────────────────────────────────────────────│──────────────────────│
    │    TYPE    │                            EXTERNAL                            │       INTERNAL       │
    │────────────│────────────────────────────────────────────────────────────────│──────────────────────│
    │ User Volume │ /mnt/volume/d9b6da00e9a44e0da235fa92614ab760/userdata/chenchao │ /mnt/volume/chenchao │
    │ Public Volume │ /mnt/volume/d9b6da00e9a44e0da235fa92614ab760/userdata/public   │ /mnt/volume/public   │
    │────────────│────────────────────────────────────────────────────────────────│──────────────────────│
    ENV         :                                                                                    
    │─────────────│──────────│
    │    NAME     │  VALUE   │
    │─────────────│──────────│
    │ USER_PASSWD │ c0j2xls1 │
    │─────────────│──────────│

yfctl workspace init

  • Function: Initialize workspace (create default configuration)
  • Usage: yfctl workspace init [workspace name] [flags]
  • Options: -t, --type string: Filter by resource type (gpu/vgpu/cpu)
  • Example: Generate YAML after interactive input of project, resources, etc.
    root@gpu-3090-vm08:~# yfctl workspace init test0717 --type gpu
    >>> YAML file generated: test0717_gpu.yaml

yfctl workspace create

  • Function: Create workspace
  • Usage: yfctl workspace create [flags]
  • Options: -f, --file string: Create workspace through YAML file
  • Example:
    root@gpu-3090-vm08:~# yfctl workspace create -f test0717_cpu.yaml 
    >>> Workspace[test0717] created successfully

yfctl workspace pause / resume / remove

  • Function: Pause workspace / Resume workspace / Remove workspace
  • Usage: yfctl workspace pause [ID] ...
  • Example:
    root@gpu-3090-vm08:~# yfctl workspace pause 1945803638882406402
    >>> Workspace[[1945803638882406402]] paused successfully  
    root@gpu-3090-vm08:~# yfctl workspace resume 1945803638882406402
    >>> Workspace[[1945803638882406402]] resumed successfully
    root@gpu-3090-vm08:~# yfctl workspace remove 1945803638882406402
    >>> Workspace[[1945803638882406402]] released successfully

Job Management ​

yfctl job list

  • Function: List all jobs
  • Usage: yfctl job list kubernetes|determined_cluster|determined_single|queue|timed
  • Options:
    • -a, --all: Display all jobs (no quantity limit)
    • -n, --num int: Display the first N results (default 10)
    • -N, --name string: Filter by name
  • Example:
    root@499fcb8246c1:~# yfctl job list kubernetes --name c --num 1 
    │─────────────────────│───────│──────│──────────│───────────│─────│─────────│
    │         ID          │ NAME  │ GPUS │  STATE   │  PROJECT  │ AGE │ CREATOR │
    │─────────────────────│───────│──────│──────────│───────────│─────│─────────│
    │ 1947594995102482433 │ caid1 │ 2    │ CANCELED │ xxxxx Project │ 1m  │ Chen Chao    │
    │─────────────────────│───────│──────│──────────│───────────│─────│─────────│

yfctl job init :::note[Description] We provide sample code projects: Kubernetes, Determined :::

  • Function: Initialize job (create default configuration)
  • Usage: yfctl job init [name] [type]
  • Example: Generate YAML after interactive input of project, resources, etc.
    root@gpu-3090-vm08:~# yfctl job init 0723 kubernetes
    >>> YAML file generated: 0723_kubernetes.yaml
    >>> Samba service has been started. Please use the Samba service to upload training code files to any location in the user data volume
    >>> Linux Host: smbclient //192.168.100.200/chenchao -U chenchao
    >>> Windows Host: \\192.168.100.200\chenchao
    >>> Mac Host: //192.168.100.200/chenchao
    >>> Username: chenchao
    >>> Password: chenchao

yfctl job create

  • Function: Create job
  • Usage: yfctl job create [type] [flags]
  • Options: -f, --file string: Create job through YAML file
  • Example:
    root@499fcb8246c1:~# yfctl job create kubernetes -f 0723_kubernetes.yaml 
    >>> Job[0723] created successfully

yfctl job pause / resume

  • Function: Pause job / Resume job
  • Usage: yfctl job pause [ID]
  • Example:
    root@gpu-3090-vm08:~# yfctl job pause 1945803638882406402
    >>> Job[[1945803638882406402]] paused successfully  
    root@gpu-3090-vm08:~# yfctl job resume 1945803638882406402
    >>> Job[1948196243922894849] resumed successfully

yfctl job cancel

  • Function: Cancel job
  • Usage: yfctl job cancel kubernetes|determined [ID]...
  • Example:
    root@499fcb8246c1:~# yfctl job cancel determined 1948196243922894849
    >>> Job[[1948196243922894849]] canceled successfully