pulumi-eks icon indicating copy to clipboard operation
pulumi-eks copied to clipboard

Custom timeouts are not propagated to child resources

Open clstokes opened this issue 4 years ago • 0 comments

Problem description

customTimeouts specified on the eks.Cluster resource are not propagated to the child resources of the cluster. This can cause timeout errors like below when updates take longer than the default resource timeout.

 * updating urn:pulumi:demo::demo-k8s-ts-nginx::awsx:x:ec2:Vpc$eks:index:Cluster::clstokes::dev: error waiting for EKS Cluster (dev) version update (e6988688-667a-4a90-a256-e0e596c7e563): timeout while waiting for state to become 'Cancelled, Failed, Successful' (last state: 'InProgress', timeout: 20m0s)

Suggestions for a fix

Propagate customTimeouts and other relevant ResourceOptions to child resources or provide better error message or guidance on how to set custom timeouts through the eks.Cluster parent resource.

Workaround

An interim workaround is to use transformations to add customTimeouts for the individual resources.

const cluster = new eks.Cluster(projectName, {
    // ...
}, {
    transformations: [(
        (args) => {
            if (args.type === "aws:eks/cluster:Cluster") {
                return {
                    props: args.props,
                    opts: pulumi.mergeOptions(args.opts, { customTimeouts: { update: "60m" } })
                }
            }
            return undefined;
        }
    )],
});

clstokes avatar May 20 '20 20:05 clstokes