diff --git a/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts b/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts index 368e53b00..4e31ea00b 100644 --- a/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts +++ b/packages/aws-rfdk/lib/core/lib/mongodb-instance.ts @@ -592,6 +592,8 @@ export class MongoDbInstance extends Construct implements IMongoDb, IGrantable { `bash ./setStoragePath.sh "${MongoDbInstance.MONGO_DEVICE_MOUNT_POINT}"`, 'bash ./setMongoNoAuth.sh', 'sudo service mongod start', + // Ensure the mongo service started + 'sudo service mongod status', `bash ./setAdminCredentials.sh "${this.adminUser.secretArn}"`, ); this.adminUser.grantRead(instance.grantPrincipal); diff --git a/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts b/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts index cb90e9682..9dce53b94 100644 --- a/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts +++ b/packages/aws-rfdk/lib/core/test/mongodb-instance.test.ts @@ -459,6 +459,7 @@ describe('Test MongoDbInstance', () => { 'bash ./setStoragePath.sh "/var/lib/mongo"\n' + 'bash ./setMongoNoAuth.sh\n' + 'sudo service mongod start\n' + + 'sudo service mongod status\n' + 'bash ./setAdminCredentials.sh \"', { Ref: Match.stringLikeRegexp('^MongoDbInstanceAdminUser.*'), diff --git a/packages/aws-rfdk/lib/deadline/lib/repository.ts b/packages/aws-rfdk/lib/deadline/lib/repository.ts index b7ba4ed85..6e0652bdf 100644 --- a/packages/aws-rfdk/lib/deadline/lib/repository.ts +++ b/packages/aws-rfdk/lib/deadline/lib/repository.ts @@ -732,7 +732,7 @@ export class Repository extends Construct implements IRepository { this.installerGroup = new AutoScalingGroup(this, 'Installer', { instanceType: InstanceType.of(InstanceClass.T3, InstanceSize.LARGE), machineImage: new AmazonLinuxImage({ - generation: AmazonLinuxGeneration.AMAZON_LINUX_2023, + generation: this.getAmazonLinuxGenerationForDeadlineVersion(this.version), }), vpc: props.vpc, vpcSubnets: props.vpcSubnets ?? { @@ -1057,4 +1057,17 @@ export class Repository extends Construct implements IRepository { args: installerArgs, }); } + + /** + * Return an AmazonLinuxGeneration that can run the specified version of Deadline. + */ + private getAmazonLinuxGenerationForDeadlineVersion(deadlineVersion: IVersion): AmazonLinuxGeneration { + const REMOVED_SUPPORT_FOR_AMAZON_LINUX_2 = new Version([10, 4, 0, 0]); + + if (deadlineVersion.isLessThan(REMOVED_SUPPORT_FOR_AMAZON_LINUX_2)) { + return AmazonLinuxGeneration.AMAZON_LINUX_2; + } else { + return AmazonLinuxGeneration.AMAZON_LINUX_2023; + } + } }