-
Notifications
You must be signed in to change notification settings - Fork 86
Description
Describe what happened
I have an error where I get no AMI when creating a Cluster. I tried a bunch of things, setting providers, regions, trying AMI IDs, searching for them programmatically, etc.
As a demo, I settled on the following code, which first does a successful AMI lookup, then tries to create a cluster with the found AMI, but fails.
Sample program
# cat __main__.py
import pulumi
import pulumi_aws
import pulumi_eks
# This is a confirmed working CAPA/Ubuntu AMI ID in eu-central-1 (AMI owner is 719117168856)
AMI_ID = "ami-005aabb21a0a3e94c" # CAPA/Ubuntu AMI ID in eu-central-1
VPC_ID = "vpc-002c6028b32a470cc" # replace with you VPC ID
OWNER_ID = "719117168856"
REGION = "eu-central-1"
eu_provider = pulumi_aws.Provider(
"aws-eu-central-1-explicit",
region=REGION,
opts=pulumi.ResourceOptions(version="7.9.1")
)
ami_lookup = pulumi_aws.ec2.get_ami(
filters=[
pulumi_aws.ec2.GetAmiFilterArgs(name="image-id", values=[AMI_ID]),
],
owners=[OWNER_ID],
most_recent=True,
opts=pulumi.InvokeOptions(provider=eu_provider),
)
pulumi.Output.all(ami_lookup.id, ami_lookup.name).apply(lambda values:
pulumi.log.warn(f"[DEBUG SUCCESS] Explicit AMI Found: ID={values[0]}, Name={values[1]}")
)
eks_cluster = pulumi_eks.Cluster(
"repro-eks-cluster",
name="repro-test-cluster",
tags={"env": "repro-test"},
vpc_id=VPC_ID, # Pinning VPC ID to prevent auto-discovery error (getVpc)
node_group_options=pulumi_eks.ClusterNodeGroupOptionsArgs(
ami_id=ami_lookup.id,
instance_type="r6a.xlarge",
desired_capacity=1,
max_size=1,
node_associate_public_ip_address=True,
node_root_volume_size=320,
),
opts=pulumi.ResourceOptions(provider=eu_provider),
)
# --- Output the kubeconfig (Required for a complete Pulumi program) ---
pulumi.export("kubeconfig", eks_cluster.kubeconfig)
Log output
Verbose output here.
❯ pulumi up
Previewing update (dev):
Type Name Plan Info
+ pulumi:pulumi:Stack pulumi-eks-bug-repro-dev create 2 errors; 1 warning
+ ├─ pulumi:providers:aws aws-eu-central-1-explicit create
+ └─ eks:index:Cluster repro-eks-cluster create
+ ├─ eks:index:ServiceRole repro-eks-cluster-instanceRole create
+ │ ├─ aws:iam:Role repro-eks-cluster-instanceRole-role create
+ │ ├─ aws:iam:RolePolicyAttachment repro-eks-cluster-instanceRole-e1b295bd create
+ │ ├─ aws:iam:RolePolicyAttachment repro-eks-cluster-instanceRole-3eb088f2 create
+ │ └─ aws:iam:RolePolicyAttachment repro-eks-cluster-instanceRole-03516f97 create
+ ├─ aws:ec2:SecurityGroup repro-eks-cluster-eksClusterSecurityGroup create
+ ├─ eks:index:ServiceRole repro-eks-cluster-eksRole create
+ │ ├─ aws:iam:Role repro-eks-cluster-eksRole-role create
+ │ └─ aws:iam:RolePolicyAttachment repro-eks-cluster-eksRole-4b490823 create
+ ├─ aws:eks:Cluster repro-eks-cluster-eksCluster create
+ ├─ aws:iam:InstanceProfile repro-eks-cluster-instanceProfile create
+ ├─ aws:ec2:SecurityGroupRule repro-eks-cluster-eksClusterInternetEgressRule create
+ ├─ aws:eks:Addon repro-eks-cluster-coredns create
+ ├─ aws:eks:Addon repro-eks-cluster-kube-proxy create
+ ├─ aws:ec2:SecurityGroup repro-eks-cluster-nodeSecurityGroup create
+ └─ pulumi:providers:kubernetes repro-eks-cluster-eks-k8s create
Diagnostics:
pulumi:pulumi:Stack (pulumi-eks-bug-repro-dev):
warning: [DEBUG SUCCESS] Explicit AMI Found: ID=ami-005aabb21a0a3e94c, Name=capa-ami-ubuntu-24.04-v1.30.3-1721815825
error: eks:index:Cluster resource 'repro-eks-cluster' has a problem: invocation of aws:ec2/getAmi:getAmi returned an error: invoking aws:ec2/getAmi:getAmi: 1 error occurred:
* Your query returned no results. Please change your search criteria and try again.
error: Error: invocation of aws:ec2/getAmi:getAmi returned an error: invoking aws:ec2/getAmi:getAmi: 1 error occurred:
* Your query returned no results. Please change your search criteria and try again.
at Object.callback (/snapshot/eks/node_modules/@pulumi/pulumi/runtime/invoke.js:219:29)
at Object.onReceiveStatus (/snapshot/eks/node_modules/@grpc/grpc-js/src/client.ts:360:26)
at Object.onReceiveStatus (/snapshot/eks/node_modules/@grpc/grpc-js/src/client-interceptors.ts:458:34)
at Object.onReceiveStatus (/snapshot/eks/node_modules/@grpc/grpc-js/src/client-interceptors.ts:419:48)
at /snapshot/eks/node_modules/@grpc/grpc-js/src/resolving-call.ts:169:24
at processTicksAndRejections (node:internal/process/task_queues:78:11)
Resources:
+ 19 to create
Affected Resource(s)
No response
Output of pulumi about
CLI
Version 3.173.0
Go Version go1.24.3
Go Compiler gc
Plugins
KIND NAME VERSION
resource aws 7.12.0
resource eks 4.1.0
resource kubernetes 4.24.1
language python 3.173.0
Host
OS darwin
Version 15.6.1
Arch arm64
This project is written in python: executable='/Users/rokcarl/delo/triosys/temp/pulumi-eks-bug-repro/venv/bin/python' version='3.14.1'
Current Stack: organization/pulumi-eks-bug-repro/dev
Found no resources associated with dev
Found no pending operations associated with dev
Backend
Name MacBook-Pro-Rok.local
URL s3://triosys-pulumi
User rokcarl
Organizations
Token type personal
Dependencies:
NAME VERSION
pulumi_eks 4.1.0
setuptools 80.9.0
wheel 0.45.1
Pulumi locates its logs in /var/folders/d1/6kvp7gs14xbb9gch0n1r4p600000gn/T/ by default
Additional context
No response
Contributing
No response