pulumi-eks
pulumi-eks copied to clipboard
Custom timeouts are not propagated to child resources
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;
}
)],
});