diff --git a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/lib/service-tier.ts b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/lib/service-tier.ts index bbc184a86..d73c560bd 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/lib/service-tier.ts +++ b/examples/deadline/All-In-AWS-Infrastructure-Basic/ts/lib/service-tier.ts @@ -172,7 +172,7 @@ export class ServiceTier extends cdk.Stack { version: this.version, database: props.database, fileSystem: props.mountableFileSystem, - repositoryInstallationTimeout: cdk.Duration.minutes(20), + repositoryInstallationTimeout: cdk.Duration.minutes(30), repositoryInstallationPrefix: "/", secretsManagementSettings: { enabled: props.enableSecretsManagement, diff --git a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/lib/sep-stack.ts b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/lib/sep-stack.ts index 921c02b43..f178141de 100644 --- a/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/lib/sep-stack.ts +++ b/examples/deadline/All-In-AWS-Infrastructure-SEP/ts/lib/sep-stack.ts @@ -76,7 +76,7 @@ export class SEPStack extends Stack { const repository = new Repository(this, 'Repository', { vpc, version: recipes.version, - repositoryInstallationTimeout: Duration.minutes(20), + repositoryInstallationTimeout: Duration.minutes(30), // TODO - Evaluate deletion protection for your own needs. These properties are set to RemovalPolicy.DESTROY // to cleanly remove everything when this stack is destroyed. If you would like to ensure // that these resources are not accidentally deleted, you should set these properties to RemovalPolicy.RETAIN diff --git a/examples/deadline/Local-Zone/ts/lib/service-tier.ts b/examples/deadline/Local-Zone/ts/lib/service-tier.ts index 5bdae7d1c..226030f01 100644 --- a/examples/deadline/Local-Zone/ts/lib/service-tier.ts +++ b/examples/deadline/Local-Zone/ts/lib/service-tier.ts @@ -108,7 +108,7 @@ export class ServiceTier extends Stack { database: RemovalPolicy.DESTROY, filesystem: RemovalPolicy.DESTROY, }, - repositoryInstallationTimeout: Duration.minutes(20), + repositoryInstallationTimeout: Duration.minutes(30), vpcSubnets: repositorySubnets, }); diff --git a/integ/components/deadline/deadline_01_repository/lib/repository-testing-tier.ts b/integ/components/deadline/deadline_01_repository/lib/repository-testing-tier.ts index c2a155949..c926ca1b7 100644 --- a/integ/components/deadline/deadline_01_repository/lib/repository-testing-tier.ts +++ b/integ/components/deadline/deadline_01_repository/lib/repository-testing-tier.ts @@ -115,7 +115,7 @@ export class RepositoryTestingTier extends TestingTier { 'cd ~ec2-user', 'mkdir -p testScripts', 'cd testScripts', - 'wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem', + 'wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem', ); } } diff --git a/integ/components/deadline/deadline_01_repository/scripts/bastion/testing/DL-read-docdb-response.sh b/integ/components/deadline/deadline_01_repository/scripts/bastion/testing/DL-read-docdb-response.sh index 3b147d1b3..6a6a0a531 100644 --- a/integ/components/deadline/deadline_01_repository/scripts/bastion/testing/DL-read-docdb-response.sh +++ b/integ/components/deadline/deadline_01_repository/scripts/bastion/testing/DL-read-docdb-response.sh @@ -29,7 +29,7 @@ if [ -d "$CERT" ]; then # The domain zone for the mongo instance used is hard-coded during setup DB_ADDRESS="mongo.renderfarm.local:27017" else - CERT_CA="./testScripts/rds-combined-ca-bundle.pem" + CERT_CA="./testScripts/global-bundle.pem" # DocDB contains the endpoint address to use in its secret ENDPOINT=$(jq -r '.host' <<< "$DB_SECRET_STRING") @@ -39,6 +39,5 @@ else fi # Mongo command to query for "deadline10db" database -mongo --quiet --ssl --host="$DB_ADDRESS" --sslCAFile="$CERT_CA" --username="$DB_USERNAME" --password="$DB_PASS" --eval='printjson( db.adminCommand( { listDatabases: 1, nameOnly: true, filter: { "name": "deadline10db" } } ) )' - +mongo --quiet --ssl --host="$DB_ADDRESS" --sslCAFile="$CERT_CA" --username="$DB_USERNAME" --password="$DB_PASS" --eval='(function(){var output=db.adminCommand({ listDatabases: 1, nameOnly: true, filter: { "name": "deadline10db" } } );delete output.onTime;delete output.operationTime;printjson(output)})()' exit 0 diff --git a/integ/jest.config.js b/integ/jest.config.js index a4535ae3b..04e91ce91 100644 --- a/integ/jest.config.js +++ b/integ/jest.config.js @@ -4,7 +4,7 @@ module.exports = { transform: { '^.+\\.tsx?$': 'ts-jest' }, - testTimeout: 60000, + testTimeout: 300000, setupFilesAfterEnv: [ "/components/deadline/common/jest-matchers.js" ] diff --git a/integ/lib/storage-struct.ts b/integ/lib/storage-struct.ts index 91ffe81d6..ddfeb27b2 100644 --- a/integ/lib/storage-struct.ts +++ b/integ/lib/storage-struct.ts @@ -229,7 +229,7 @@ export class StorageStruct extends Construct { database: databaseConnection, fileSystem: deadlineMountableEfs, version: props.version, - repositoryInstallationTimeout: Duration.minutes(20), + repositoryInstallationTimeout: Duration.minutes(30), logGroupProps: { logGroupPrefix: `/${Stack.of(this).stackName}-${id}/`, retention: RetentionDays.TWO_MONTHS, diff --git a/packages/aws-rfdk/lib/deadline/lib/repository.ts b/packages/aws-rfdk/lib/deadline/lib/repository.ts index ab736713a..2352b9b5b 100644 --- a/packages/aws-rfdk/lib/deadline/lib/repository.ts +++ b/packages/aws-rfdk/lib/deadline/lib/repository.ts @@ -346,7 +346,7 @@ export interface RepositoryProps { * * The maximum value is 43200 (12 hours). * - * @default Duration.minutes(15) + * @default Duration.minutes(30) */ readonly repositoryInstallationTimeout?: Duration; @@ -620,6 +620,7 @@ export class Repository extends Construct implements IRepository { }) : undefined), }; + this.fileSystem = props.fileSystem ?? (() => { const fs = new EfsFileSystem(this, 'FileSystem', { vpc: props.vpc, @@ -677,7 +678,7 @@ export class Repository extends Construct implements IRepository { */ const parameterGroup = databaseAuditLogging ? new ClusterParameterGroup(this, 'ParameterGroup', { description: 'DocDB cluster parameter group with enabled audit logs', - family: 'docdb3.6', + family: 'docdb5.0', parameters: { audit_logs: 'enabled', }, @@ -686,7 +687,7 @@ export class Repository extends Construct implements IRepository { const instances = props.documentDbInstanceCount ?? Repository.DEFAULT_NUM_DOCDB_INSTANCES; const dbCluster = new DatabaseCluster(this, 'DocumentDatabase', { masterUser: {username: 'DocDBUser'}, - engineVersion: '3.6.0', + engineVersion: '5.0.0', instanceType: InstanceType.of(InstanceClass.R5, InstanceSize.LARGE), vpc: props.vpc, vpcSubnets: props.vpcSubnets ?? { subnetType: SubnetType.PRIVATE_WITH_EGRESS, onePerAz: true }, @@ -741,7 +742,7 @@ export class Repository extends Construct implements IRepository { maxCapacity: 1, updatePolicy: UpdatePolicy.replacingUpdate(), signals: Signals.waitForAll({ - timeout: (props.repositoryInstallationTimeout || Duration.minutes(15)), + timeout: (props.repositoryInstallationTimeout || Duration.minutes(30)), }), securityGroup: props.securityGroupsOptions?.installer, }); diff --git a/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh b/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh index 04ecbd461..594be7122 100644 --- a/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh +++ b/packages/aws-rfdk/lib/deadline/scripts/bash/installDeadlineRepository.sh @@ -183,7 +183,7 @@ fi # sets the "u" shell option above. This is a use of the ${parameter+word} shell expansion. If the value of "parameter" is unset, nothing will be # substituted in its place. If "parameter" is set, then the value of "word" is used, which is the expansion of the populated array. # Since bash treats the expansion of an empty array as an unset variable, we can use this pattern expand the array only if it is populated. -$INSTALL_AS_NON_ROOT_CMD $REPO_INSTALLER --mode unattended --setpermissions false --prefix "$PREFIX" --installmongodb false --backuprepo false ${REPO_ARGS[@]+"${REPO_ARGS[@]}"} +$INSTALL_AS_NON_ROOT_CMD $REPO_INSTALLER --mode unattended --setpermissions false --prefix "$PREFIX" --installmongodb false --backuprepo false --debuglevel 4 ${REPO_ARGS[@]+"${REPO_ARGS[@]}"} if [[ -z "$INSTALL_AS_NON_ROOT_CMD" ]] && [[ -n "${REPOSITORY_OWNER_UID+x}" ]]; then echo "Changing ownership of Deadline Repository files to UID=$REPOSITORY_OWNER_UID GID=$REPOSITORY_OWNER_GID" diff --git a/packages/aws-rfdk/lib/deadline/test/repository.test.ts b/packages/aws-rfdk/lib/deadline/test/repository.test.ts index f59fe35cd..dd7d4f8ef 100644 --- a/packages/aws-rfdk/lib/deadline/test/repository.test.ts +++ b/packages/aws-rfdk/lib/deadline/test/repository.test.ts @@ -122,7 +122,7 @@ beforeEach(() => { s3Bucket: new Bucket(stack, 'LinuxClientInstallerBucket'), }, }; - version = create_version([10,1,19,4]); + version = create_version([10,3,2,1]); }); test('can create two repositories', () => { @@ -165,7 +165,7 @@ test('repository installer instance is created correctly', () => { CreationPolicy: { ResourceSignal: { Count: 1, - Timeout: 'PT15M', + Timeout: 'PT30M', }, }, UpdatePolicy: {