Armada demo

This guide will show you how to take a quick test drive of an Armada instance already deployed to AWS EKS.

To learn more, see our video on how to use Armadactl, the Armada Lookout UI and Apache Airflow.

EKS

Go to the Armada UI (Lookout).

Local prerequisites

Obtaining the Armada source

Clone the armadaproject repository as follows:

git clone https://github.com/armadaproject/armada.git
cd armada

All commands are intended to be run from the root of the repository.

Setting up an alias

If you are on a Windows System, use a Linux-supported terminal to run this command, for example, Git Bash or Hyper.

alias armadactl='go run cmd/armadactl/main.go --armadaUrl armada.demo.armadaproject.io:443'

Creating queues and jobs

Create queues, submit some jobs, and monitor progress:

Creating a queue

Use a unique name for the queue. Make sure you remember it for the next steps.

armadactl create queue $QUEUE_NAME --priorityFactor 1
armadactl create queue $QUEUE_NAME --priorityFactor 2

For queues created in this way, user and group owners of the queue have permissions to:

For more control, queues can be created via armadactl create, which allows for setting specific permission; see the following example.

armadactl create -f ./docs/quickstart/queue-a.yaml
armadactl create -f ./docs/quickstart/queue-b.yaml

Make sure to manually edit both of these yaml files using a code or text editor before running the commands.

name: $QUEUE_NAME

Submitting a job

armadactl submit ./docs/quickstart/job-queue-a.yaml
armadactl submit ./docs/quickstart/job-queue-b.yaml

Make sure to manually edit both of these yaml files using a code or text editor before running the commands.

queue: $QUEUE_NAME

Monitoring job progress

armadactl watch $QUEUE_NAME job-set-1
armadactl watch $QUEUE_NAME job-set-1

Try submitting lots of jobs and see how queues get built and processed.

Submitting on Windows using Git Bash

Use a text editor of your choice. Copy and paste the following lines into the text editor:

#!/bin/bash

for i in {1..50}
do
  armadactl submit ./docs/quickstart/job-queue-a.yaml
  armadactl submit ./docs/quickstart/job-queue-b.yaml
done

Save the file with a .sh extension (for example, myscript.sh) in the root directory of the project. Open Git Bash, navigate to the project’s directory using the cd command, and then run the script by typing ./myscript.sh and pressing Enter.

Submitting on Linux

Open a text editor (for example, Nano or Vim) in the terminal and create a new file by running: nano myscript.sh (replace nano with your preferred text editor if needed). Copy and paste the script content into the text editor. Save the file and exit the text editor. Make the script file executable by running chmod +x myscript.sh. Run the script by typing ./myscript.sh in the terminal and pressing Enter.

Submitting on macOS

Follow the same steps as for Linux, as macOS uses the Bash shell by default. With this approach, you create a shell script file that contains your multi-line script, and you can run it as a whole by executing the script file in the terminal.

Observing job progress

CLI

$ armadactl watch queue-a job-set-1
Watching job set job-set-1
Nov  4 11:43:36 | Queued:   0, Leased:   0, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobSubmittedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov  4 11:43:36 | Queued:   1, Leased:   0, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobQueuedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov  4 11:43:36 | Queued:   1, Leased:   0, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobSubmittedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:43:36 | Queued:   2, Leased:   0, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobQueuedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:43:38 | Queued:   1, Leased:   1, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobLeasedEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov  4 11:43:38 | Queued:   0, Leased:   2, Pending:   0, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobLeasedEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:43:38 | Queued:   0, Leased:   1, Pending:   1, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobPendingEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov  4 11:43:38 | Queued:   0, Leased:   0, Pending:   2, Running:   0, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobPendingEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:43:41 | Queued:   0, Leased:   0, Pending:   1, Running:   1, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobRunningEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:43:41 | Queued:   0, Leased:   0, Pending:   0, Running:   2, Succeeded:   0, Failed:   0, Cancelled:   0 | event: *api.JobRunningEvent, job id: 01drv3mey2mzmayf50631tzp9m
Nov  4 11:44:17 | Queued:   0, Leased:   0, Pending:   0, Running:   1, Succeeded:   1, Failed:   0, Cancelled:   0 | event: *api.JobSucceededEvent, job id: 01drv3mf7b6fd1rraeq1f554fn
Nov  4 11:44:26 | Queued:   0, Leased:   0, Pending:   0, Running:   0, Succeeded:   2, Failed:   0, Cancelled:   0 | event: *api.JobSucceededEvent, job id: 01drv3mey2mzmayf50631tzp9m

Web UI

In your browser, open the Armada Project demo site.