Skip to main content

Infrastructure-as-code for ephemeral AWS ParallelCluster environments for bioinformatics

Project description

Daylily Ephemeral Cluster

Daylily provisions ephemeral AWS ParallelCluster environments for bioinformatics workloads. It combines a Python control plane, region-scoped reference data, head-node bootstrap, workflow launch helpers, and lifecycle operations so operators can create Slurm clusters when needed and tear them down cleanly when they do not.

What Daylily Covers

  • Preflight validation for IAM, quotas, network prerequisites, local toolchain, and reference-bucket readiness
  • Cluster creation through daylily-ec create
  • A region-scoped S3 and FSx for Lustre layout for shared references, staged inputs, and results
  • Head-node bootstrap that installs DAY-EC, day-clone, and the packaged Daylily helpers
  • Operator workflows for validation, staging, workflow launch, export, drift checks, and delete

Architecture Snapshot

  1. daylily_ec is the control plane that runs preflight, renders cluster YAML, applies spot pricing, creates the cluster, and records state snapshots.
  2. AWS ParallelCluster and Slurm provide the compute fabric.
  3. A region-specific S3 bucket whose name includes omics-analysis backs FSx for Lustre so references and staged data are shared across the cluster.
  4. The head node installs Daylily utilities and workflow definitions from config/daylily_available_repositories.yaml.
  5. Optional budgets and heartbeat notifications help operators track cost and stale resources.

Fast Path

Use the full runbook in docs/quickest_start.md. The shortest supported path from a repo checkout is:

./bin/check_prereq_sw.sh
./bin/init_dayec
source ./activate

export AWS_PROFILE=daylily-service
export REGION_AZ=us-west-2c
export DAY_EX_CFG="$HOME/.config/daylily/daylily_ephemeral_cluster.yaml"

daylily-ec preflight --region-az "$REGION_AZ" --profile "$AWS_PROFILE" --config "$DAY_EX_CFG"
daylily-ec create --region-az "$REGION_AZ" --profile "$AWS_PROFILE" --config "$DAY_EX_CFG"

Before create, make sure the reference bucket for the target region exists and your config file points at it. docs/quickest_start.md shows the supported daylily-omics-references workflow and the template-copy step.

After ./bin/init_dayec, you can use source ./activate from the repo root to activate DAY-EC when available and expose daylily-ec in the current shell.

CLI Surface

The current CLI surface is:

  • daylily-ec version
  • daylily-ec info
  • daylily-ec create --region-az <region-az> ...
  • daylily-ec preflight --region-az <region-az> ...
  • daylily-ec drift --state-file <path> ...
  • daylily-ec cluster-info --region <region> ...
  • daylily-ec resources-dir
  • daylily-ec pricing snapshot --region <region> --config config/day_cluster/prod_cluster.yaml

Run daylily-ec --help for the current command tree.

Documentation

Repository Highlights

Historical Material

Older long-form docs and retired notes live under docs/archive/. They are preserved for historical context and are not canonical for current operator workflows.

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

daylily_ephemeral_cluster-0.7.610.tar.gz (46.1 MB view details)

Uploaded Source

Built Distribution

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

daylily_ephemeral_cluster-0.7.610-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file daylily_ephemeral_cluster-0.7.610.tar.gz.

File metadata

File hashes

Hashes for daylily_ephemeral_cluster-0.7.610.tar.gz
Algorithm Hash digest
SHA256 76e523dd92c069538a20db4c7a70529e72c9be29afe1a922a7fe5c99718b6654
MD5 1564999ca47c0dd8c06245d85bac27f5
BLAKE2b-256 ebd85ed7bf94f57fae87f350ad5bd25adff1db3fc9934b42919d50f8b0b94f29

See more details on using hashes here.

File details

Details for the file daylily_ephemeral_cluster-0.7.610-py3-none-any.whl.

File metadata

File hashes

Hashes for daylily_ephemeral_cluster-0.7.610-py3-none-any.whl
Algorithm Hash digest
SHA256 53a2b51a77c1e1d2c3141e95f0d9c5a485422484dcd12d1ae70e7ece008fb505
MD5 fe60e8d9ba63fdb99331d5c078bb14a3
BLAKE2b-256 75fdd10f9ca9f225d5976aa1e5b3b29d3f8f4911233ab3705b027cdcc13a3ecf

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