Data Center App Testing User Guide
User guide for Data Center App Performance Toolkit
Link: Data Center App Performance Toolkit User Guide For Jira
The above link is the Data Center App Performance Toolkit User Guide for Jira.
The Data Center App Performance Toolkit User Guide for Jira, available at this link, provides instructions for using the toolkit in two types of environments:
Development environment
Enterprise-scale environment
Follow Step 1 as described in the user guide. If Step 1 fails, proceed to Step 2.
ย
New Data Center App Performance Toolkit version 8.3.2 with JMeter 5.6.3 support was released.
JMeter 5.6 has a bug which leads to broken .jmx
file after opening JMeterUI 5.6.
Also, added pre-run hostname and license validations.Detailed release notes: Releases ยท atlassian/dc-app-performance-toolkit . To get the latest version of the toolkit do git pull on the master
branch. How to upgrade virtual env: pip install -r requirements.txt
from your virtual env.
How to update docker image: docker pull atlassian/dcapt
Step 1:
For both types of environments, follow the same steps as outlined in the documentation. However, if the command mentioned below fails, you will need to run it manually:
To execute the installation command for conf.tfvars
using Docker and winpty, follow the steps below:
Run the complete installation command with
winpty
:winpty docker run --pull=always --env-file aws_envs \ -v "/$PWD/dcapt.tfvars:/data-center-terraform/conf.tfvars" \ -v "/$PWD/dcapt-snapshots.json:/data-center-terraform/dcapt-snapshots.json" \ -v "/$PWD/logs:/data-center-terraform/logs" \ -it atlassianlabs/terraform:2.7.1 ./install.sh -c conf.tfvars
If this command fails, proceed to the next step.
If the full command fails, run the Docker container separately:
winpty docker run --pull=always --env-file aws_envs \ -v "/$PWD/dcapt.tfvars:/data-center-terraform/conf.tfvars" \ -v "/$PWD/dcapt-snapshots.json:/data-center-terraform/dcapt-snapshots.json" \ -v "/$PWD/logs:/data-center-terraform/logs" \ -it atlassianlabs/terraform:2.7.1
youโll get like below screenshot after executing the above command
After executing the above command, you will enter the Docker container environment.
Inside the Docker container, execute the installation command manually:
./install.sh -c conf.tfvars
After running this command, you should see the installation progress.
This approach allows you to troubleshoot any issues that may arise during the installation process. If the full command fails, you can break it down into steps to identify and resolve any problems with the installation.
If the installation command fails, it should be reattempted until successful. Upon successful execution, the console output will provide a Product URL resembling http://a1234-54321.us-east-2.elb.amazonaws.com/jira
.
Manual steps to run test execution
For each of the test runs (run1 to run5), the same documented steps should be followed. If the test execution commands fail during any run, manual steps must be taken to proceed with the test execution.
To manually initiate the test execution, follow the steps below:
Set the environment name in the Git Bash:
export ENVIRONMENT_NAME=your_environment_name
Run the following commands:
docker run --pull=always --env-file ./app/util/k8s/aws_envs \ -e 1REGION=us-east-2 \ -e ENVIRONMENT_NAME=$ENVIRONMENT_NAME \ -v "/$PWD:/data-center-terraform/dc-app-performance-toolkit" \ -v "/$PWD/app/util/k8s/bzt_on_pod.sh:/data-center-terraform/bzt_on_pod.sh" \ -it atlassianlabs/terraform:2.7.1 bash
Configure AWS EKS:
aws eks update-kubeconfig --name atlas-"$ENVIRONMENT_NAME"-cluster --region "$REGION"
Get the name of the execution environment pod:
exec_pod_name=$(kubectl get pods -n atlassian -l=exec=true --no-headers -o custom-columns=":metadata.name") echo "INFO: Execution environment pod name: $exec_pod_name"
Execute a shell in the identified pod:
kubectl exec -it "$exec_pod_name" -n atlassian -- bash
The provided image serves as a reference for the expected outcomes after completing all the aforementioned commands.
Certainly! Below are the revised sentences based on the provided commands:
Exit the current session by running the command:
exit
List all files and directories in the current location:
ls -la
List all files and directories in the "dc-app-performance-toolkit" directory:
ls -la dc-app-performance-toolkit
Remove the "/dc-app-performance-toolkit" directory from the container named "$exec_pod_name" in the "atlassian" namespace:
kubectl exec -it "$exec_pod_name" -n atlassian -- rm -rf /dc-app-performance-toolkit
Copy the local "dc-app-performance-toolkit" directory to the container named "$exec_pod_name" in the "atlassian" namespace. Retry up to 10 times in case of failures:
kubectl cp --retries 10 dc-app-performance-toolkit atlassian/"$exec_pod_name":/dc-app-performance-toolkit
Run a Docker container named "dcapt" with the specified configurations using the Jira YAML file. Ensure the correct application host name is set for proper functionality:
kubectl exec -it "$exec_pod_name" -n atlassian -- docker run --pull=always --shm-size=4g -v "/dc-app-performance-toolkit:/dc-app-performance-toolkit" atlassian/dcapt jira.yml
Please refer to the screenshot above to confirm that the execution is proceeding correctly.
The above screenshot shows the results after completion of run.
Note: Ensure that the application hostname is accurately configured; otherwise, the tool won't have the necessary information to navigate.
Once the run is completed, execute the following command from within the container:
kubectl cp --retries 10 atlassian/"$exec_pod_name":dc-app-performance-toolkit/app/results dc-app-performance-toolkit/app/results
This command will copy the run results back to your local environment. Donโt forgot to run the above command, otherwise it will not copy results to your local.
Just need to follow the same steps after every run.
Cleanup
kubectl exec -it "$exec_pod_name" -n atlassian -- rm -rf /dc-app-performance-toolkit
Copy from local to pod
kubectl cp --retries 10 dc-app-performance-toolkit atlassian/"$exec_pod_name":/dc-app-performance-toolkit
Start execution
Copy results back to local
Termination
Terminate the cluster by using the command
If the complete command didnโt worked and it throws an error then follow the below command
ย
Note: Need to clear the instances running in the aws environment. Make sure check all the cases like volumes, groups, instances, EKS cluster, RDS database and General purpose buckets.
ย
Step 2:
ย
After pulling the Data Center App Performance Toolkit locally then follow the step 4. Setting up Jira Data Center enterprise-scale environment with "large" dataset. of documentation Data Center App Performance Toolkit User Guide For Jira
Then we need to start execution by Navigate to dc-app-performance-toolkit
folder. Before running the command need to add winpty before the command start as shown below
After completing Step 4 of the documentation, proceed to Step 5.
Ensure you add the application hostname without โhttpโ and โ/jiraโ.
Continue following the steps as outlined in the documentation.
Before proceeding to Scenario 2: Scalability testing, you need to prepare the jira.jmx
file. To do this, follow Step 3: Develop and test app-specific actions locally, using the JMeter app-specific action development example.
Once all runs are completed, generate the dependency tree and dependency check report.
Clone the repository.
Open a command prompt inside the repository folder and run:
This will generate the
.jar
and.obr
files in thetarget
folder.Navigate to the
dependency-check-8.3.1-release\dependency-check\bin
directory and run:This will generate the dependency check report in HTML format.
To get the dependency tree, use the following command:
If dependency tree command is not worked, then check in the below documentation if any update in the command of Open Web Application Security Project (OWASP)
Security Scanner for Data Center apps