Skip to main content

Get Planetary Data from the Planetary Data System (PDS)

Project description

LabCas Workflow

Run workflows for Labcas

Install

locally

Preferably use a virtual environment with python 3.9

pip install -e '.[dev]'

With Dask on docker

Create certificates:

cd docker/certs
./generate-certs.sh

Build the docker image:

docker build -f docker/Dockerfile . -t labcas/workflow

Start the scheduler:

docker network create dask
docker run --network dask -p 8787:8787 -p 8786:8786 labcas/workflow scheduler

Start one worker

docker run  --network dask -p 8786:8786 labcas/workflow worker 

Start the client, same as in following section

With dask on ECS

Deploy the image created in the previous section on ECR

Have a s3 bucket labcas-infra for the terraform state.

Other pre-requisites are:

  • a VPC
  • subnets
  • a security group allowing incoming request whre the client runs, at JPL, on EC2 or Airflow, to port 8786 and port 8787
  • a task role allowing to write on CloudWatch
  • a task execution role which pull image from ECR and standard ECS task Excecution role policy "AmazonECSTaskExecutionRolePolicy"

Deploy the ECS cluster with the following terraform command:

cd terraform
terraform init
terraform apply \
    -var consortium="edrn" \
    -var venue="dev" \
    -var aws_fg_image=<uri of the docker image deployed on ECR>
    -var aws_fg_subnets=<private subnets of the AWS account> \
    -var aws_fg_vpc=<vpc of the AWS account> \
    -var aws_fg_security_groups  <security group> \
    -var ecs_task_role <arn of a task role>
    -var ecs_task_execution_role <arn of task execution role>

Run

Set you local AWS credentials to access the data

./aws-login.darwin.amd64

Start the dask cluster

Run the processing

python ./src/labcas/workflow/manager/main.py

Publish the package on pypi

pip install build
pip install twine
python -m build
twine upload dist/*

Apache Airflow

Test locally using https://github.com/aws/aws-mwaa-local-runner

Follow the README instructions.

cd mwaa

Launch the server

./mwaa-local-env start

Stop

Ctrl^C

Stop and re-initialize local volumes

docker compose  -f ./docker/docker-compose-local.yml down -v

See the console on http://localhost:8080, admin/test

Test the requirement.txt files

./mwaa-local-env test-requirements

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

labcas_workflow-0.1.4.tar.gz (4.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

labcas_workflow-0.1.4-py3-none-any.whl (4.9 MB view details)

Uploaded Python 3

File details

Details for the file labcas_workflow-0.1.4.tar.gz.

File metadata

  • Download URL: labcas_workflow-0.1.4.tar.gz
  • Upload date:
  • Size: 4.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.7

File hashes

Hashes for labcas_workflow-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ea409a895de94472d1a2d30e52ec248c16b708191b612bbbdac6368343347b87
MD5 2257815c3d6186603832234fb86fe824
BLAKE2b-256 84e9139e801bea1a9eeb1b477dc49c97417fe4e3c4c132faa5501d49857d5f7b

See more details on using hashes here.

File details

Details for the file labcas_workflow-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for labcas_workflow-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 5d99eda1f70ff14e0daa63b64c4dc4271a2dd102a8702912711076b9dbb08242
MD5 8b22b07ddb86749ea35996ad1af2df48
BLAKE2b-256 e2d8f62ecf47e93d89d05186d29248348747595bb8e27c014fb53ba50d1aae42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page