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

Seems not able to create an empty aws eks managed node group in python

Open FrostyLeaf opened this issue 3 years ago • 1 comments

Hello!

  • Vote on this issue by adding a 👍 reaction
  • To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already)

Issue details

I am trying to create an empty aws eks managed node group with below configurations:

      instance_types:
      - t3.nano
      - t3.micro
      - t3.small
      - t3a.nano
      - t3a.micro
      - t3a.small
      - t2.nano
      - t2.micro
      - t2.small
      launch_template:
        image_id: xxx
        labels:
          type: small
      scaling_config:
        min_size: 0
        desired_size: 0
        max_size: 10

as the configurations tell, I don't expect any node to be created immediately. However, every time I actually get a new group with a desired_size of 2 and min_size of 1.

I've checked pulumi_eks docs, the default configurations of scaling_config is:

desiredSize: 2
minSize: 1
maxSize: 2

which are not mentioned in pulumi_aws docs BTW.

It seems like pulumi_eks underlying using falsy values rather than None to decide whether to use default scaling configurations or not, which leads to the failure of attempts to create any of empty managed node groups. I believe if I set the max_size field 0, I actually get a group with maxSize 2, right?

Steps to reproduce

  1. Env:
$ uname -a
Darwin <hostname> 21.2.0 Darwin Kernel Version 21.2.0: Sun Nov 28 20:28:54 PST 2021; root:xnu-8019.61.5~1/RELEASE_X86_64 x86_64
$ ./venv/bin/python3.9 --version
Python 3.9.7
$ ./venv/bin/python3.9 -m pip --version
pip 21.3.1 from /Users/<username>/path/to/venv/lib/python3.9/site-packages/pip (python 3.9)
$ ./venv/bin/python3.9 -m pip install -r requirements.txt 
Requirement already satisfied: pulumi<4.0.0,>=3.0.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 1)) (3.20.0)
Requirement already satisfied: pulumi-aws<5.0.0,>=4.0.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 2)) (4.31.0)
Requirement already satisfied: pulumi-eks~=0.36.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 3)) (0.36.0)
Requirement already satisfied: requests~=2.26.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 4)) (2.26.0)
Requirement already satisfied: pulumi_kubernetes~=3.11.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (3.11.0)
Requirement already satisfied: pyyaml~=6.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (6.0)
Requirement already satisfied: ujson~=4.3.0 in ./venv/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (4.3.0)
Requirement already satisfied: semver>=2.8.1 in ./venv/lib/python3.9/site-packages (from pulumi<4.0.0,>=3.0.0->-r requirements.txt (line 1)) (2.13.0)
Requirement already satisfied: protobuf>=3.6.0 in ./venv/lib/python3.9/site-packages (from pulumi<4.0.0,>=3.0.0->-r requirements.txt (line 1)) (3.19.1)
Requirement already satisfied: dill>=0.3.0 in ./venv/lib/python3.9/site-packages (from pulumi<4.0.0,>=3.0.0->-r requirements.txt (line 1)) (0.3.4)
Requirement already satisfied: grpcio>=1.33.2 in ./venv/lib/python3.9/site-packages (from pulumi<4.0.0,>=3.0.0->-r requirements.txt (line 1)) (1.42.0)
Requirement already satisfied: six>=1.12.0 in ./venv/lib/python3.9/site-packages (from pulumi<4.0.0,>=3.0.0->-r requirements.txt (line 1)) (1.16.0)
Requirement already satisfied: parver>=0.2.1 in ./venv/lib/python3.9/site-packages (from pulumi-aws<5.0.0,>=4.0.0->-r requirements.txt (line 2)) (0.3.1)
Requirement already satisfied: charset-normalizer~=2.0.0 in ./venv/lib/python3.9/site-packages (from requests~=2.26.0->-r requirements.txt (line 4)) (2.0.9)
Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.9/site-packages (from requests~=2.26.0->-r requirements.txt (line 4)) (3.3)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.9/site-packages (from requests~=2.26.0->-r requirements.txt (line 4)) (1.26.7)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.9/site-packages (from requests~=2.26.0->-r requirements.txt (line 4)) (2021.10.8)
Requirement already satisfied: attrs>=19.2 in ./venv/lib/python3.9/site-packages (from parver>=0.2.1->pulumi-aws<5.0.0,>=4.0.0->-r requirements.txt (line 2)) (21.2.0)
Requirement already satisfied: arpeggio~=1.7 in ./venv/lib/python3.9/site-packages (from parver>=0.2.1->pulumi-aws<5.0.0,>=4.0.0->-r requirements.txt (line 2)) (1.10.2)
  1. Just up a managed node group with below scaling config:
min_size: 0
desired_size: 0
max_size: 10
  1. check the new created eks managed node group

Expected:

An empty managed node group without any new node to be created if the scaling config fields min_size and desired_size are both 0.

Actual:

A managed node group with min_size 1 and desired_size 2 are created, which means 2 new nodes are created immediately.

FrostyLeaf avatar Dec 23 '21 04:12 FrostyLeaf

This appears to be an pulumi-eks issue, therefore I'm going to transfer the issue there for further triage.

justinvp avatar Sep 30 '23 10:09 justinvp