/
Data Center App Testing User Guide

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:

image-20240129-062234.png
Development environment
image-20240129-062349.png
Enterprise-scale environment

To execute the installation command for conf.tfvars using Docker and winpty, follow the steps below:

  1. 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.

  1. 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.

  1. 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:

  1. Set the environment name in the Git Bash:

    export ENVIRONMENT_NAME=your_environment_name

  2. 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

  3. Configure AWS EKS:

    aws eks update-kubeconfig --name atlas-"$ENVIRONMENT_NAME"-cluster --region "$REGION"

  4. 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"

  5. 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:

  1. Exit the current session by running the command:

    exit

  2. List all files and directories in the current location:

    ls -la

  1. List all files and directories in the "dc-app-performance-toolkit" directory:

    ls -la dc-app-performance-toolkit

  1. 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

  2. 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

  1. 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.

  1. Cleanup

kubectl exec -it "$exec_pod_name" -n atlassian -- rm -rf /dc-app-performance-toolkit
  1. Copy from local to pod

kubectl cp --retries 10 dc-app-performance-toolkit atlassian/"$exec_pod_name":/dc-app-performance-toolkit
  1. Start execution

  1. 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.

  1. Clone the repository.

  2. Open a command prompt inside the repository folder and run:

    This will generate the .jar and .obr files in the target folder.

  3. 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.

  4. 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