DayEC is the operator control plane for short-lived AWS ParallelCluster environments that run Daylily analysis workloads on FSx for Lustre. The current data plane is DRA-first: the cluster starts with reference data mounted at /fsx/references, run folders are attached only when needed under /fsx/run_dir_mounts/<mount_id>, workflow outputs stay under /fsx/analysis_results/<executing_entity>/<analysis_id>, and completed analysis directories are exported through a temporary direct DRA to a chosen S3 analysis bucket.
The cluster is ephemeral. S3 buckets are durable. Verify the export receipt before deleting the cluster.
Use the checkout environment and the CLI, not historical helper-script paths:
source ./activatedyec preflightdyec createdyec headnode connectdyec samples stagefor sample-manifest inputs, ordyec mounts createfor run-folder inputsdyec workflow launchdyec export --source-path /fsx/analysis_results/<executing_entity>/<analysis_id> --destination-s3-uri s3://bucket/prefix/<executing_entity>/<analysis_id>/- inspect
fsx_export.yaml dyec delete --dry-rundyec delete
daylily-ec and dyec are the same entrypoint. The shorter dyec form is used in examples.
source ./activate
export AWS_PROFILE=daylily-service-lsmc
export REGION=us-west-2
export REGION_AZ=us-west-2d
export CLUSTER_NAME=day-demo-$(date +%Y%m%d%H%M%S)
export DAY_EX_CFG="$HOME/.config/daylily/daylily_ephemeral_cluster.yaml"
export REF_S3_URI=s3://lsmc-dayoa-references-usw2
export CONTROL_DATA_S3_URI=s3://lsmc-dayoa-control-data-usw2
export STAGE_S3_URI=s3://lsmc-ssf-sequencing-data/staged_external_data
export ANALYSIS_BUCKET=s3://lsmc-dayoa-analysis-results-us-west-2
export EXECUTING_ENTITY="${USER:-ubuntu}"
export ANALYSIS_ID=dayoa
export ANALYSIS_SAMPLES=etc/analysis_samples_template.tsv
export STAGE_CFG_DIR="$PWD/tmp-stage-config/$CLUSTER_NAME"
export EXPORT_DIR="$PWD/tmp-export/$ANALYSIS_ID"
export EXPORT_S3_URI="$ANALYSIS_BUCKET/analysis_results/$EXECUTING_ENTITY/$ANALYSIS_ID/"
dyec preflight \
--profile "$AWS_PROFILE" \
--region-az "$REGION_AZ" \
--config "$DAY_EX_CFG"
dyec create \
--profile "$AWS_PROFILE" \
--region-az "$REGION_AZ" \
--config "$DAY_EX_CFG"
dyec headnode connect \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME"
dyec samples stage "$ANALYSIS_SAMPLES" \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--reference-s3-uri "$REF_S3_URI" \
--control-data-s3-uri "$CONTROL_DATA_S3_URI" \
--stage-s3-uri "$STAGE_S3_URI" \
--config-dir "$STAGE_CFG_DIR"
dyec workflow launch \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME" \
--stage-dir "/fsx/staging/staged_external_sequencing_data/remote_stage_<timestamp>" \
--analysis-id "$ANALYSIS_ID" \
--executing-entity "$EXECUTING_ENTITY" \
--git-tag 2.0.5 \
--export-destination-s3-uri "$EXPORT_S3_URI" \
--export-trigger on-success
# For run-folder work, attach only the S3 prefix you need.
dyec --json mounts create "s3://sequencer-run-bucket/runs/RUN123/" \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME" \
--platform ILMN \
--read-only \
--wait
dyec --json mounts verify \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME" \
--mount-id RUN123
dyec workflow launch \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME" \
--run-context-file ./runs.tsv \
--analysis-id "<run-analysis-id>" \
--executing-entity "$EXECUTING_ENTITY" \
--git-tag 2.0.5 \
--dy-command "bin/day_run produce_illumina_run_qc --config run_context_file=config/runs.tsv -p -j 5 -k"
dyec export \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME" \
--source-path "/fsx/analysis_results/$EXECUTING_ENTITY/$ANALYSIS_ID" \
--destination-s3-uri "$EXPORT_S3_URI" \
--output-dir "$EXPORT_DIR"
cat "$EXPORT_DIR/fsx_export.yaml"
dyec delete --dry-run \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME"
dyec delete \
--profile "$AWS_PROFILE" \
--region "$REGION" \
--cluster "$CLUSTER_NAME"flowchart LR
Ref["S3 reference bucket /data/"] -->|reference-data DRA| Data["/fsx/references"]
Run["S3 run prefix"] -->|ephemeral run DRA| Mount["/fsx/run_dir_mounts/<mount_id>"]
Data --> Workflow["DayOA workflow"]
Mount --> Workflow
Workflow --> Results["/fsx/analysis_results/..."]
Results --> Export["temporary direct export DRA on /analysis_results/<executing_entity>/<analysis_id>/"]
Export -->|EXPORT_TO_REPOSITORY| Analysis["S3 analysis bucket prefix /<executing_entity>/<analysis_id>/"]
Key rules:
/fsx/referencesis the reference-data DRA created with the cluster./fsx/run_dir_mounts/<mount_id>is for read-oriented run inputs and is not an export source./fsx/analysis_results/...is where workflow checkouts and outputs live.dyec exportcreates a temporary DRA on the exact completed analysis directory, runsEXPORT_TO_REPOSITORY, and detaches it withDeleteDataInFileSystem=false.fsx_export.yamlis the v3 export receipt to keep before teardown.
config/daylily_available_repositories.yaml is the source of truth for repositories and blessed launch profiles. The packaged copy under daylily_ec/resources/payload/config/ must match it.
The current DayOA pin is 2.0.5 for the repository default and every DayOA command. Catalog v2 separates:
sample_analysis: usesanalysis_samples.tsv, stages inputs, and writessamples.tsv/units.tsv.run_analysis: usesruns.tsv, requires a run DRA, and launches run-folder workflows such as Illumina run QC and BCL Convert.
source ./activate: creates or repairs theDAY-ECenvironment and installs the checkout editabledyec/daylily-ec: preflight, create, headnode, sample, workflow, mount, export, delete, state, repository, pricing, and AWS validation commands- DRA-backed ParallelCluster templates under
config/day_cluster/ - packaged resources under
daylily_ec/resources/payload/ day-clonefor headnode repository checkouts- tests that guard the catalog, packaged resources, SSM behavior, DRA mounts, export receipts, and environment contract
- docs/dra_fsx_strategy.md: current DRA-enabled FSx strategy and diagrams
- docs/ultra_rapid_start.md: shortest current run path
- docs/quickest_start.md: guided walkthrough with checks
- docs/operations.md: day-2 operations
- docs/cli_reference.md: command reference
- docs/aws_setup.md: AWS prerequisites
- docs/monitoring_and_troubleshooting.md: failure triage
- docs/testing_and_debugging.md: local and AWS-backed validation
- docs/DAY_EC_ENVIRONMENT.md: environment contract
- docs/pip_install.md: pip install path
- docs/archive/README.md: historical material only