Skip to content

CodeBuildWaitCondition will fail opaquely if run outside of us-east-1 #45

@bmorrissirromb

Description

@bmorrissirromb

Related to #41, the CodeBuildWaitCondition will fail if the parent stack is run outside of us-east-1. The error message looks something like:
WaitCondition timed out. Received 0 conditions when expecting 1.

This is because of an underlying BucketRegionError. There’s a default bucket listed in the CloudFormation template called aws-hcls-ml which is listed as the code source for CodeBuild. The bucket is provisioned in Virginia, which the CodeBuild deployment in Oregon cannot access. This is what’s causing the wait timeout.

Unfortunately, there isn't a great quick-fix here. Per AWS documentation, "If the buildspec file is in an S3 bucket, it must be in the same AWS Region as your build project."

So we can't specify a CloudFormation parameter to point to a specific region.

I think there's two options here:

  1. Create a bucket in every region as part of hosting this solution. Replicate the files from a central bucket to those regional buckets. Allow users to point to the bucket for their region.
  2. Create documentation that clearly states this solution is only usable in us-east-1.

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