Skip to content

Commit 78caed5

Browse files
authored
Update to version v3.2.5 (#156)
1 parent b12781e commit 78caed5

File tree

17 files changed

+160
-71
lines changed

17 files changed

+160
-71
lines changed

CHANGELOG.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,25 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.2.5] - 2024-01-11
9+
10+
### Changed
11+
12+
- Updated version of taurus image to 1.16.27
13+
- Updated Jmeter dependencies and taurus dependencis within the docker image to enhance the security of the docker image
14+
- Updated version of "@aws-solutions-constructs/aws-cloudfront-s3" from 2.46.0 to 2.48.0
15+
- Updated version of "@aws-cdk/aws-servicecatalogappregistry-alpha" from 2.108.0-alpha.0 to 2.121.1-alpha.0
16+
17+
### Fixed
18+
19+
- Bug fix to resolve issues with automatic plugins installation [#152](https://github.com/aws-solutions/distributed-load-testing-on-aws/issues/152)
20+
821
## [3.2.4] - 2023-11-10
922

1023
### Changed
1124

12-
- Updating Lambda Runtimes to Use Node-18
13-
- Updated Version of Taurus image to 1.16.26
25+
- Updating lambda runtimes to use node-18
26+
- Updated version of taurus image to 1.16.26
1427
- Updated Jmeter dependencies and taurus dependencis within the docker image to enhance the security of the docker image
1528

1629
### Fixed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ export BUCKET_NAME=$BUCKET_PREFIX-$REGION # full bucket name where the code will
9191
export SOLUTION_NAME=my-solution-name
9292
export VERSION=my-version # version number for the customized code
9393
export PUBLIC_ECR_REGISTRY=public.ecr.aws/aws-solutions # replace with the container registry and image if you want to use a different container image
94-
export PUBLIC_ECR_TAG=v3.2.1 # replace with the container image tag if you want to use a different container image
94+
export PUBLIC_ECR_TAG=v3.2.5 # replace with the container image tag if you want to use a different container image
9595
```
9696

9797
- Build the distributable.

deployment/ecr/distributed-load-testing-on-aws-load-tester/Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM blazemeter/taurus:1.16.26
1+
FROM blazemeter/taurus:1.16.27
22
# taurus includes python and pip
33
RUN /usr/bin/python3 -m pip install --upgrade pip
44
RUN pip install --no-cache-dir awscli
@@ -28,7 +28,7 @@ RUN gem install activesupport -v 7.0.7.1
2828
# Replacing urllib3, Werkzeug and cryptography with more stable Versions to fix vulnerabilities
2929
RUN pip install urllib3==2.0.7
3030
RUN pip install Werkzeug==3.0.1
31-
RUN pip install cryptography==41.0.5
31+
RUN pip install cryptography==41.0.6
3232
RUN rm -rf /root/.bzt/python-packages/3.10.12/urllib3*
3333
RUN rm -rf /root/.bzt/python-packages/3.10.12/werkzeug*
3434
RUN rm -rf /root/.bzt/python-packages/3.10.12/cryptography*

deployment/ecr/distributed-load-testing-on-aws-load-tester/jar_updater.py

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,24 +7,33 @@
77

88

99
"""
10-
jar_updater.py updates json-smart, neo4j-java-driver, xalan to address CVEs on the taurus image. this is not DLT application code.
10+
jar_updater.py updates following jar files to address CVEs on the taurus image. this is not DLT application code.
1111
the script may be removed once taurus updates the libraries on the image.
1212
Affected Jmeter jars:
13-
* json-smart v2.4.8 will be replaced with v2.4.9
13+
* json-smart v2.4.8 will be replaced with v2.4.10
1414
* neo4j-java-driver v4.12.0 will be replaced with v5.14.0
15-
* xalan v2.7.2 will be replaced with v2.7.3
15+
* batik-script v1.14 will be replaced with v1.17
16+
* batik-bridge v1.14 will be replaced with v1.17
17+
* batik-transcoder v1.14 will be replaced with v1.17
18+
* lets-plot-batik v2.2.1 will be replaced with 4.2.0
19+
20+
Also jmeter plugins manager will be updated to v1.10 to address CVEs and cmdrunner will be updated to v2.3 to accomodate with plugins manager.
1621
"""
1722

1823
# these jars should be replaced with newer version in order to fix some vulnerabilities
1924
# component name and download link in https://repo1.maven.org/maven2/
2025
# These are Components with regards to JMETER
2126
JMETER_COMPONENTS = {
22-
"json-smart": "net/minidev/json-smart/2.4.9/json-smart-2.4.9.jar",
27+
"json-smart": "net/minidev/json-smart/2.4.10/json-smart-2.4.10.jar",
2328
"neo4j-java-driver": "org/neo4j/driver/neo4j-java-driver/5.14.0/neo4j-java-driver-5.14.0.jar",
24-
"xalan": "xalan/xalan/2.7.3/xalan-2.7.3.jar",
29+
"batik-script": "org/apache/xmlgraphics/batik-script/1.17/batik-script-1.17.jar",
30+
"batik-bridge": "org/apache/xmlgraphics/batik-bridge/1.17/batik-bridge-1.17.jar",
31+
"batik-transcoder": "org/apache/xmlgraphics/batik-transcoder/1.17/batik-transcoder-1.17.jar",
32+
"lets-plot-batik": "org/jetbrains/lets-plot/lets-plot-batik/4.2.0/lets-plot-batik-4.2.0.jar"
2533
}
26-
JMETER_VERSION = "5.4.3"
27-
34+
JMETER_VERSION = "5.5"
35+
JMETER_PLUGINS_MANAGER_VERSION = "1.10"
36+
CMD_RUNNER_VERSION = "2.3"
2837
# To add other platform, and what to update, add affected components and version HERE
2938

3039
def download(url, target_path):
@@ -45,11 +54,14 @@ def __init__(self, platform, version, affected_components=None):
4554
self.affected_components = affected_components
4655

4756
def install_jmeter_plugins(self):
48-
plugins_mgr_version = "1.10"
49-
plugins_mgr_link = f'https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/{plugins_mgr_version}/jmeter-plugins-manager-{plugins_mgr_version}.jar'
57+
plugins_mgr_link = f'https://search.maven.org/remotecontent?filepath=kg/apc/jmeter-plugins-manager/{JMETER_PLUGINS_MANAGER_VERSION}/jmeter-plugins-manager-{JMETER_PLUGINS_MANAGER_VERSION}.jar'
58+
command_runner_link = f'https://search.maven.org/remotecontent?filepath=kg/apc/cmdrunner/{CMD_RUNNER_VERSION}/cmdrunner-{CMD_RUNNER_VERSION}.jar'
5059
plugins_mgr_name = os.path.basename(plugins_mgr_link)
60+
command_runner_name = os.path.basename(command_runner_link)
5161
pm_installer_path = os.path.join(self.lib_dir, 'ext', plugins_mgr_name)
62+
command_runner_path = os.path.join(self.lib_dir, command_runner_name)
5263
download(plugins_mgr_link, pm_installer_path)
64+
download(command_runner_link, command_runner_path)
5365
self.obj._JMeter__install_plugins_manager(pm_installer_path)
5466
cleaner = JarCleaner(self.obj.log)
5567
cleaner.clean(os.path.join(self.lib_dir, 'ext'))

source/api-services/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "api-services",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "REST API micro services",
55
"repository": {
66
"type": "git",

source/console/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "distributed-load-testing-on-aws-ui",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"private": true,
55
"license": "Apache-2.0",
66
"author": {

source/custom-resource/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "custom-resource",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "cfn custom resources for distributed load testing on AWS workflow",
55
"repository": {
66
"type": "git",

source/infrastructure/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "distributed-load-testing-on-aws-infrastructure",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"author": {
55
"name": "Amazon Web Services",
66
"url": "https://aws.amazon.com/solutions"
@@ -18,8 +18,8 @@
1818
"cdk": "cdk"
1919
},
2020
"devDependencies": {
21-
"@aws-solutions-constructs/aws-cloudfront-s3": "2.46.0",
22-
"@aws-cdk/aws-servicecatalogappregistry-alpha": "2.108.0-alpha.0",
21+
"@aws-solutions-constructs/aws-cloudfront-s3": "2.48.0",
22+
"@aws-cdk/aws-servicecatalogappregistry-alpha": "2.121.1-alpha.0",
2323
"aws-cdk": "^2.96.2",
2424
"aws-cdk-lib": "^2.105.0",
2525
"constructs": "10.3.0",

source/infrastructure/test/__snapshots__/console.test.ts.snap

Lines changed: 54 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,32 +57,50 @@ exports[`DLT API Test 1`] = `
5757
],
5858
},
5959
"Id": "DLTStackTestConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1AA2FCD06",
60-
"S3OriginConfig": {
61-
"OriginAccessIdentity": {
62-
"Fn::Join": [
63-
"",
64-
[
65-
"origin-access-identity/cloudfront/",
66-
{
67-
"Ref": "TestConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3OriginDB11D6D3",
68-
},
69-
],
70-
],
71-
},
60+
"OriginAccessControlId": {
61+
"Fn::GetAtt": [
62+
"TestConsoleResourcesDLTCloudFrontToS3CloudFrontOac32BD357B",
63+
"Id",
64+
],
7265
},
66+
"S3OriginConfig": {},
7367
},
7468
],
7569
},
7670
},
7771
"Type": "AWS::CloudFront::Distribution",
7872
},
79-
"TestConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3OriginDB11D6D3": {
73+
"TestConsoleResourcesDLTCloudFrontToS3CloudFrontOac32BD357B": {
8074
"Properties": {
81-
"CloudFrontOriginAccessIdentityConfig": {
82-
"Comment": "Identity for DLTStackTestConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1AA2FCD06",
75+
"OriginAccessControlConfig": {
76+
"Description": "Origin access control provisioned by aws-cloudfront-s3",
77+
"Name": {
78+
"Fn::Join": [
79+
"",
80+
[
81+
"aws-cloudfront-s3-DLTCtToS3-",
82+
{
83+
"Fn::Select": [
84+
2,
85+
{
86+
"Fn::Split": [
87+
"/",
88+
{
89+
"Ref": "AWS::StackId",
90+
},
91+
],
92+
},
93+
],
94+
},
95+
],
96+
],
97+
},
98+
"OriginAccessControlOriginType": "s3",
99+
"SigningBehavior": "always",
100+
"SigningProtocol": "sigv4",
83101
},
84102
},
85-
"Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
103+
"Type": "AWS::CloudFront::OriginAccessControl",
86104
},
87105
"TestConsoleResourcesDLTCloudFrontToS3S3BucketAC4D9E17": {
88106
"DeletionPolicy": "Retain",
@@ -181,14 +199,28 @@ exports[`DLT API Test 1`] = `
181199
},
182200
{
183201
"Action": "s3:GetObject",
202+
"Condition": {
203+
"StringEquals": {
204+
"AWS:SourceArn": {
205+
"Fn::Join": [
206+
"",
207+
[
208+
"arn:aws:cloudfront::",
209+
{
210+
"Ref": "AWS::AccountId",
211+
},
212+
":distribution/",
213+
{
214+
"Ref": "TestConsoleResourcesDLTCloudFrontToS3CloudFrontDistribution4534927E",
215+
},
216+
],
217+
],
218+
},
219+
},
220+
},
184221
"Effect": "Allow",
185222
"Principal": {
186-
"CanonicalUser": {
187-
"Fn::GetAtt": [
188-
"TestConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3OriginDB11D6D3",
189-
"S3CanonicalUserId",
190-
],
191-
},
223+
"Service": "cloudfront.amazonaws.com",
192224
},
193225
"Resource": {
194226
"Fn::Join": [

source/infrastructure/test/__snapshots__/distributed-load-testing-on-aws-stack.test.ts.snap

Lines changed: 54 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2649,19 +2649,13 @@ exports[`Distributed Load Testing stack test 1`] = `
26492649
],
26502650
},
26512651
"Id": "DLTStackDLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1022BE4E8",
2652-
"S3OriginConfig": {
2653-
"OriginAccessIdentity": {
2654-
"Fn::Join": [
2655-
"",
2656-
[
2657-
"origin-access-identity/cloudfront/",
2658-
{
2659-
"Ref": "DLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3Origin5080EA34",
2660-
},
2661-
],
2662-
],
2663-
},
2652+
"OriginAccessControlId": {
2653+
"Fn::GetAtt": [
2654+
"DLTConsoleResourcesDLTCloudFrontToS3CloudFrontOac3AF5A4EE",
2655+
"Id",
2656+
],
26642657
},
2658+
"S3OriginConfig": {},
26652659
},
26662660
],
26672661
},
@@ -2680,13 +2674,37 @@ exports[`Distributed Load Testing stack test 1`] = `
26802674
},
26812675
"Type": "AWS::CloudFront::Distribution",
26822676
},
2683-
"DLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3Origin5080EA34": {
2677+
"DLTConsoleResourcesDLTCloudFrontToS3CloudFrontOac3AF5A4EE": {
26842678
"Properties": {
2685-
"CloudFrontOriginAccessIdentityConfig": {
2686-
"Comment": "Identity for DLTStackDLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1022BE4E8",
2679+
"OriginAccessControlConfig": {
2680+
"Description": "Origin access control provisioned by aws-cloudfront-s3",
2681+
"Name": {
2682+
"Fn::Join": [
2683+
"",
2684+
[
2685+
"aws-cloudfront-s3-DLTCtToS3-",
2686+
{
2687+
"Fn::Select": [
2688+
2,
2689+
{
2690+
"Fn::Split": [
2691+
"/",
2692+
{
2693+
"Ref": "AWS::StackId",
2694+
},
2695+
],
2696+
},
2697+
],
2698+
},
2699+
],
2700+
],
2701+
},
2702+
"OriginAccessControlOriginType": "s3",
2703+
"SigningBehavior": "always",
2704+
"SigningProtocol": "sigv4",
26872705
},
26882706
},
2689-
"Type": "AWS::CloudFront::CloudFrontOriginAccessIdentity",
2707+
"Type": "AWS::CloudFront::OriginAccessControl",
26902708
},
26912709
"DLTConsoleResourcesDLTCloudFrontToS3S3Bucket4FED8B63": {
26922710
"DeletionPolicy": "Retain",
@@ -2797,14 +2815,28 @@ exports[`Distributed Load Testing stack test 1`] = `
27972815
},
27982816
{
27992817
"Action": "s3:GetObject",
2818+
"Condition": {
2819+
"StringEquals": {
2820+
"AWS:SourceArn": {
2821+
"Fn::Join": [
2822+
"",
2823+
[
2824+
"arn:aws:cloudfront::",
2825+
{
2826+
"Ref": "AWS::AccountId",
2827+
},
2828+
":distribution/",
2829+
{
2830+
"Ref": "DLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistribution3EF384B4",
2831+
},
2832+
],
2833+
],
2834+
},
2835+
},
2836+
},
28002837
"Effect": "Allow",
28012838
"Principal": {
2802-
"CanonicalUser": {
2803-
"Fn::GetAtt": [
2804-
"DLTConsoleResourcesDLTCloudFrontToS3CloudFrontDistributionOrigin1S3Origin5080EA34",
2805-
"S3CanonicalUserId",
2806-
],
2807-
},
2839+
"Service": "cloudfront.amazonaws.com",
28082840
},
28092841
"Resource": {
28102842
"Fn::Join": [

source/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "source",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"private": true,
55
"description": "ESLint and prettier dependencies to be used within the solution",
66
"license": "Apache-2.0",

source/real-time-data-publisher/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "real-time-data-publisher",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "Publishes real time test data to an IoT endpoint",
55
"repository": {
66
"type": "git",

source/results-parser/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "results-parser",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "result parser for indexing xml test results to DynamoDB",
55
"repository": {
66
"type": "git",

source/solution-utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "solution-utils",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "Utilities package for Distributed Load Testing on AWS",
55
"license": "Apache-2.0",
66
"author": {

source/task-canceler/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "task-canceler",
3-
"version": "3.2.4",
3+
"version": "3.2.5",
44
"description": "Triggered by api-services lambda function, cancels ecs tasks",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)