CLI - Commands reference

Learn how to use the CLI to interact with AI Training

Last updated 20th April, 2021.


This guide covers the usage of the ovhai CLI.



Run a job

To submit a job you need a docker image and optionally some data.

First let's submit a simple job, a public ubuntu image which executes a command echo:

ovhai job run ubuntu --gpu 1 -- echo "Hello from my first job"
  • Add the flag --help to get more information about a command.
  • You can increase the number of GPUs with the flag --gpu <x> or choose to use CPUs with the flag --cpu <x>.

You can then list your current and old jobs with:

ovhai job list
  • Add the flag --watch to watch changes in live.
  • Most commands handle the flag --output <format> if you want a different output (JSON or YAML)

You should see the job you just ran, you need its ID to get more information about it.

To see information about a job use the following command:

ovhai job get <job-id>

To see its logs in live use the following command:

ovhai job logs <job-id> --follow

You should see the output of the echo command:

Hello from my first job

Use data in your job

You can upload data to the Object Storage and mount that data when you run a job. If you mount that data with read/write it will be saved to the Object Storage when the job ends.

Let's upload some data and use it in a job that will produce more data.

ovhai data upload <region> <container> some-file.txt
  • If you already used the Swift CLI, the commands are similar.

Now that you have some data in a container you can mount it when you run a job with the flag --volume.

ovhai job run <image> --volume <container>@<region>:/data:rw
  • You can use the flag --volume more than one time if you want to mount more containers.
  • Mounted containers with write access are only synchronized when the job is terminated.

You can list and download data you uploaded or generated by a job with:

ovhai data list <region> <container>
ovhai data download <region> <container> --prefix /some-data

Synchronize data while a job is running

You can synchronize data to the Object Storage while a job is running with:

ovhai job push-data <job-id>

You can see the progress with:

ovhai job get <job-id>

Execute commands inside a running job

You can execute commands (like bash) while a job is running.

ovhai job exec -it <id> -- bash

This way you can interact with a running job.

Run a job with ssh access

You can create a job with some ssh access:

ovhai job run -s ~/.ssh/ ovhcom/ai-training-fastai

Multiple -s arguments can be used to provide multiple SSH public keys.

Once the job is in RUNNING state, you can retrieve the sshUrl with:

ovhai job get <job-id>

id: 0d916855-1cd4-4b66-8803-b4782bc13902
createdAt: "2021-02-23T08:45:01.297780Z"
updatedAt: "2021-02-23T08:45:19.823082Z"
user: user-xxx
  image: ovhcom/ai-training-fastai
  env: []
  defaultHttpPort: 8080
    gpu: 1
    gpuModel: Tesla-V100S
    cpu: 7
  volumes: []
  timeout: 0
  name: ai-training-fastai-kind
    - ssh-ed25519 AAAAC3NzaC1someKey
  state: RUNNING
  queuedAt: "2021-02-23T08:45:01.297318Z"
  startedAt: "2021-02-23T08:45:13Z"
  stoppedAt: ~
  infos: ~
    - state: QUEUED
      date: "2021-02-23T08:45:01.297012Z"
    - state: INITIALIZING
      date: "2021-02-23T08:45:04.356856Z"
    - state: PENDING
      date: "2021-02-23T08:45:10.163754Z"
    - state: RUNNING
      date: "2021-02-23T08:45:19.822354Z"
  duration: 6
  jobUrl: ""
  sshUrl: "ssh://"
  monitoringUrl: ""

Then you can connect to it with a terminal:

ssh -i ~/.ssh/id_ed25519

Manage registries

You can list available registries with:

ovhai registry list

By default, you have access to public registries, and a shared registry scoped to your project. To add a private registry, use:

ovhai registry add <url>

You will be asked to type your credentials.

Switch region in the CLI

The regions available to install and use the ovhai CLI are GRA and BHS. If you want to change the region in the CLI, you can use the following commands.

You can list the Names and URLs of the available regions with:

ovhai config list

The region in green is the one you are currently in.

To change the region, use:

ovhai config set <region>

<region> is the new region name (GRA or BHS), in which you want to be placed.


Please send us your questions, feedback and suggestions to improve the service:

Did you find this guide useful?

Please feel free to give any suggestions in order to improve this documentation.

Whether your feedback is about images, content, or structure, please share it, so that we can improve it together.

Your support requests will not be processed via this form. To do this, please use the "Create a ticket" form.

Thank you. Your feedback has been received.

These guides might also interest you...

OVHcloud Community

Access your community space. Ask questions, search for information, post content, and interact with other OVHcloud Community members.

Discuss with the OVHcloud community

In accordance with the 2006/112/CE Directive, modified on 01/01/2015, prices incl. VAT may vary according to the customer's country of residence
(by default, the prices displayed are inclusive of the UK VAT in force).