74 lines
2.2 KiB
Python
74 lines
2.2 KiB
Python
|
import boto3
|
||
|
|
||
|
from moto import mock_ec2, mock_eks
|
||
|
from .test_eks_constants import NODEROLE_ARN_VALUE, SUBNET_IDS
|
||
|
|
||
|
|
||
|
@mock_eks
|
||
|
def test_passing_an_unknown_launchtemplate_is_supported():
|
||
|
eks = boto3.client("eks", "us-east-2")
|
||
|
eks.create_cluster(name="a", roleArn=NODEROLE_ARN_VALUE, resourcesVpcConfig={})
|
||
|
group = eks.create_nodegroup(
|
||
|
clusterName="a",
|
||
|
nodegroupName="b",
|
||
|
launchTemplate={"name": "random"},
|
||
|
nodeRole=NODEROLE_ARN_VALUE,
|
||
|
subnets=SUBNET_IDS,
|
||
|
)["nodegroup"]
|
||
|
|
||
|
group["launchTemplate"].should.equal({"name": "random"})
|
||
|
|
||
|
|
||
|
@mock_ec2
|
||
|
@mock_eks
|
||
|
def test_passing_a_known_launchtemplate_by_name():
|
||
|
ec2 = boto3.client("ec2", region_name="us-east-2")
|
||
|
eks = boto3.client("eks", "us-east-2")
|
||
|
|
||
|
lt_id = ec2.create_launch_template(
|
||
|
LaunchTemplateName="ltn",
|
||
|
LaunchTemplateData={
|
||
|
"TagSpecifications": [
|
||
|
{"ResourceType": "instance", "Tags": [{"Key": "t", "Value": "v"}]}
|
||
|
]
|
||
|
},
|
||
|
)["LaunchTemplate"]["LaunchTemplateId"]
|
||
|
|
||
|
eks.create_cluster(name="a", roleArn=NODEROLE_ARN_VALUE, resourcesVpcConfig={})
|
||
|
group = eks.create_nodegroup(
|
||
|
clusterName="a",
|
||
|
nodegroupName="b",
|
||
|
launchTemplate={"name": "ltn"},
|
||
|
nodeRole=NODEROLE_ARN_VALUE,
|
||
|
subnets=SUBNET_IDS,
|
||
|
)["nodegroup"]
|
||
|
|
||
|
group["launchTemplate"].should.equal({"name": "ltn", "id": lt_id})
|
||
|
|
||
|
|
||
|
@mock_ec2
|
||
|
@mock_eks
|
||
|
def test_passing_a_known_launchtemplate_by_id():
|
||
|
ec2 = boto3.client("ec2", region_name="us-east-2")
|
||
|
eks = boto3.client("eks", "us-east-2")
|
||
|
|
||
|
lt_id = ec2.create_launch_template(
|
||
|
LaunchTemplateName="ltn",
|
||
|
LaunchTemplateData={
|
||
|
"TagSpecifications": [
|
||
|
{"ResourceType": "instance", "Tags": [{"Key": "t", "Value": "v"}]}
|
||
|
]
|
||
|
},
|
||
|
)["LaunchTemplate"]["LaunchTemplateId"]
|
||
|
|
||
|
eks.create_cluster(name="a", roleArn=NODEROLE_ARN_VALUE, resourcesVpcConfig={})
|
||
|
group = eks.create_nodegroup(
|
||
|
clusterName="a",
|
||
|
nodegroupName="b",
|
||
|
launchTemplate={"id": lt_id},
|
||
|
nodeRole=NODEROLE_ARN_VALUE,
|
||
|
subnets=SUBNET_IDS,
|
||
|
)["nodegroup"]
|
||
|
|
||
|
group["launchTemplate"].should.equal({"name": "ltn", "id": lt_id})
|