Skip to content

Commit 84cce6a

Browse files
authored
fix(deadline): rename WorkerFleet to WorkerInstanceFleet (#12)
BREAKING CHANGE: Deadline WorkerFleet has been renamed to WorkerInstanceFleet
1 parent b65edd6 commit 84cce6a

File tree

3 files changed

+42
-42
lines changed

3 files changed

+42
-42
lines changed

packages/aws-rfdk/lib/deadline/lib/worker-fleet.ts

+14-14
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ export interface IWorkerFleet extends IResource, IConnectable, IGrantable {
6262
/**
6363
* Properties for the Deadline Worker Fleet.
6464
*/
65-
export interface WorkerFleetProps {
65+
export interface WorkerInstanceFleetProps {
6666
/**
6767
* VPC to launch the worker fleet in.
6868
*/
@@ -170,7 +170,7 @@ export interface WorkerFleetProps {
170170

171171
/**
172172
* Properties for setting up the Deadline Worker's LogGroup
173-
* @default - LogGroup will be created with all properties' default values and a prefix of "deadline".
173+
* @default - LogGroup will be created with all properties' default values and a prefix of "/renderfarm/".
174174
*/
175175
readonly logGroupProps?: LogGroupFactoryProps;
176176

@@ -207,7 +207,7 @@ export interface WorkerFleetProps {
207207
/**
208208
* A new or imported Deadline Worker Fleet.
209209
*/
210-
abstract class WorkerFleetBase extends Construct implements IWorkerFleet, IMonitorableFleet {
210+
abstract class WorkerInstanceFleetBase extends Construct implements IWorkerFleet, IMonitorableFleet {
211211

212212
/**
213213
* The security groups/rules used to allow network connections to the file system.
@@ -287,7 +287,7 @@ abstract class WorkerFleetBase extends Construct implements IWorkerFleet, IMonit
287287
* The Following Security Group changes are made by this construct:
288288
* - TCP access to the Render Queue's Load Balancer
289289
*/
290-
export class WorkerFleet extends WorkerFleetBase {
290+
export class WorkerInstanceFleet extends WorkerInstanceFleetBase {
291291

292292
/**
293293
* The min limit for spot price.
@@ -309,7 +309,7 @@ export class WorkerFleet extends WorkerFleetBase {
309309
/**
310310
* Default prefix for a LogGroup if one isn't provided in the props.
311311
*/
312-
private static readonly DEFAULT_LOG_GROUP_PREFIX: string = 'deadline';
312+
private static readonly DEFAULT_LOG_GROUP_PREFIX: string = '/renderfarm/';
313313

314314
/**
315315
* Setting the default signal timeout to 15 min. This is the max time, a single instance is expected
@@ -373,7 +373,7 @@ export class WorkerFleet extends WorkerFleetBase {
373373
*/
374374
public readonly targetScope: Construct;
375375

376-
constructor(scope: Construct, id: string, props: WorkerFleetProps) {
376+
constructor(scope: Construct, id: string, props: WorkerInstanceFleetProps) {
377377
super(scope, id);
378378
this.stack = Stack.of(scope);
379379

@@ -391,9 +391,9 @@ export class WorkerFleet extends WorkerFleetBase {
391391
minCapacity: props.minCapacity,
392392
maxCapacity: props.maxCapacity,
393393
desiredCapacity: props.desiredCapacity,
394-
resourceSignalTimeout: WorkerFleet.RESOURCE_SIGNAL_TIMEOUT,
394+
resourceSignalTimeout: WorkerInstanceFleet.RESOURCE_SIGNAL_TIMEOUT,
395395
healthCheck: HealthCheck.elb({
396-
grace: WorkerFleet.DEFAULT_HEALTH_CHECK_INTERVAL,
396+
grace: WorkerInstanceFleet.DEFAULT_HEALTH_CHECK_INTERVAL,
397397
}),
398398
role: props.role,
399399
spotPrice: props.spotPrice?.toString(),
@@ -467,7 +467,7 @@ export class WorkerFleet extends WorkerFleetBase {
467467
}
468468

469469
private configureCloudWatchLogStream(fleetInstance: AutoScalingGroup, id: string, logGroupProps?: LogGroupFactoryProps) {
470-
const prefix = logGroupProps?.logGroupPrefix ? logGroupProps.logGroupPrefix : WorkerFleet.DEFAULT_LOG_GROUP_PREFIX;
470+
const prefix = logGroupProps?.logGroupPrefix ? logGroupProps.logGroupPrefix : WorkerInstanceFleet.DEFAULT_LOG_GROUP_PREFIX;
471471
const defaultedLogGroupProps = {
472472
...logGroupProps,
473473
logGroupPrefix: prefix,
@@ -503,7 +503,7 @@ export class WorkerFleet extends WorkerFleetBase {
503503
});
504504
}
505505

506-
private configureWorkerScript(fleetInstance: AutoScalingGroup, props: WorkerFleetProps, healthCheckPort: number) {
506+
private configureWorkerScript(fleetInstance: AutoScalingGroup, props: WorkerInstanceFleetProps, healthCheckPort: number) {
507507
const configureWorkerScriptAsset = ScriptAsset.fromPathConvention(this, 'WorkerConfigurationScript', {
508508
osType: fleetInstance.osType,
509509
baseName: 'configureWorker',
@@ -529,16 +529,16 @@ export class WorkerFleet extends WorkerFleetBase {
529529
});
530530
}
531531

532-
private validateProps(props: WorkerFleetProps) {
532+
private validateProps(props: WorkerInstanceFleetProps) {
533533
this.validateSpotPrice(props.spotPrice);
534534
this.validateArrayGroupsPoolsSyntax(props.groups, /^(?!none$)[a-zA-Z0-9-_]+$/i, 'groups');
535535
this.validateArrayGroupsPoolsSyntax(props.pools, /^(?!none$)[a-zA-Z0-9-_]+$/i, 'pools');
536536
this.validateRegion(props.region, /^(?!none$|all$|unrecognized$)[a-zA-Z0-9-_]+$/i);
537537
}
538538

539539
private validateSpotPrice(spotPrice: number | undefined) {
540-
if (spotPrice && !(spotPrice >= WorkerFleet.SPOT_PRICE_MIN_LIMIT && spotPrice <= WorkerFleet.SPOT_PRICE_MAX_LIMIT)) {
541-
throw new Error(`Invalid value: ${spotPrice} for property 'spotPrice'. Valid values can be any decimal between ${WorkerFleet.SPOT_PRICE_MIN_LIMIT} and ${WorkerFleet.SPOT_PRICE_MAX_LIMIT}.`);
540+
if (spotPrice && !(spotPrice >= WorkerInstanceFleet.SPOT_PRICE_MIN_LIMIT && spotPrice <= WorkerInstanceFleet.SPOT_PRICE_MAX_LIMIT)) {
541+
throw new Error(`Invalid value: ${spotPrice} for property 'spotPrice'. Valid values can be any decimal between ${WorkerInstanceFleet.SPOT_PRICE_MIN_LIMIT} and ${WorkerInstanceFleet.SPOT_PRICE_MAX_LIMIT}.`);
542542
}
543543
}
544544

@@ -558,7 +558,7 @@ export class WorkerFleet extends WorkerFleetBase {
558558
}
559559
}
560560

561-
private configureHealthMonitor(props: WorkerFleetProps, healthCheckPort: number) {
561+
private configureHealthMonitor(props: WorkerInstanceFleetProps, healthCheckPort: number) {
562562
if (props.healthMonitor) {
563563
props.healthMonitor.registerFleet(this, props.healthCheckConfig || {
564564
port: healthCheckPort,

packages/aws-rfdk/lib/deadline/test/ubl-licensing.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ import {
4242
UBLLicensing,
4343
UBLLicensingImages,
4444
VersionQuery,
45-
WorkerFleet,
45+
WorkerInstanceFleet,
4646
} from '../lib';
4747

4848
let stack: Stack;
@@ -98,7 +98,7 @@ beforeEach(() => {
9898
licenseForwarder: ContainerImage.fromDockerImageAsset(dockerContainer),
9999
};
100100

101-
workerFleet = new WorkerFleet(stack, 'workerFleet', {
101+
workerFleet = new WorkerInstanceFleet(stack, 'workerFleet', {
102102
vpc,
103103
workerMachineImage: new GenericWindowsImage({
104104
'us-east-1': 'ami-any',

packages/aws-rfdk/lib/deadline/test/worker-fleet.test.ts

+26-26
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ import {
2626
RenderQueue,
2727
Repository,
2828
VersionQuery,
29-
WorkerFleet,
29+
WorkerInstanceFleet,
3030
} from '../lib';
3131
import {
3232
CONFIG_WORKER_ASSET_LINUX,
@@ -74,7 +74,7 @@ beforeEach(() => {
7474

7575
test('default worker fleet is created correctly', () => {
7676
// WHEN
77-
const fleet = new WorkerFleet(wfstack, 'workerFleet', {
77+
const fleet = new WorkerInstanceFleet(wfstack, 'workerFleet', {
7878
vpc,
7979
workerMachineImage: new GenericWindowsImage({
8080
'us-east-1': 'ami-any',
@@ -103,15 +103,15 @@ test('default worker fleet is created correctly', () => {
103103
}));
104104
expectCDK(wfstack).to(haveResource('Custom::LogRetention', {
105105
RetentionInDays: 3,
106-
LogGroupName: 'deadlineworkerFleet',
106+
LogGroupName: '/renderfarm/workerFleet',
107107
}));
108108
expect(fleet.node.metadata[0].type).toMatch(ArtifactMetadataEntryType.WARN);
109109
expect(fleet.node.metadata[0].data).toContain('being created without a health monitor attached to it. This means that the fleet will not automatically scale-in to 0 if the workers are unhealthy');
110110
});
111111

112112
test('security group is added to fleet after its creation', () => {
113113
// WHEN
114-
const fleet = new WorkerFleet(stack, 'workerFleet', {
114+
const fleet = new WorkerInstanceFleet(stack, 'workerFleet', {
115115
vpc,
116116
workerMachineImage: new GenericWindowsImage({
117117
'us-east-1': 'ami-any',
@@ -139,7 +139,7 @@ test('security group is added to fleet after its creation', () => {
139139

140140
test('default worker fleet is created correctly with linux image', () => {
141141
// WHEN
142-
new WorkerFleet(stack, 'workerFleet', {
142+
new WorkerInstanceFleet(stack, 'workerFleet', {
143143
vpc,
144144
workerMachineImage: new GenericLinuxImage({
145145
'us-east-1': '123',
@@ -154,7 +154,7 @@ test('default worker fleet is created correctly with linux image', () => {
154154

155155
test('default worker fleet is created correctly with spot config', () => {
156156
// WHEN
157-
new WorkerFleet(wfstack, 'workerFleet', {
157+
new WorkerInstanceFleet(wfstack, 'workerFleet', {
158158
vpc,
159159
workerMachineImage: new GenericLinuxImage({
160160
'us-east-1': '123',
@@ -173,32 +173,32 @@ test('default worker fleet is created correctly with spot config', () => {
173173
test('default worker fleet is not created with incorrect spot config', () => {
174174
// WHEN
175175
expect(() => {
176-
new WorkerFleet(wfstack, 'workerFleet', {
176+
new WorkerInstanceFleet(wfstack, 'workerFleet', {
177177
vpc,
178178
workerMachineImage: new GenericLinuxImage({
179179
'us-east-1': '123',
180180
}),
181181
renderQueue,
182-
spotPrice: WorkerFleet.SPOT_PRICE_MAX_LIMIT + 1,
182+
spotPrice: WorkerInstanceFleet.SPOT_PRICE_MAX_LIMIT + 1,
183183
});
184184
}).toThrowError(/Invalid value: 256 for property 'spotPrice'. Valid values can be any decimal between 0.001 and 255./);
185185

186186
// WHEN
187187
expect(() => {
188-
new WorkerFleet(wfstack, 'workerFleet2', {
188+
new WorkerInstanceFleet(wfstack, 'workerFleet2', {
189189
vpc,
190190
workerMachineImage: new GenericLinuxImage({
191191
'us-east-1': '123',
192192
}),
193193
renderQueue,
194-
spotPrice: WorkerFleet.SPOT_PRICE_MIN_LIMIT / 2,
194+
spotPrice: WorkerInstanceFleet.SPOT_PRICE_MIN_LIMIT / 2,
195195
});
196196
}).toThrowError(/Invalid value: 0.0005 for property 'spotPrice'. Valid values can be any decimal between 0.001 and 255./);
197197
});
198198

199199
test('default worker fleet is created correctly custom Instance type', () => {
200200
// WHEN
201-
new WorkerFleet(stack, 'workerFleet', {
201+
new WorkerInstanceFleet(stack, 'workerFleet', {
202202
vpc,
203203
workerMachineImage: new GenericLinuxImage({
204204
'us-east-1': '123',
@@ -215,7 +215,7 @@ test('default worker fleet is created correctly custom Instance type', () => {
215215

216216
test('default worker fleet is created correctly with custom LogGroup prefix', () => {
217217
// WHEN
218-
new WorkerFleet(stack, 'workerFleet', {
218+
new WorkerInstanceFleet(stack, 'workerFleet', {
219219
vpc,
220220
workerMachineImage: new GenericLinuxImage({
221221
'us-east-1': '123',
@@ -236,7 +236,7 @@ test('default worker fleet is created correctly custom subnet values', () => {
236236
});
237237

238238
// WHEN
239-
const workers = new WorkerFleet(stack, 'workerFleet', {
239+
const workers = new WorkerInstanceFleet(stack, 'workerFleet', {
240240
vpc,
241241
workerMachineImage: new GenericLinuxImage({
242242
'us-east-1': '123',
@@ -647,7 +647,7 @@ test('default worker fleet is created correctly with groups, pools and region',
647647
});
648648

649649
// WHEN
650-
const workers = new WorkerFleet(stack, 'workerFleet', {
650+
const workers = new WorkerInstanceFleet(stack, 'workerFleet', {
651651
vpc,
652652
workerMachineImage: new GenericLinuxImage({
653653
'us-east-1': '123',
@@ -1047,7 +1047,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
10471047

10481048
// group name as 'none'
10491049
expect(() => {
1050-
new WorkerFleet(stack, 'workerFleet', {
1050+
new WorkerInstanceFleet(stack, 'workerFleet', {
10511051
vpc,
10521052
workerMachineImage: new GenericLinuxImage({
10531053
'us-east-1': '123',
@@ -1059,7 +1059,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
10591059

10601060
// group name with whitespace
10611061
expect(() => {
1062-
new WorkerFleet(stack, 'workerFleet1', {
1062+
new WorkerInstanceFleet(stack, 'workerFleet1', {
10631063
vpc,
10641064
workerMachineImage: new GenericLinuxImage({
10651065
'us-east-1': '123',
@@ -1071,7 +1071,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
10711071

10721072
// pool name with whitespace
10731073
expect(() => {
1074-
new WorkerFleet(stack, 'workerFleet2', {
1074+
new WorkerInstanceFleet(stack, 'workerFleet2', {
10751075
vpc,
10761076
workerMachineImage: new GenericLinuxImage({
10771077
'us-east-1': '123',
@@ -1083,7 +1083,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
10831083

10841084
// pool name as 'none'
10851085
expect(() => {
1086-
new WorkerFleet(stack, 'workerFleet3', {
1086+
new WorkerInstanceFleet(stack, 'workerFleet3', {
10871087
vpc,
10881088
workerMachineImage: new GenericLinuxImage({
10891089
'us-east-1': '123',
@@ -1095,7 +1095,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
10951095

10961096
// region as 'none'
10971097
expect(() => {
1098-
new WorkerFleet(stack, 'workerFleet4', {
1098+
new WorkerInstanceFleet(stack, 'workerFleet4', {
10991099
vpc,
11001100
workerMachineImage: new GenericLinuxImage({
11011101
'us-east-1': '123',
@@ -1107,7 +1107,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
11071107

11081108
// region as 'all'
11091109
expect(() => {
1110-
new WorkerFleet(stack, 'workerFleet5', {
1110+
new WorkerInstanceFleet(stack, 'workerFleet5', {
11111111
vpc,
11121112
workerMachineImage: new GenericLinuxImage({
11131113
'us-east-1': '123',
@@ -1119,7 +1119,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
11191119

11201120
// region as 'unrecognized'
11211121
expect(() => {
1122-
new WorkerFleet(stack, 'workerFleet6', {
1122+
new WorkerInstanceFleet(stack, 'workerFleet6', {
11231123
vpc,
11241124
workerMachineImage: new GenericLinuxImage({
11251125
'us-east-1': '123',
@@ -1131,7 +1131,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
11311131

11321132
// region with invalid characters
11331133
expect(() => {
1134-
new WorkerFleet(stack, 'workerFleet7', {
1134+
new WorkerInstanceFleet(stack, 'workerFleet7', {
11351135
vpc,
11361136
workerMachineImage: new GenericLinuxImage({
11371137
'us-east-1': '123',
@@ -1143,7 +1143,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
11431143

11441144
// region with reserved name as substring
11451145
expect(() => {
1146-
new WorkerFleet(stack, 'workerFleet8', {
1146+
new WorkerInstanceFleet(stack, 'workerFleet8', {
11471147
vpc,
11481148
workerMachineImage: new GenericLinuxImage({
11491149
'us-east-1': '123',
@@ -1155,7 +1155,7 @@ test('worker fleet does validation correctly with groups, pools and region', ()
11551155

11561156
// region with case-insensitive name
11571157
expect(() => {
1158-
new WorkerFleet(stack, 'workerFleet9', {
1158+
new WorkerInstanceFleet(stack, 'workerFleet9', {
11591159
vpc,
11601160
workerMachineImage: new GenericLinuxImage({
11611161
'us-east-1': '123',
@@ -1173,7 +1173,7 @@ test('worker fleet is created correctly with the specified encrypted EBS block d
11731173

11741174
// WHEN
11751175
const gibibytes = 123;
1176-
new WorkerFleet(stack, 'workerFleet', {
1176+
new WorkerInstanceFleet(stack, 'workerFleet', {
11771177
vpc,
11781178
workerMachineImage: new GenericLinuxImage({
11791179
'us-east-1': '123',
@@ -1201,7 +1201,7 @@ test('worker fleet creation fails when the specified EBS block device size must
12011201
});
12021202

12031203
expect(() => {
1204-
new WorkerFleet(stack, 'workerFleet', {
1204+
new WorkerInstanceFleet(stack, 'workerFleet', {
12051205
vpc,
12061206
workerMachineImage: new GenericLinuxImage({
12071207
'us-east-1': '123',

0 commit comments

Comments
 (0)