Skip to content
This repository has been archived by the owner on Jan 20, 2022. It is now read-only.
/ workflows Public archive

Argo workflows used to get certain Thoth jobs done.

License

Notifications You must be signed in to change notification settings

thoth-station/workflows

Repository files navigation

workflows

A set of example Argo workflows.

Provisioning

To provision Argo, we use the Argo Workflows ansible role and the provisioning playbook.

You will be asked a namespace to with the Argo should be provisioned and a password to the vault. Run:

ansible-playbook playbooks/provision.yml --ask-vault-pass

Submitting workflows

Using the Argo CLI

See How to write Argo Workflows for the getting started.

To submit a more complicated workflow (i.e., the inspection), first make sure that all the templates have been created.

kubectl create --namespace ${ARGO_NAMESPACE} -f examples/templates

And now to submit the inspection workflow using the parameters file:

argo submit --watch examples/inspection.yaml \
    --name inspection-131719234 \
    -p batch-size=${BATCH_SIZE} \
    -p parallelism=${PARALLELISM} \
    -p thoth-infra-namespace=${ARGO_NAMESPACE} \
    -f examples/parameters.json

Submitting workflows via Python

See examples notebooks or check thoth.common.workflows.

Submitting a Solver Workflows

Solver workflows require a few WorkflowTemplate: oc apply -f argo/templates/ and if this prerequisite is fulfilled, a Workflow can be created using:

argo submit --watch argo/solve_and_sync.yaml \
    --parameter THOTH_SOLVER_NAME=rhel-8.0-py36 \
    --parameter THOTH_SOLVER_JOB_ID=20191126115542 \
    --parameter THOTH_SOLVER_PACKAGES="tensorflow==2.0.0"