Skip to content

Add s3 sync wait loop to LinuxInstance UserData #58

@dsouvage

Description

@dsouvage

Summary

The LinuxInstance UserData runs aws s3 sync from the workshop bucket. While the instance has DependsOn: CopyWorkshopFiles, the CopyWorkshopFiles resource is a Qumulo-hosted Lambda (Custom::CopyFiles). If the Lambda returns success before files are fully available in S3, the sync could fail.

Affected Files & Lines

  • static/infrastructure/qumulo-workshop-deployment-cft.yaml
    • Lines 905-906: aws s3 sync commands
    • Line 956: DependsOn: CopyWorkshopFiles (exists but may not be sufficient)
    • Lines 1394-1401: CopyWorkshopFiles custom resource definition

Required Change

Add a defensive wait loop before the s3 sync:

until aws s3 ls s3://${WorkshopUtilityBucket}/terraform/ 2>/dev/null; do
  echo "Waiting for workshop files..."
  sleep 10
done
aws s3 sync s3://${WorkshopUtilityBucket}/terraform/ /home/ssm-user/qumulo-workshop/terraform/ --region ${AWS::Region}

AWS Documentation

Reviewer

Aaron Dailey (aaronda) — March 4, 2026

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions