Skip to content

Commit 4609da6

Browse files
author
Nightingale
committed
Release version 1.1.0
1 parent eee61b2 commit 4609da6

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+2994
-2500
lines changed

CHANGELOG.md

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## [0.0.1] - 2019-08-28
7+
## [1.1.0] - 2020-09-30
8+
### Added
9+
- JMeter support with `jmx` script: [#3](https://github.com/awslabs/distributed-load-testing-on-aws/issues/3)
10+
- Add `START` button on details page
11+
- Add `CANCEL` button on create page
12+
- Add AWS Step Functions to run tasks and update result instead of Amazon DynamoDB and Amazon SQS
13+
- Add `BucketEncryption` for `ConsoleBucket`
14+
- Add API Gateway logging
15+
16+
### Changed
17+
- Merge [#15](https://github.com/awslabs/distributed-load-testing-on-aws/pull/15/) by [@afittz](https://github.com/afittz)
18+
- Merge [#16](https://github.com/awslabs/distributed-load-testing-on-aws/pull/16/) by [@Patrick-56Bit](https://github.com/Patrick-56Bit)
19+
- Change `LAST RAN` to `STARTED AT` and add `ENDED AT` information when test is completed
20+
- Change CodeBuild image to `aws/codebuild/standard:4.0`
21+
- Update Node.js version from 10.x to 12.x
22+
- All Amazon S3 buckets do not allow public access.
23+
24+
### Removed
25+
- Amazon SQS queue
26+
- Amazon DynamoDB Results table
27+
28+
## [1.0.0] - 2019-11-14
829
### Added
930
- CHANGELOG version 1.0.0 release

LICENSE

Lines changed: 0 additions & 21 deletions
This file was deleted.

NOTICE.txt

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
Distributed Load Testing Reference Architecture
2-
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
3-
4-
Licensed under the Apache License, Version 2.0 (the "License");
5-
you may not use this file except in compliance with the License.
6-
You may obtain a copy of the License at
7-
8-
http://www.apache.org/licenses/LICENSE-2.0
9-
10-
Unless required by applicable law or agreed to in writing, software
11-
distributed under the License is distributed on an "AS IS" BASIS,
12-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13-
See the License for the specific language governing permissions and
14-
limitations under the License.
2+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
153

164
**********************
175
THIRD PARTY COMPONENTS

README.md

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,64 +31,72 @@ The Taurus DockerFile and bash script run at start of the test to download the t
3131
A NodeJS Lambda function used as a CloudFormation custom resource for configuring Amazon S3 bucket notifications and to send anonymous metrics.
3232

3333
**source/results-parser**<br/>
34-
A NodeJS Lambda function used to write the xml output from the docker images to Amazon DynamoDB and generate the final results for each test.
34+
A NodeJS Lambda function used to write the xml output from the docker images to Amazon DynamoDB and generate the final results for each test.
3535

3636
**source/task-runner**<br/>
37-
A NodeJS Lambda function that Runs The Amaazon ECS task definition for each test.
37+
A NodeJS Lambda function that runs the Amaazon ECS task definition for each test.
3838

39+
**source/task-status-checker**<br/>
40+
A NodeJS Lambda function that checks if the Amaazon ECS tasks are running or not.
3941

4042
## Creating a custom build
41-
The solution can be deployed through the CloudFormation template available on the solution home page: [Distributed Load Testing](https://aws.amazon.com/).
43+
The solution can be deployed through the CloudFormation template available on the solution home page: [Distributed Load Testing](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/).
4244
To make changes to the solution, download or clone this repo, update the source code and then run the deployment/build-s3-dist.sh script to deploy the updated Lambda code to an Amazon S3 bucket in your account.
4345

4446
### Prerequisites:
4547
* [AWS Command Line Interface](https://aws.amazon.com/cli/)
46-
* Node.js 10.x or later
48+
* Node.js 12.x or later
4749

48-
### 1. Running unit tests for customization
49-
Run unit tests to make sure added customization passes the tests:
50+
### 1. Clone the Distributed Load Testing on AWS solution repository
51+
Clone the ```distributed-load-testing-on-aws``` GitHub repositroy, then make the desired code changes.
52+
53+
```bash
54+
git clone https://github.com/awslabs/distributed-load-testing-on-aws.git
5055
```
56+
57+
### 2. Run unit tests
58+
Run unit tests to make sure added customization passes the tests:
59+
```bash
5160
cd ./deployment
5261
chmod +x ./run-unit-tests.sh
5362
./run-unit-tests.sh
5463
```
5564

56-
### 2. Create an Amazon S3 Bucket
57-
The CloudFormation template is configured to pull the Lambda deployment packages from Amazon S3 bucket in the region the template is being launched in. Create a bucket in the desired region with the region name appended to the name of the bucket. eg: for us-east-1 create a bucket named: ```my-bucket-us-east-1```
65+
### 3. Declare environment variables
66+
```bash
67+
export REGION=aws-region-code # the AWS region to launch the solution (e.g. us-east-1)
68+
export DIST_OUTPUT_BUCKET=my-bucket-name # bucket where customized code will reside
69+
export SOLUTION_NAME=my-solution-name
70+
export VERSION=my-version # version number for the customized code
5871
```
59-
aws s3 mb s3://my-bucket-us-east-1
72+
73+
### 4. Create an Amazon S3 Bucket
74+
The CloudFormation template is configured to pull the Lambda deployment packages from Amazon S3 bucket in the region the template is being launched in. Create a bucket in the desired region with the region name appended to the name of the bucket. eg: for us-east-1 create a bucket named: ```my-bucket-us-east-1```
75+
```bash
76+
aws s3 mb s3://$DIST_OUTPUT_BUCKET-$REGION --region $REGION
6077
```
6178

62-
### 3. Create the deployment packages
79+
### 5. Create the deployment packages
6380
Build the distributable:
64-
```
81+
```bash
6582
chmod +x ./build-s3-dist.sh
66-
./build-s3-dist.sh my-bucket video-on-demand-on-aws %%VERSION%%-custom
83+
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION
6784
```
6885

6986
> **Notes**: The _build-s3-dist_ script expects the bucket name as one of its parameters, and this value should not include the region suffix. In addition to that, the version parameter will be used to tag the npm packages, and therefore should be in the [Semantic Versioning format](https://semver.org/spec/v2.0.0.html).
7087
88+
### 6. Upload deployment assets to your Amazon S3 bucket
7189
Deploy the distributable to the Amazon S3 bucket in your account:
72-
```
73-
aws s3 cp ./regional-s3-assets/ s3://my-bucket-us-east-1/video-on-demand-on-aws/%%VERSION%%-custom/ --recursive --acl bucket-owner-full-control
90+
```bash
91+
aws s3 cp ./regional-s3-assets/ s3://$DIST_OUTPUT_BUCKET-$REGION/$SOLUTION_NAME/$VERSION/ --recursive --acl bucket-owner-full-control
92+
aws s3 cp ./global-s3-assets/ s3://$DIST_OUTPUT_BUCKET-$REGION/$SOLUTION_NAME/$VERSION/ --recursive --acl bucket-owner-full-control
7493
```
7594

76-
### 4. Launch the CloudFormation template.
77-
* Get the link of the video-on-demand-on-aws.template uploaded to your Amazon S3 bucket.
78-
* Deploy the Video on Demand to your account by launching a new AWS CloudFormation stack using the link of the video-on-demand-on-aws.template.
95+
### 7. Launch the CloudFormation template.
96+
* Get the link of the `distributed-load-testing-on-aws.template` uploaded to your Amazon S3 bucket.
97+
* Deploy the Distributed Load Testing on AWS solution to your account by launching a new AWS CloudFormation stack using the link of the `distributed-load-testing-on-aws.template`.
7998

8099
***
81100

82-
Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
83-
84-
Licensed under the Apache License, Version 2.0 (the "License");
85-
you may not use this file except in compliance with the License.
86-
You may obtain a copy of the License at
87-
88-
http://www.apache.org/licenses/LICENSE-2.0
89-
90-
Unless required by applicable law or agreed to in writing, software
91-
distributed under the License is distributed on an "AS IS" BASIS,
92-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
93-
See the License for the specific language governing permissions and
94-
limitations under the License.
101+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.<br />
102+
SPDX-License-Identifier: Apache-2.0

architecture.png

-120 KB
Loading

deployment/build-s3-dist.sh

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,10 @@ sed -i -e $replace $template_dist_dir/distributed-load-testing-on-aws.template
6060
# remove tmp file for MACs
6161
[ -e $template_dist_dir/distributed-load-testing-on-aws.template-e ] && rm -r $template_dist_dir/distributed-load-testing-on-aws.template-e
6262

63-
cd $source_dir
6463
echo "------------------------------------------------------------------------------"
6564
echo "Creating custom-resource deployment package"
6665
echo "------------------------------------------------------------------------------"
67-
cd custom-resource/
66+
cd $source_dir/custom-resource/
6867
rm -rf node_modules/
6968
npm install --production
7069
rm package-lock.json
@@ -73,7 +72,7 @@ zip -q -r9 ../../deployment/regional-s3-assets/custom-resource.zip *
7372
echo "------------------------------------------------------------------------------"
7473
echo "Creating api-services deployment package"
7574
echo "------------------------------------------------------------------------------"
76-
cd ../api-services
75+
cd $source_dir/api-services
7776
rm -rf node_modules/
7877
npm install --production
7978
rm package-lock.json
@@ -82,7 +81,7 @@ zip -q -r9 $build_dist_dir/api-services.zip *
8281
echo "------------------------------------------------------------------------------"
8382
echo "Creating results-parser deployment package"
8483
echo "------------------------------------------------------------------------------"
85-
cd ../results-parser
84+
cd $source_dir/results-parser
8685
rm -rf node_modules/
8786
npm install --production
8887
rm package-lock.json
@@ -91,27 +90,35 @@ zip -q -r9 $build_dist_dir/results-parser.zip *
9190
echo "------------------------------------------------------------------------------"
9291
echo "Creating task-runner deployment package"
9392
echo "------------------------------------------------------------------------------"
94-
cd ../task-runner
93+
cd $source_dir/task-runner
9594
rm -rf node_modules/
9695
npm install --production
9796
rm package-lock.json
9897
zip -q -r9 $build_dist_dir/task-runner.zip *
9998

99+
echo "------------------------------------------------------------------------------"
100+
echo "Creating task-status-checker deployment package"
101+
echo "------------------------------------------------------------------------------"
102+
cd $source_dir/task-status-checker
103+
rm -rf node_modules/
104+
npm install --production
105+
rm package-lock.json
106+
zip -q -r9 $build_dist_dir/task-status-checker.zip *
107+
100108
echo "------------------------------------------------------------------------------"
101109
echo "Creating container deployment package"
102110
echo "------------------------------------------------------------------------------"
103-
cd ../container
111+
cd $source_dir/container
104112
zip -q -r9 ../../deployment/regional-s3-assets/container.zip *
105113
cp container-manifest.json $build_dist_dir/
106114

107115
echo "------------------------------------------------------------------------------"
108-
echo "Buildinbg console"
116+
echo "Building console"
109117
echo "------------------------------------------------------------------------------"
110-
cd ../console
118+
cd $source_dir/console
111119
[ -e build ] && rm -r build
112120
[ -e node_modules ] && rm -rf node_modules
113121
npm install
114-
touch public/aws_config.js
115122
npm run build
116123
mkdir $build_dist_dir/console
117124
cp -r ./build/* $build_dist_dir/console/

0 commit comments

Comments
 (0)