kubernetes-retired/kube-aws

Kube-aws: Template format error: Unresolved resource dependencies [IAMRoleController]

akhilkochuveedu opened this issue · 3 comments

I'm using kube-aws v0.15.2 to setup a Kubernetes cluster in AWS. I have predefined IAM roles and instance profiles for controller, etcd and workers. I have another cluster that is using the same IAM roles and instance profiles which was created using kube-aws v0.9.x. With the newly generated cluster.yaml I generated certs and rendered stack. But while performing validate I'm getting the following error:

$ kube-aws validate
Validating UserData and stack template...
generating assets for control-plane, network, etcd, nodepoolA
Error: failed to validate control plane: invalid cloudformation stack template https://s3.amazonaws.com/.../mycluster/exported/stacks/control-plane/stack.json:
ValidationError: Template format error: Unresolved resource dependencies [IAMRoleController] in the Resources block of the template

In cluster.yaml, IAM block of controller would look like this:

 iam:
#    role:
#      name: "yourManagedRole"
#      # strictName: true
     manageExternally: true
#      managedPolicies:
#      - arn: "arn:aws:iam::aws:policy/AdministratorAccess"
#      - arn: "arn:aws:iam::YOURACCOUNTID:policy/YOURPOLICYNAME"
     instanceProfile:
       arn: "arn:aws:iam::xxxxxx:instance-profile/MyKubernetesIAMInstanceProfileController"

Addons like kube2iam, kiam etc are disabled.

Please let me know how to fix it.

Thanks in advance

I'm going to try and schedule this for v0.16.2, and target a fix for v0.15.3 as well.

@dominicgunn looks like the fix is not available in 0.16.2 or 0.15.3. Can I expect it in the next release? Also is there any workaround for this which I can use until the fix is available.