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
Summary
The LinuxInstance UserData runs
aws s3 syncfrom the workshop bucket. While the instance hasDependsOn: CopyWorkshopFiles, theCopyWorkshopFilesresource 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.yamlaws s3 synccommandsDependsOn: CopyWorkshopFiles(exists but may not be sufficient)CopyWorkshopFilescustom resource definitionRequired Change
Add a defensive wait loop before the s3 sync:
AWS Documentation
Reviewer
Aaron Dailey (aaronda) — March 4, 2026