Topologies and mapping files for setting up a test staging environment

This topic shows sample topology diagrams and mapping files for using server rename to set up a test staging environment with actual production data. A staging environment is a test sandbox that includes a snapshot of production data isolated from the production environment.

When planning a test staging environment, you need to be especially careful not to contaminate production data or vice-versa. You accomplish this by masking out production servers in the mapping file. Be sure to consider any additional CLM servers, or any integrated servers, that might be connected to the production server.

Starting Point 1 - Single-server CLM production deployment

The following topology diagram shows a nondistributed CLM deployment prior to a rename. In this example, the Jazz® Team Server and the CLM applications all reside on the same host system.

Single-server CLM production deployment

Copying the production environment

To copy the production deployment to a staging environment, where you can perform a server rename and evaluate the results, follow the instructions at Setting up a test staging environment with production data. The following diagram shows what the topology would look like after a rename, where the CLM applications are all located on the same staging server - staging.example.org.

Copying the production environment

This scenario meets the requirements for a simplified mapping file. The prepared mapping file only needs to contain one mapping. No dummy mappings are needed since the simplified mapping covers all of the URLs in this topology. See Using a simplified mapping file for further details.

# Simplified mapping
source=https://production.example.org:9443
target=https://staging.example.org:9443

It is recommended that you edit your hosts file to redirect the production URL to a false IP address, as follows:

# 10.10.10.10 refers to an IP address that does not host a clm application.
10.10.10.10   production.example.org

Starting Point 2 - Production environment with two linked CLM deployments

The following topology diagram shows two linked CLM (JTS, CCM, QM, RM, JRS) deployments. Each CLM deployment is distributed, with the Jazz Team Server and each application running on a separate host. Both deployments integrate with a Jazz Reporting Service, and one deployment integrates with Rational ClearQuest and Rational ClearCase.

Production environment with two linked CLM deployments

Copying a single, distributed deployment to a staging environment

To copy the production deployment to a staging environment where you can perform a server rename and evaluate the results, follow the instructions at Setting up a test staging environment with production data. In this scenario, we are only going to bring one deployment into the staging area. The following diagram shows what the topology looks like following a rename in the staging environment. Note that Rational ClearQuest and Rational ClearCase are not supported in the staging environment, and the second deployment is grayed out.

Two linked CLM deployments after one is renamed

After the mapping file is generated and edited, it should look like this. To avoid contamination between the staging and production environments, dummy mappings have been added to the mapping file for the URLs of production servers that are not being staged.

#/jts
source=https://jts1.production.example.org:9443/jts
target=https://jts1.staging.example.org:9443/jts
#Additional Urls included in rename by /jts
#(CLM Help URL)
source=https://jts1.production.example.org:9443/clmhelp
target=https://jts1.staging.example.org:9443/clmhelp
#(The URL to the JAZZ Reporting Service)
#This URL was also contributed by "/ccm"
#This URL was also contributed by "/qm"
source=https://jrs.production.example.org:9082/rs
target=https://jrs.staging.example.org:9082/rs

#/ccm
source=https://ccm1.production.example.org:9443/ccm
target=https://ccm1.staging.example.org:9443/ccm

#/qm
source=https://qm1.production.example.org:9443/qm
target=https://qm1.staging.example.org:9443/qm

#/rm
source=https://rm1.production.example.org:9443/rm
target=https://rm1.staging.example.org:9443/rm
#Additional Urls included in rename by /rm
#(The address of the application used to generate images for graphical artifacts.)
source=https://rm1.production.example.org:9443/converter/htmlgen
target=https://rm1.staging.example.org:9443/converter/htmlgen

#The following list of URLs represent external servers that integrate with this Jazz Team Server or with applications registered to it.

#Do not uncomment these lines as they are for reference purposes only.
# source=https://cqwebhost.production.example.org:9443/cqweb/oslc
# target=https://cqwebhost.production.example.org:9443/cqweb/oslc
# source=https://cqsynchhost.production.example.org:8444/cqconnector/gateway
# target=https://cqsynchhost.production.example.org:8444/cqconnector/gateway

# Dummy mappings for affected URLs
source=https://cqwebhost.production.example.org:9443
target=https://dummyhost1.example.org:9443
source=https://cqsynchhost.production.example.org:8444
target=https://dummyhost2.example.org:8444

# Dummy mappings for the second CLM deployment
#/jts
source=https://jts2.production.example.org:9443/jts
target=https://jts2.dummyhost.example.org:9443/jts
#Additional Urls included in rename by /jts
#(CLM Help URL)
source=https://jts2.production.example.org:9443/clmhelp
target=https://jts2.dummyhost.example.org:9443/clmhelp

#/ccm
source=https://ccm2.production.example.org:9443/ccm
target=https://ccm2.dummyhost.example.org:9443/ccm

#/qm
source=https://qm2.production.example.org:9443/qm
target=https://qm2.dummyhost.example.org:9443/qm

#/rm
source=https://rm2.production.example.org:9443/rm
target=https://rm2.dummyhost.example.org:9443/rm
#(The address of the application used to generate images for graphical artifacts.)
source=https://rm2.production.example.org:9443/converter/htmlgen
target=https://rm2.dummyhost.example.org:9443/converter/htmlgen

It is recommended that you edit your hosts file to redirect all production URLs to a false IP address.

# 10.10.10.10 refers to an IP address that does not host a clm application.
10.10.10.10   cqwebhost.production.example.org
10.10.10.10   cqsynchhost.production.example.org
10.10.10.10   jts2.production.example.org
10.10.10.10   ccm2.production.example.org
10.10.10.10   qm2.production.example.org
10.10.10.10   rm2.production.example.org

Copying both distributed deployments to a staging environment

To copy the production deployment to a staging environment where you can perform a server rename and evaluate the results, follow the instructions at Setting up a test staging environment with production data. Because the deployments are linked, URLs for both deployments reside in each database. In this example, a separate map file is prepared for each of the two CLM deployments. The importURLMappings command must be run twice on each Jazz Team Server - once for the Jazz Team Server's mapping file and once with the other Jazz Team Server's generated mapping file. The following diagram shows what the topology looks like following a rename in the staging environment. Note that ClearQuest and ClearCase are not supported in the staging environment.

Two linked CLM deployments after both are renamed

After the mapping file for the first deployment is generated and edited, it should look like this. Dummy mappings have been added to the mapping file to avoid contamination between the staging and production environments.

#/jts
source=https://jts1.production.example.org:9443/jts
target=https://jts1.staging.example.org:9443/jts
#Additional Urls included in rename by /jts
#(CLM Help URL)
source=https://jts1.production.example.org:9443/clmhelp
target=https://jts1.staging.example.org:9443/clmhelp
#The URL to the Jazz Reporting Service
#This URL was also contributed by "/ccm"
#This URL was also contributed by "/qm"
source=https://jrs.production.example.org:9082/rs
target=https://jrs.staging.example.org:9082/rs

#/ccm
source=https://ccm1.production.example.org:9443/ccm
target=https://ccm1.staging.example.org:9443/ccm

#/qm
source=https://qm1.production.example.org:9443/qm
target=https://qm1.staging.example.org:9443/qm

#/rm
source=https://rm1.production.example.org:9443/rm
target=https://rm1.staging.example.org:9443/rm
#Additional Urls included in rename by /rm
#(The address of the application used to generate images for graphical artifacts.)
source=https://rm1.production.example.org:9443/converter/htmlgen
target=https://rm1.staging.example.org:9443/converter/htmlgen

#The following list of URLs represent external servers that integrate with this Jazz Team Server or with applications registered to it.
#source=https://cqwebhost.production.example.org:9443/cqweb/oslc
#target=https://cqwebhost.production.example.org:9443/cqweb/oslc
#source=https://cqsynchhost.production.example.org:8444/cqconnector/gateway
#target=https://cqsynchhost.production.example.org:8444/cqconnector/gateway

# Dummy mappings
source=https://cqwebhost.example.org:9443
target=https://dummyhost1.example.org:9443
source=https://cqsynchhost.production.example.org:8444
target=https://dummyhost2.example.org:9443

After the mapping file for the second deployment is generated and edited, it should look like this. Dummy mappings have been added to the mapping file to avoid contamination between the staging and production environments. Note that the same JRS mapping is included in the first and second mapping files. The importURLMappings command will detect that this is the same and it will be a no-op the second time around.

#/jts
source=https://jts2.production.example.org:9443/jts
target=https://jts2.staging.example.org:9443/jts
#Additional Urls included in rename by /jts
#(CLM Help URL)
source=https://jts2.production.example.org:9443/clmhelp
target=https://jts2.staging.example.org:9443/clmhelp
#The URL to the Jazz Reporting Service
#This URL was also contributed by "/ccm"
#This URL was also contributed by "/qm"
source=https://jrs.production.example.org:9082/rs
target=https://jrs.staging.example.org:9082/rs

#/ccm
source=https://ccm2.production.example.org:9443/ccm
target=https://ccm2.staging.example.org:9443/ccm

#/qm
source=https://qm2.production.example.org:9443/qm
target=https://qm2.staging.example.org:9443/qm

#/rm
source=https://rm2.production.example.org:9443/rm
target=https://rm2.staging.example.org:9443/rm
#Additional Urls included in rename by /rm
#(The address of the application used to generate images for graphical artifacts.)
source=https://rm2.production.example.org:9443/converter/htmlgen
target=https://rm2.staging.example.org:9443/converter/htmlgen

# Dummy mappings
source=https://cqwebhost.production.example.org:9443
target=https://dummyhost1.example.org:9443
source=https://cqsynchhost.production.example.org:8444
target=https://dummyhost2.example.org:9443

It is recommended that you edit your hosts file to redirect the production URL to a false IP address.

# 10.10.10.10 refers to an IP address that does not host a clm application.
10.10.10.10   cqwebhost.production.example.org
10.10.10.10   cqsynchhost.production.example.org
10.10.10.10   jts2.production.example.org
10.10.10.10   ccm2.production.example.org
10.10.10.10   qm2.production.example.org
10.10.10.10   rm2.production.example.org