From ffbda0d37fede8df1977040ce39dcbe2f5b0c60d Mon Sep 17 00:00:00 2001 From: jonmoon76 <35009458+jonmoon76@users.noreply.github.com> Date: Wed, 13 Mar 2024 16:17:33 +0000 Subject: [PATCH] =?UTF-8?q?Add=20suppport=20for=20m6a,=20m7i,=20m6in,=20m5?= =?UTF-8?q?zn=20families;=20also=20correct=20hugepage=E2=80=A6=20(#19)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add suppport for m6a, m7i, m6in, m5zn families; also correct hugepage allocation for cloud router use cases on 2xlarge instances * Fix typ in m7 instance specification and also fix up UT test case * Fix up comment --------- Co-authored-by: Jon moon --- modules/aws/node-props/main.tf | 25 +++++++++++++++++++++++-- tests/ut/test_node.py | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/modules/aws/node-props/main.tf b/modules/aws/node-props/main.tf index 1b2423e..361bf02 100644 --- a/modules/aws/node-props/main.tf +++ b/modules/aws/node-props/main.tf @@ -3,12 +3,12 @@ locals { "cloud-router" = { "m5.2xlarge" = { cpuset = "2-3" - hugepages_gb = 4 + hugepages_gb = 6 } "m5n.2xlarge" = { cpuset = "2-3" - hugepages_gb = 4 + hugepages_gb = 6 } "m5.24xlarge" = { @@ -35,6 +35,27 @@ locals { "m5n.16xlarge", "m5n.24xlarge", ] + + m5zn = [ + "m5zn.12xlarge", + ] + + m6in = [ + # m6in.16xlarge is confirmed single NUMA (different from m5n family) + "m6in.24xlarge", + "m6in.32xlarge", + ] + + m6a = [ + # m6a.24xlarge" confirmed as single NUMA + "m6a.32xlarge", + "m6a.48xlarge", + ] + + m7i = [ + # m7i.24xlarge confirmed as single NUMA + "m7i.48xlarge", + ] } } diff --git a/tests/ut/test_node.py b/tests/ut/test_node.py index e3da9a5..a3d350c 100644 --- a/tests/ut/test_node.py +++ b/tests/ut/test_node.py @@ -243,7 +243,7 @@ def test_unknown_instance_type(ec2, tf: Terraform, base_vars: dict[str, Any]): unknown instance type. """ - vars = base_vars | {"instance_type": "m7i.48xlarge", "is_xrd_ami": True} + vars = base_vars | {"instance_type": "m1.small", "is_xrd_ami": True} with pytest.raises(subprocess.CalledProcessError) as excinfo: tf.apply(vars=vars) assert "Isolated cores was not provided" in str(excinfo.value)