Skip to content

Add s3 sync wait loop to LinuxInstance UserData #58

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

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions