User guide for Data Center App Performance Toolkit
Link: https://developer.atlassian.com/platform/marketplace/dc-apps-performance-toolkit-user-guide-jira/
The above link is the Data Center App Performance Toolkit User Guide for Jira.
In this document, it covers the use of the Data Center App Performance Toolkit in two types of environments:
Development environment
Enterprise-scale environment
For both types of environment need to the same steps as mentioned in the documentation. But while running the below command, if it fails we need to run 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 REGION=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
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
Copy results back to local
kubectl cp --retries 10 atlassian/"$exec_pod_name":dc-app-performance-toolkit/app/results dc-app-performance-toolkit/app/results
Termination
Terminate the cluster by using the command
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 ./uninstall.sh -c conf.tfvars
If the complete command didn’t worked and it throws an error then follow the below command
./uninstall.sh -c conf.tfvars
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.