Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to find AMI for AWSMachine following the documentation quick start #4984

Open
jfcavalcante opened this issue May 18, 2024 · 8 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@jfcavalcante
Copy link

/kind bug

What steps did you take and what happened:
[A clear and concise description of what the bug is.]

After following the ClusterAPI Provider AWS Quick Start, and creating a cluster with the kubernetes version v1.29.2, as described in the documentation, I've faced the following error:

E0518 20:43:26.820802       1 awsmachine_controller.go:520] "unable to create instance" err="failed to create AWSMachine instance: failed to find ami: found no AMIs with the name: \"capa-ami-ubuntu-18.04-?1.29.2-*\""
E0518 20:43:26.839548       1 controller.go:329] "Reconciler error" err="failed to create AWSMachine instance: failed to find ami: found no AMIs with the name: \"capa-ami-ubuntu-18.04-?1.29.2-*\"" controller="awsmachine" controllerGroup="infrastructure.cluster.x-k8s.io" controllerKind="AWSMachine" AWSMachine="default/capi-quickstart-control-plane-ghxb2" namespace="default" name="capi-quickstart-control-plane-ghxb2" reconcileID="0e55d5cb-e196-4aad-8abc-3877a24209a7"

The image name string isn't being parsed correctly, and resulting in an error during reconcile.

What did you expect to happen:

The cluster to be completelly provisioned following the commands of the documentation.

Environment:

  • Cluster-api-provider-aws version: v2.5.0
  • Kubernetes version: (use kubectl version): v1.29.2
  • OS (e.g. from /etc/os-release): ubuntu v22.04.4
@k8s-ci-robot k8s-ci-robot added kind/bug Categorizes issue or PR as related to a bug. needs-priority labels May 18, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If CAPA/CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label May 18, 2024
@jfcavalcante
Copy link
Author

Also tried with kubernetes in v1.27.6, same error occurs.

E0518 21:11:44.458942       1 awsmachine_controller.go:520] "unable to create instance" err="failed to create AWSMachine instance: failed to find ami: found no AMIs with the name: \"capa-ami-ubuntu-18.04-?1.27.6-*\""

@jfcavalcante
Copy link
Author

Adding the AMI ID to both AWSMachineTemplate spec solved it for me:

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
metadata:
  name: capi-quickstart-md-0
  namespace: default
spec:
  template:
    spec:
      ami:
        id: ami-0e0ff5dacd34970c0
      iamInstanceProfile: nodes.cluster-api-provider-aws.sigs.k8s.io
      instanceType: t3.large
      sshKeyName: default

@athiruma
Copy link
Contributor

Query clusterawsadm ami list to find the available AMI versions. If you do not find the supported Kubernetes version AMI, use the latest available AMI equivalent to the latest Kubernetes version.

I encountered the same error, and the above trace resolved it for me.

@driv
Copy link

driv commented Sep 13, 2024

Why is it looking for capa-ami-ubuntu-18.04 where is that specified?

The quickstart guide is not working right now.

@jonatasbaldin
Copy link

Following the quick start as of today, I get the following error:

E1009 20:05:54.805162       1 controller.go:329] "Reconciler error" err="failed to create AWSMachine instance: failed to find ami: found no AMIs with the name: \"capa-ami-ubuntu-18.04-?1.31.0-*\"" controller="awsmachine" controllerGroup="infrastructure.cluster.x-k8s.io" controllerKind="AWSMachine" AWSMachine="default/k8s-test-control-plane-xccfg" namespace="default" name="k8s-test-control-plane-xccfg" reconcileID="3e8ab730-5991-4849-bd85-36a61724864b"

Trying to list the available AMIs, I get this error:

$ clusterawsadm ami list
No AMIs found

@andresanaya21
Copy link

I have the same issue as @jonatasbaldin, and now it is impossible to deploy new clusters with capi-cluster. It seems the AWS AMIs are no longer available.

The workaround that @jfcavalcante mentioned above did not work for me. There is an option to set up the ami.id, but this ami.id needs to be customized with multiple dependencies that are not documented (at least I did not find them).

@driv
Copy link

driv commented Oct 15, 2024

I don't remember exactly, but I think I only had to change the imageLookupBaseOS to be able to proceed.

apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
kind: AWSMachineTemplate
metadata:
  name: capi-quickstart-control-plane-small
  namespace: default
spec:
  template:
    spec:
      iamInstanceProfile: control-plane.cluster-api-provider-aws.sigs.k8s.io
      instanceType: t3.small
      sshKeyName: default
      imageLookupBaseOS: ubuntu-20.04

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

6 participants