Steps
Follow the steps to enable contributions between Global Configuration Management servers.
Procedure
-
Add friend relationships. For more information, see the prerequisites.
-
On each Jazz® Team Server, go to the
administration page
(https://hostname:port/jts/admin), and create
outbound friend relationships to the following applications. Do this even if there are no direct
links between artifacts in those applications.
- Applications that will use or contribute to global configurations and that are on servers that aren't registered to the Jazz Team Server of the home Global Configuration Management server.
- Applications whose artifacts you want to link. For example, if you want to create links between Engineering Requirements Management DOORS® Next and Engineering Test Management artifacts but these applications are on different servers, you must configure a friend relationship between them.
Example
The configuration tree in the following image contains configurations from two Engineering Lifecycle Management instances. Each application in the Engineering Lifecycle Management 1 instance (the top highlighted section of the hierarchy) is friends with each application in the Engineering Lifecycle Management 2 instances (the bottom highlighted section of the hierarchy), and the reverse. These friend relationships must be configured even if applications don't directly interact with each other.
-
For each friend relationship that you add, approve the friend relationship in one of these
ways.
- In the wizard when you create the friend relationship: You can approve the provisional key, and configure the functional user for each friend relationship in the same wizard.
- On the Jazz Team Server (Global Configuration Management and RM only): On the Server Administration page, click Consumers (Inbound), and open the OAuth Consumers page. In the Provisional Keys section, change Pending to Approved.
- In the friend application (applications other than Global Configuration Management and RM): On the Application Administration page, click Consumers (Inbound), and open the OAuth Consumers page. In the Provisional Keys section, change Pending to Approved.
-
For each friend relationship, if you didn't configure the functional user before, you can
specify it using the following method:
- Engineering Requirements Management DOORS Next and Global Configuration Management applications: Go to https://hostname:port/jts/admin.
- Other Engineering Lifecycle Management applications: Go to the Application Administration page.
Then, click Consumers (Inbound) and in the Authorized Keys section, set the functional user for each authorized friend (one for each Engineering Lifecycle Management application).
The functional user does not require any privileges and can be any user on the other Jazz Team Server. For convenience, you can use the predefined functional user for that application. For details, see System users.
For details about configuring consumers and functional users, see Configuring OAuth consumers.
- Confirm that there are no other items to approve on this page.
-
On each Jazz® Team Server, go to the
administration page
(https://hostname:port/jts/admin), and create
outbound friend relationships to the following applications. Do this even if there are no direct
links between artifacts in those applications.
-
Create project area associations.
Note: Complete this step before you set the Project area associations are required for contributions property to true (step 3.c). Otherwise, team members won’t find the configurations they need in the configuration picker and on the configuration context menu.
See the Project area associations section for details about the SPARQL query on the wiki that can help you complete this step.
On each home Global Configuration Management server, for each Global Configuration Management project area, add associations to all project areas that provide configurations.
- On the banner, click Administration > Manage This Project Area.
- On the Overview page, scroll to the Associations section.
-
Click Add, select the application, and select Uses –
Configurations; then, select a project area, and click OK.
Repeat this step until you've added all the project areas that contribute or will contribute configurations to global configurations in this project area.
- Click Save near the upper right of the page. Repeat these steps for the other project areas in this Global Configuration Management instance.
- After you add the associations for the current project area, repeat steps 2.a to 2.d for the other Global Configuration Management project areas in this Global Configuration Management instance.
- After you add associations for all the project areas in this Global Configuration Management instance, repeat these steps for the rest of the Global Configuration Management instances.
-
On each home Global Configuration Management server, set the following properties on the Advanced
Properties page at
https://server_name:port/gc/admin:
-
MQTT broker URI: Example:
tcp://broker_server_name:1883
The broker URI must use a fully qualified domain name (FQDN) so that it resolves to the same MQTT broker across all the participating servers.
Port 1883 is typically the default port for the MQTT protocol.
Note: If you rename the host or move the MQTT broker to a different host, you must manually set the MQTT broker URI property on the Advanced Properties page. -
Use MQTT for contribution cache: Set this
option to
true
. - Project area associations are required for contributions: Set this option to true.
- Allow external contributions of global configurations: Set this option to true.
- Click Save.
- Restart the Global Configuration Management instances.
- Restart the other applications.
-
MQTT broker URI: Example:
tcp://broker_server_name:1883
-
Consolidate the LDX servers.
- Choose one of the LDX servers as the common LDX server that all the applications will use: https://server_name:port/ldx.
-
Add data sources.
- Click Manage data sources > Add Data Source and follow the steps in the wizard.
- The applications that are already registered to the same Jazz Team Server as LDX will appear in the data source list.
- You can also add applications from other Jazz Team Server instances using the Root
Services URL option as described in Adding data sources to Lifecycle Query Engine by using root services documents.
For information on how to create consumer keys that are required to authenticate users for adding data sources, see Configuring OAuth consumers.
- Make sure the list includes these data sources:
- Data sources that are shown on the Data Sources pages across the LDX servers before consolidation.
- Data sources for all the Global Configuration Management instances and Engineering Lifecycle Management applications that contribute or will contribute to global configurations.
- Click Manage data sources > Add Data Source and follow the steps in the wizard.
-
In the Advanced Properties page on each Jazz Team Server (except
the Jazz Team Server where the common LDX server is registered), set the
Link Index Provider URL
property to the common LDX instance.You do not have to add this URL to the same property on the Advanced Properties page of the applications. The applications use the value you added for the Jazz Team Server.
- Optional:
Remove LDX servers you no longer need.
You can remove them in one of the following ways:
- Ignore them and leave them running.
- Stop the application in the web container or script.
- Unregister and uninstall the server.
-
Ensure that all applications (Global Configuration Management, RM, QM, and so on) use the same Lifecycle Query Engine
server.
- If your deployment uses multiple Lifecycle Query Engine servers, stop all of them except one. For example, you might not stop the Lifecycle Query Engine server on the home Global Configuration Management server that has the most applications registered.
- In the Lifecycle Query Engine application, add data sources for all the Global Configuration Management instances and Engineering Lifecycle Management applications that contribute or will contribute to global configurations on the home Global Configuration Management server. See the related topic about managing Lifecycle Query Engine data sources.
- If you stopped multiple Lifecycle Query Engine servers in step 5.a, consider removing those servers from the deployment.
- In the Report Builder application you want to use across all the multiple Global Configuration Management and related app instances, ensure that it is connected to the same Lifecycle Query Engine server that you chose to keep in step 5.
-
Stop and then restart all the Global Configuration Management servers and other applications in this order:
- First, restart each home Global Configuration Management server.
- Restart the Engineering Lifecycle Management applications on each home Global Configuration Management server.
- Restart any other applications on external servers that are affected by the changes that you made in steps 1 and 2.
Note: If you install other applications that contribute to global configurations and any of the following Global Configuration Management properties are not set to their default value, you must restart those new applications after you register them:- MQTT broker URI
- Allow external contributions of global configurations
- Project area associations are required for contributions
- Use MQTT for contribution cache
Results
Configuration leads can now build configuration hierarchies that include global configurations from associated project areas on other Global Configuration Management instances. The configurations are filtered, so they'll see configurations only from associated project areas, which can help prevent version skew.
The Global Configuration Management application also detects component skew in nested configurations from Engineering Workflow Management source control management (SCM) and IBM Engineering Systems Design Rhapsody® - Model Manager ,. This type of component skew is referred to as deep component skew. For an example of deep component skew, see Detecting component skew (checking for different configurations of a component).
What to do next
You can query for global configurations having external contributions or local configurations to monitor the reuse of components. For more information, see Finding global configurations that have external contributions or local configurations.