Highlighted
Established Member..
Established Member..
941 views

GDBA – Federation

Hello,

 

I am trying to integrate a 3th party ticketing solution into the uCMDB and I have been fighting for the past days with the configuration of the orm.xml file.

I have read all the available docs on this subject but have not been able to make this work correctly with the relationships.

 

Basically what I need to accomplish is the following:

Federate the CIT’s Incidents from an external DB table (BSM_TK) and relate them with the local uCMDB BusinessService CIT’s that already exists in the uCMDB, something like this:

 

Federated CI --Link-->  Existing uCMDB CI's

TK-0987 –-(membership)--> BS_DummyService

TK-0988 –-(membership)--> BS_DummyService

 

External DB Schema:

 

TQL using the GDBA Integration Point for the Incidents:

 

 

I have attached the orm.xml definition I am using.

 

Can someone please explain me what I'm doing wrong or how I can make this setup work.

 

 

Best regards and thanks in advance,

Sebastian

Tags (3)
0 Likes
5 Replies
Highlighted
Established Member..
Established Member..

Re: GDBA – Federation

What errors are you receiving?
effectualsystems.com
0 Likes
Highlighted
Established Member..
Established Member..

Re: GDBA – Federation

Not really, I have even activated the debugging on the modules fcmdb, fcmdb.gdba while executing the TQL but cant figure out what's causing the issue.

Here are some log traces when I execute the TQL.


TQL with the membership relationship : (preview snapshot: Right)

2014-05-20 14:17:58,076 [1364881615@qtp0-21683] (FederatedPatternCalculatorImpl.java:155) INFO  - [1254360453] Calculate() is starting. Virtual link: link type=[membership] end 1 Type=[incident] end 2 Type=[business_service] end1Federated=[true], source class: business_service, source: UCMDB, target: IncidentAdapter, forward link: false, have custom mapping engine: false
2014-05-20 14:17:58,077 [1364881615@qtp0-21683] (FederatedPatternCalculatorImpl.java:564) INFO  - [1254360453] Calculated reconciliation CI type by checking which of the virtual link ends is federated. CI type: business_service
2014-05-20 14:17:58,077 [1364881615@qtp0-21683] (FederatedPatternCalculatorImpl.java:418) INFO  - [1254360453] Classify source objects to reconciliation binning. Given types to reconciliation types map: {business_service=business_service}
2014-05-20 14:17:58,078 [1364881615@qtp0-21683] (FederatedPatternCalculatorImpl.java:174) WARN  - [1254360453] Unable to proceed with federation, since either the given source objects is empty or that none of it matches the supported CI type of reconciliation by the adapter
2014-05-20 14:17:58,078 [1364881615@qtp0-21683] (FtqlQueryAdHocCalculator.java:168) INFO  - [1254360453] calculateTql() on pattern "IncidentFederation" completed in: 5 msec, result size: 0 items

 
TQL only with the incident and business_service nodes: (preview snapshot: Left)

2014-05-20 14:36:50,293 [1360721701@qtp0-21688] (FtqlQueryAdHocCalculator.java:97) DEBUG - [1260345333] calculateTql() is starting on pattern "IncidentFederation". Pattern: [Num of nodes [2] ; 11 - incident ; 12 - business_service  Num of links [0]]
2014-05-20 14:36:50,294 [1360721701@qtp0-21688] (FtqlQueryAdHocCalculator.java:123) INFO  - [1260345333] Pattern is calculated on a single data source: IncidentAdapter
2014-05-20 14:36:50,295 [1360721701@qtp0-21688] (FederationQueryManipulatorAggregatorImpl.java:53) DEBUG - Finished running federated manipulator[FederationQueryCiDowngradeManipulator]. Investigation time: 0 msec
2014-05-20 14:36:50,295 [1360721701@qtp0-21688] (FederationQueryManipulatorAggregatorImpl.java:53) DEBUG - Finished running federated manipulator[FederationQueryLinksValidationManipulator]. Investigation time: 0 msec
2014-05-20 14:36:50,296 [1360721701@qtp0-21688] (FederationQueryManipulatorAggregatorImpl.java:53) DEBUG - Finished running federated manipulator[FederationQueryVirtualLinkDowngradeManipulator]. Investigation time: 0 msec
2014-05-20 14:36:50,296 [1360721701@qtp0-21688] (FederationQueryManipulatorAggregatorImpl.java:61) INFO  - Finished running all federated query manipulators, No need to split query - all types are strictly federated. Investigation time: 2 msec

 


Best regards,

Sebastian

0 Likes
Highlighted
Established Member..
Established Member..

Re: GDBA – Federation

Sebastian,

 

We're a little confused as to your desired end state. Do you think this is a population that is joining results from one source to another where the business_service matches?

 

Federation is an on-demand "look and see" process. Are you sure you don't want to populate the Incidents into UCMDB? Your TQL is trying to use the local CMDB business service, but you're also calling the "business_service" in the ORM file from the remote system and this isn't represented in your TQL. You could change the TQL Business Service component to pull from the federated source and then join the Business Service to local CMDB where the attributes line up with the right cardinality.

 

The clue here is that you're getting 0 results in the processing so the job can't complete. The ORM is pretty straightforward and should be able to return both the Business Service colum and the Incident information. But the TQL itself seems to be disqualifying the ORM results.

I would also suggest you use the relationship "Connection" instead of "Membership". IT Process Records can have membership, but the relationship makes a lot less sense than "Connection".

This is challenging stuff to try and help with having only a small amount of information, so please bear with us if we're off base.

 

Erik

 

effectualsystems.com
0 Likes
Highlighted
Established Member..
Established Member..

Re: GDBA – Federation

First of all thanks for the response, I completely understand that this is a complex problem with many interactions to try to troubleshoot through the forums.
 
 
Anyway nightlight I after a 3th round I finally managed to make it work 😉

 

>We're a little confused as to your desired end state. Do you think this is a population that is joining results from one source to another where the business_service matches?

>Federation is an on-demand "look and see" process. Are you sure you don't want to populate the Incidents into UCMDB?

I have precisely choosing not to populate the incidents into uCMDB as this will complexify the integration, it also obligates me to handle the synchronization between the ticketing system and the uCMDB.

In our use case we just need to know the currently opened incidents and don't really care about the historization. This is why I have preferred to use the federation functionality.

 

>I would also suggest you use the relationship "Connection" instead of "Membership". IT Process Records can have membership, but the relationship makes a lot less sense than "Connection".

Ok thanks for the suggestion, I have chosen Membership as it's the one used in the OOTB tickets integration TQL's

 

 

Finally the solution was relatively simple, the issue was that in the reconciliation_types.txt file I only had the "incident" CIT once I added "business_service" it resolved my issue.

 

 

 

Best regards,

Sebastian

0 Likes
Highlighted
Established Member..
Established Member..

Re: GDBA – Federation

Sebastian,

 

Glad to hear you had success and you didn't need help to accomplish it.

To help others, can you list your sources you used to work through the development and accomplish the outcome you're looking for? Or an ordered step of the work from start to successful finish?

I assure you someone will be along in the future and perform necromancy on this thread...

 

Have a good one,

 

Erik

 

 

effectualsystems.com
0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.