CLI - Commands reference

Learn how to use the CLI to interact with AI Training

Last updated 20th April, 2021.

Objective

This guide covers the usage of the ovhai CLI.

Requirements

Instructions

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/id_ed25519.pub 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
spec:
  image: ovhcom/ai-training-fastai
  env: []
  defaultHttpPort: 8080
  resources:
    gpu: 1
    gpuModel: Tesla-V100S
    cpu: 7
  volumes: []
  timeout: 0
  name: ai-training-fastai-kind
  sshPublicKeys:
    - ssh-ed25519 AAAAC3NzaC1someKey
status:
  state: RUNNING
  queuedAt: "2021-02-23T08:45:01.297318Z"
  startedAt: "2021-02-23T08:45:13Z"
  stoppedAt: ~
  ip: 10.42.155.122
  infos: ~
  history:
    - 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: "http://0d916855-1cd4-4b66-8803-b4782bc13902.job.gra.training.ai.cloud.ovh.net"
  sshUrl: "ssh://0d916855-1cd4-4b66-8803-b4782bc13902@gra.training.ai.cloud.ovh.net"
  monitoringUrl: "http://monitoring.gra.training.ai.cloud.ovh.net/d/job/job-monitoring?var-job=0d916855-1cd4-4b66-8803-b4782bc13902&from=1614069913000"

Then you can connect to it with a terminal:

ssh 0d916855-1cd4-4b66-8803-b4782bc13902@gra.training.ai.cloud.ovh.net -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.

Feedback

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


Czy ten przewodnik był pomocny?

Zachęcamy do przesyłania sugestii, które pomogą nam ulepszyć naszą dokumentację.

Obrazy, zawartość, struktura - podziel się swoim pomysłem, my dołożymy wszelkich starań, aby wprowadzić ulepszenia.

Zgłoszenie przesłane za pomocą tego formularza nie zostanie obsłużone. Skorzystaj z formularza "Utwórz zgłoszenie" .

Dziękujemy. Twoja opinia jest dla nas bardzo cenna.


Inne przewodniki, które mogą Cię zainteresować...

OVHcloud Community

Dostęp do OVHcloud Community Przesyłaj pytania, zdobywaj informacje, publikuj treści i kontaktuj się z innymi użytkownikami OVHcloud Community.

Porozmawiaj ze społecznością OVHcloud

Zgodnie z Dyrektywą 2006/112/WE po zmianach, od dnia 1 stycznia 2015 r., ceny brutto mogą różnić się w zależności od kraju zameldowania klienta
(ceny brutto wyświetlane domyślnie zawierają stawkę podatku VAT na terenie Polski).