Skip to content

Commit 7f82fd5

Browse files
chore(eks): add isGpuInstanceType tests
1 parent cf48414 commit 7f82fd5

File tree

3 files changed

+39
-5
lines changed

3 files changed

+39
-5
lines changed

packages/aws-cdk-lib/aws-ec2/lib/instance-types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1599,7 +1599,6 @@ export class InstanceType {
15991599
[InstanceClass.GRAPHICS5_GRAVITON2]: 'g5g',
16001600
[InstanceClass.G5G]: 'g5g',
16011601
[InstanceClass.GRAPHICS6]: 'g6',
1602-
[InstanceClass.G6E]: 'g6e',
16031602
[InstanceClass.G6]: 'g6',
16041603
[InstanceClass.GRAPHICS6_EFFICIENT]: 'g6e',
16051604
[InstanceClass.G6E]: 'g6e',

packages/aws-cdk-lib/aws-eks/lib/managed-nodegroup.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -602,7 +602,7 @@ const gpuAmiTypes: NodegroupAmiType[] = [
602602
* This function check if the instanceType is GPU instance.
603603
* @param instanceType The EC2 instance type
604604
*/
605-
function isGpuInstanceType(instanceType: InstanceType): boolean {
605+
export function isGpuInstanceType(instanceType: InstanceType): boolean {
606606
//compare instanceType to known GPU InstanceTypes
607607
const knownGpuInstanceTypes = [InstanceClass.P2, InstanceClass.P3, InstanceClass.P3DN, InstanceClass.P4DE, InstanceClass.P4D,
608608
InstanceClass.G3S, InstanceClass.G3, InstanceClass.G4DN, InstanceClass.G4AD, InstanceClass.G5, InstanceClass.G5G, InstanceClass.G6,

packages/aws-cdk-lib/aws-eks/test/nodegroup.test.ts

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import * as iam from '../../aws-iam';
66
import * as cdk from '../../core';
77
import * as cxapi from '../../cx-api';
88
import * as eks from '../lib';
9-
import { NodegroupAmiType, TaintEffect } from '../lib';
9+
import { isGpuInstanceType, NodegroupAmiType, TaintEffect } from '../lib';
1010

1111
/* eslint-disable max-len */
1212

@@ -617,8 +617,8 @@ describe('node group', () => {
617617
new eks.Nodegroup(stack, 'Nodegroup', {
618618
cluster,
619619
instanceTypes: [
620-
new ec2.InstanceType('p3.large'),
621-
new ec2.InstanceType('g3.large'),
620+
new ec2.InstanceType('g6e.large'),
621+
new ec2.InstanceType('g5.large'),
622622
],
623623
});
624624

@@ -1735,3 +1735,38 @@ describe('node group', () => {
17351735
expect(() => cluster.addNodegroupCapacity('ng', { maxUnavailablePercentage: 101 })).toThrow(/maxUnavailablePercentage must be between 1 and 100/);
17361736
});
17371737
});
1738+
1739+
describe('isGpuInstanceType', () => {
1740+
it('should return true for known GPU instance types', () => {
1741+
const gpuInstanceTypes = [
1742+
ec2.InstanceType.of(ec2.InstanceClass.P2, ec2.InstanceSize.XLARGE),
1743+
ec2.InstanceType.of(ec2.InstanceClass.G3, ec2.InstanceSize.XLARGE),
1744+
ec2.InstanceType.of(ec2.InstanceClass.P4D, ec2.InstanceSize.LARGE),
1745+
ec2.InstanceType.of(ec2.InstanceClass.G6, ec2.InstanceSize.MEDIUM),
1746+
ec2.InstanceType.of(ec2.InstanceClass.G6E, ec2.InstanceSize.XLARGE2),
1747+
];
1748+
gpuInstanceTypes.forEach(instanceType => {
1749+
expect(isGpuInstanceType(instanceType)).toBe(true);
1750+
});
1751+
});
1752+
it('should return false for non-GPU instance types', () => {
1753+
const nonGpuInstanceTypes = [
1754+
ec2.InstanceType.of(ec2.InstanceClass.T3, ec2.InstanceSize.MICRO),
1755+
ec2.InstanceType.of(ec2.InstanceClass.M5, ec2.InstanceSize.LARGE),
1756+
ec2.InstanceType.of(ec2.InstanceClass.C5, ec2.InstanceSize.XLARGE),
1757+
];
1758+
nonGpuInstanceTypes.forEach(instanceType => {
1759+
expect(isGpuInstanceType(instanceType)).toBe(false);
1760+
});
1761+
});
1762+
it('should return true for different sizes of GPU instance types', () => {
1763+
const gpuInstanceTypes = [
1764+
ec2.InstanceType.of(ec2.InstanceClass.G6, ec2.InstanceSize.XLARGE),
1765+
ec2.InstanceType.of(ec2.InstanceClass.G6, ec2.InstanceSize.XLARGE16),
1766+
ec2.InstanceType.of(ec2.InstanceClass.G6, ec2.InstanceSize.XLARGE48),
1767+
];
1768+
gpuInstanceTypes.forEach(instanceType => {
1769+
expect(isGpuInstanceType(instanceType)).toBe(true);
1770+
});
1771+
});
1772+
});

0 commit comments

Comments
 (0)