EditAttachPrintable
r6 - 2020-05-22 - 08:45:44 - PaulEllisYou are here: TWiki >  Deployment Web > DeploymentPlanningAndDesign > LifecycleQueryEngineBestPractices > GC-Broken-Link-Must-Gather

Must Gather to troubleshoot Broken Links in GC enabled Project Areas todo.png

Authors: NatarajanThirumeni
Build basis: ELM (formally known CLM - Collaborative Life-cycle Management) v6.0.6.1 / 6.0.6

Introduction

This document explains if a broken link issue is reported In Global Configuration (GC) enabled project areas of IBM Engineering Test Management (ETM) and IBM Engineering Requirements Management DOORS Next (RDNG) then what kind of logs you'd have to collect to debug this issue. Please note, this document do not explain where links are stored or details about Link Indexing Service (LDX) . This is a high level guide to explain as to what kind of logs to be collected to investigate the broken link issues in GC context. Although, most of the logs could be collected as a Jazz User but we'd suggest to use a Jazz administrator role user .

Example use case

Troubleshooting broken links in GC enabled project area is complex and this document will explain what kind of logs are needed to debug a broken configuration. The broken links could be classified in several ways, lets us consider following two use cases:

  • Creating a link from ETM Test Case (TC) to RDNG requirement is expected to establish a link between TC and requirement. In some cases, you'd see a link of TC in RDNG requirement but not in TC (Forward link missing) or vice-versa (Back link missing).

  • Populating artifacts from a GC baseline into a GC stream. In GC baseline link between Test case and RDNG requirement exist as expected, however GC stream created out that baseline contains a broken links.

Log Collections : Steps

1. Output of Configuration tree, copy outcome into a text file called GC-ID.txt

https://<server>:<port>/rm/gcsdk/tree?configurationUri=https://<server>:<port>/gc/configuration/<GC-ID>

GC-ID : is a URL to where configuration exist e.g

https://<server>:<port>/gc/configuration/3

2. Local configuration URI of ETM. This can be obtained from the Configuration Management (CM) enabled Project Area where Test case exist. From Configuration context menu, hover over Local Configuration name and copy link, e.g

https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/_1QceYBSuEequ-JEash4SxA

3. GC versioned Test Case URL. From Test Case view, click on "Copy link for this page" and then select Copy OSLC URL. e.g

https://<server>:<port>/qm/oslc_qm/contexts/<_0VIssRSuEequ-JEash4SxA>/resources/com.ibm.rqm.planning.VersionedTestCase/_Ggks8xSwEequ-JEash4SxA/_4dfh2xSxEequ-JEash4SxA

4. Local configuration URI of RDNG. This can be obtained from the CM enabled Project Area where RDNG Requirement exist , e.g

https://<server>:<port>/rm/cm/stream/_xQvHkBSuEeqCl9XOGtTvzQ

5. RDNG requirement link that was added to TC. From requirement use "more actions" icon and pick up "Share Link to Artifact" option and then copy the link , e.g

https://<server>:<port>/rm/resources/_-5ElgxSuEeqCl9XOGtTvzQ

6. ETM TC history PDF. From TC menu, go to History, click on Export History to save TC history.

7. TRS Feed. To download TRS, go to ETM trsConsole. Its important can get the TRS feed as soon as problem is reported, the feed contain all the orders for past 7 days.

https://<server>:<port>/qm/trsConsole

Click on download, this should download a ZIP of the TRS2 feed (RQM Resources (TRS 2.0)) including all base page(s) and change log page(s)

8. LDX SPARQL query output for Test Case version state in the configuration. To run this query go to LDX query page and run,

prefix dcterms: <http://purl.org/dc/terms/>
prefix oslc_config: <http://open-services.net/ns/config#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?selected 
WHERE
{
  <https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/<uuid-lc-etm>/selections>
  <http://open-services.net/ns/config#selects>
  
   ?selected FILTER regex(str(?selected), "<TC-Item ID>")
}

Note: <uuid-lc-etm> : this is UUID of the local config, see step 2) <TC-Item ID> : VersionedTestCase Item ID, see step 3)

The query output normally should match the version of the TC you collected in Step 3.

9. In same LDX query page you'd need to run RDNG resource SPARQL query against LDX, this query should be scoped to GC where the link exists (eg gcStream1) in LDX. It’s the query that RDNG uses to fetch the links from LDX

prefix dcterms: <http://purl.org/dc/terms/>
prefix oslc_config: <http://open-services.net/ns/config#>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix owl: <http://www.w3.org/2002/07/owl#>

SELECT ?sURL ?linkType ?tURL ?indLinkType 
WHERE {
   {
      VALUES ?linkType {
         <http://jazz.net/xmlns/prod/jazz/calm/1.0/implementsRequirementCollection>
         <http://open-services.net/ns/qm#validatesRequirementCollection>
         <http://open-services.net/ns/qm#validatesRequirement>
         <http://open-services.net/ns/cm#implementsRequirement>
         <http://open-services.net/ns/cm#affectsRequirement>
         <http://open-services.net/ns/cm#tracksRequirement>
      }
      VALUES ?tURL {
         <RDNG resource URI>
      }
      {
         ?sURL ?linkType ?tURL.
         BIND( ?linkType as ?indLinkType ) .
      }
      UNION
      {
         ?indLinkType owl:sameAs ?linkType .
         ?sURL ?indLinkType ?tURL .
      }
   }
   OPTIONAL
   {
      ?reification rdf:subject ?sURL .
      ?reification rdf:predicate ?indLinkType .
      ?reification rdf:object ?tURL .
      ?reification ?property ?release .
      ?release oslc_config:configuration ?config
   }
}
ORDER BY ?tURL ?linkType ?sURL LIMIT 1000

  • RDNG resource URI - you'd need to substitute requirement URL (See step 5)

10. We'd verify if selections page contain if the state ID of the versioned test case, you can go to selection page

https://<server>:<port>/qm/oslc_config/resources/com.ibm.team.vvc.Configuration/<uuid-lc-qm>/selections
<uuid-lc-qm> : is UUID of the local configuration (see step 2)

11. From LDX get the status page of Skipped Resources for ETM Data Source (links-qm data Source) if any skipped resources are present.

12. From LDX get the status page of Invalid Updates for ETM Data Source (links-qm data Source) if any invalid updates are present.

13. Get ETM logs (qm.log) and LDX log (ldx.log)

Related topics: Deployment web home, Deployment web home

External links:

Additional contributors: ZeeshanChoudhry

Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r13 | r8 < r7 < r6 < r5 | More topic actions...
 
This site is powered by the TWiki collaboration platformCopyright © by IBM and non-IBM contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use. Please read the following disclaimer.
Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.