1 2 Previous Next 24 Replies Latest reply on Oct 11, 2017 2:30 AM by Raj Hiremath

    Relationship Reconciliation ? (ID Rules)

    Marek Ceizel

      Hello together,

       

      Doing Relationship Reconciliation for some time I recognized this part is not totally clear to me.

       

      In our CMDB, external system is creating Relationships using WS. Relationships are created in XXX Dataset but Source and Destination InstanceId's are from BMC Asset (as the CI's don't exist in XXX Dataset).  Now to Identify these Relationships I compare Name, Source InstanceID and Destination InstanceID between XXX and BMC Asset.

      This works well but in Beta testing program I got a question, why do you need to define ID Rules for Relationships ? This is not used .... ?

      ----

      Because of that I started to think about a scenario, where I create also CI's in XXX Dataset. So I have CI's and Relationships in XXX Dataset and want to Reconcile to BMC Asset.

      How will I identify the Relationships against BMC Asset ? Source InstanceId and Destination InstanceId are unique and following XXX Dataset CI's InstanceId's.

       

      And, is my proceeding described on the top correct ?

      ----

       

      Thanks a lot for some knowledge share and help to understand

      I will mention extra Carey Walker to take a look please

       

      thanks a lot

      Marek

        • 1. Re: Relationship Reconciliation ? (ID Rules)
          Carey Walker

          Hi Marek

           

          My understanding is that relationships are kind of identified for you by the recon. engine provided the relationship endpoints are identified successfully. I don't recall explicitly creating ID or merge rules for relationship classes in jobs we built, but the relationships all got merged fine. Of course this was in a more regular scenario than the one you mentioned (i.e. it was a dataset with CIs and relationships together). The recon. engine works the records in any dataset in a hierarchy, and by the time it gets to relationships, it looks at the endpoints, and provided it finds both CIs are now ID'd, it copies in the endpoint recon ids into the relationship definition and generates a recon id for the relationship itself. I think that's basically what it does.

           

          To test this out in your second scenario, create some CIs in XXX dataset and create relationships between these CIs in the XXX dataset. Define the recon. ID rues you want for the CIs, but don't include the relationship classes in ID rules. Run just the Id activity in a job. I think you'll find the relationships will be identified now, provided their endpoint CIs were ID'd ok against BMC.ASSET (or whatever target dataset you are using).

          3 of 3 people found this helpful
          • 2. Re: Relationship Reconciliation ? (ID Rules)
            Marek Ceizel

            Hello Carey,

             

            As usual, EXCELLENT!

            To be honest, I thought/hoped it works like you described. Of course for the "normal" scenario, where you have CI's and Relationships in the XXX Dataset. It's great that it's like that so I don't have to worry for that case anymore. Thanks for explaining

             

            However you see my use case is pretty special. The external system has access to CI's in BMC Asset (only read using WS). From there he get's informations and InstanceId's and then is building JUST relationships in XXX Dataset. They are afterwards reconciled using my ID Rules into BMC Asset.

             

            I think for my case there is no other way just to define ID Rules for Relationships, right ? Or do you see other way ?

            Ergo, the ID Rules for Relationships should be definable (which is at the moment not the case in CMDB Beta).

             

            Thank you once again Carey.

             

            best regards

            Marek

            • 3. Re: Relationship Reconciliation ? (ID Rules)
              Raj Hiremath

              I think what you are saying applies to sandbox use case as well, I would have loved to actually do that and see, but have come out today, if possible can you remove that Id rule, restart the server ( just to ensure no caching comes into play ) and see if the relationship gets reconciled?

               

              Sent from my iPhone

              • 4. Re: Relationship Reconciliation ? (ID Rules)
                Marek Ceizel

                Hi Raj,

                 

                Do you ask me to try that for this case ?:

                ------

                However you see my use case is pretty special. The external system has access to CI's in BMC Asset (only read using WS). From there he get's informations and InstanceId's and then is building JUST relationships in XXX Dataset. They are afterwards reconciled using my ID Rules into BMC Asset.

                ------

                 

                If yes, this would be a problem. The reconciliation processes only the relationships. There will be any other ID Rule.

                 

                regards

                Marek

                • 5. Re: Relationship Reconciliation ? (ID Rules)
                  Raj Hiremath

                  Well it's being a while since I saw the reconciliation engine code ( one of the most complex pieces, if I may admit ), however I am pretty sure if xxx is overlay dataset of BMC.ASSET , which is what it should be based on your description, if not, any reason why it is not , can you please try that.

                  Apart from this, if it is not overlay, would like to see what error message we get, I have a brief idea, but would like to confirm.

                  Can you please try both the scenarios, with and without overlay?

                   

                  Sent from my iPhone

                  • 6. Re: Relationship Reconciliation ? (ID Rules)
                    Marek Ceizel

                    Hi Raj,

                     

                    Actually it's not an overlay. It's a new dataset. I didn't even think about creating an overlay. This one is filled by some external system so I want to be safe....however....should I ?

                    - To remove the only one ID Rule from actual solution (not an overlay but own XXX Dataset) would mean there will be no Identification set in the Recon Job....

                    - I can try the scenario with Overlay but this will take some time ...

                     

                     

                    regards

                    Marek

                    • 7. Re: Relationship Reconciliation ? (ID Rules)
                      Carey Walker

                      Hi Marek

                       

                      I'm interested in why you need to do what you have explained. If I follow properly, it sounds like you are wanting to use an external process to build your relationships in dataset XXX and then get them merged into BMC.ASSET, based on details you also set up in XXX from BMC.ASSET.

                       

                      So I guess you don't have any discovery option to understand those relationships, but do know about those relationships some other way. So you know, say, that computer system A and Application System B are related, so you build the relationship in XXX including the details of the CI endpoints you pull in from BMC.ASSET etc.

                       

                      Is the process working OK? So all your relationships do get identified against BMC.ASSET ok and hence also merge ok (being created or updated OK in BMC.ASSET)?

                       

                      It's a fairly unusual process, but not totally. In the past we used Atrium Integration Engine to create relationships n a dataset that already had CIs in it, where the CIs had special fields we defined in each class with values that allowed us to define the relationships. Once the AIE job ran to build the relationships, we reconciled into BMC.ASSET and it worked well.

                      • 8. Re: Relationship Reconciliation ? (ID Rules)
                        Marek Ceizel

                        Hello Carey,

                         

                        You see ? you almost described my case. So it is required that we can define ID Rules also for Relationships.

                        My case is - easy described - following:

                        1) external system knows which CI's should be related and searched for their InstanceId'd.

                        2) Using InstanceId's it finds , the external system creates Relationships in XXX Dataset.

                        3) These are Reconciled (ID,MERGE) each halfanhour into ASSET using Relationship/Name-SourceInstanceID-DestinationInstanceID Rule.

                        4) Later the externa system cann aditionally remove Relationships from his XXX Dataset. According best practice of course he marks them as Deleted

                        5) the new status is also reconcile into ASSET using the same reconciliation.

                         

                        I think this is not so special use case. However it is clear, ID Rules are reuqired to make it running as :

                        1) I don't want to allow the externa system to write directly into BMC Asset

                        2) I don't like even the solution with Sandbox (I hope this is the Overlay solution proposed from Raj). I'm not sure how would that work in my case.

                         

                        Thanks a lot

                        Marek

                        • 9. Re: Relationship Reconciliation ? (ID Rules)
                          Raj Hiremath

                          Can you try having xxx as overlay dataset and see without Id rules for relationships, if that works.

                          For the use case that you are describing, xxx is really an intermediate dataset, and the real purpose is to ethically ( read via reconciliation) create those relationships in asset.

                           

                          Sent from my iPhone

                          1 of 1 people found this helpful
                          • 10. Re: Relationship Reconciliation ? (ID Rules)
                            Marek Ceizel

                            Hello Raj,

                             

                            I have to say you rule! To be honest, I didn't know much about Overlay Datasets. It's a really nice thing.

                            However, I will stay with my actual solution, so separate dataset (you know, this overlay feels too near to Asset Data ). Additionally for me there is no value add for my case as the external system is not creating these Relationships directly into the dataset but into a temporary form. This is required as sometimes only TokenId is available and that is not useful for Relationships creation. So I have to search InstanceId for the TokenId at first and then create the Relationship by myself

                             

                            Anyway the Relationship theme:

                            - I created Reconciliation job just with just BMC_Document in ID Rule.

                            - In the XXX dataset I created relationship between ComputerSystem and ApplicationService. (no BMC_Document CI)

                            - The reconcilation created the relationship in BMC Asset

                             

                            This means you're right. But before I agree that we don't need Relationships in ID Rules, can you please explain me how was this relationship identified ? Is it because the Source and Destination InstanceIDs used in Relationship were both found in BMC Asset ?

                             

                            thanks a lot

                            Marek

                            • 11. Re: Relationship Reconciliation ? (ID Rules)
                              Raj Hiremath

                              Sorry for the delay, I missed this one.

                              The overlay dataset – well, few posts :

                              https://communities.bmc.com/thread/125737?start=0&tstart=0

                              https://docs.bmc.com/docs/display/public/ac201401/Creating+datasets

                              https://docs.bmc.com/docs/display/public/ac201401/Sandboxviewsand+datasets

                               

                              All data expect for the ones explicitly added or modified in overlay dataset, are available in overlay dataset (xxx in your case) which is present in underlay dataset (BMC.ASSET in your case).

                              So, the end point CIs are found when searched for in xxx dataset as they are already present in BMC.ASSET.

                               

                              Hope this clarifies.

                               

                              Let us know your overall direction on how you want to handle such case from now on.

                               

                              -Raj

                              • 12. Re: Relationship Reconciliation ? (ID Rules)
                                Marek Ceizel

                                Hi Raj,

                                 

                                Now I got the relationship reconciliation logic. So if relevant CI's are found in BMC Asset , the Relationships are reconciled too.

                                 

                                If I want to reconcile ONLY relationships ? you wrote I don't need to define them , but I have to define something to have Identification step running.

                                So If I don't want reconcile anything else just relationships, how should I create Identification step of reconciliation ?

                                Or this one is in this case not required and I have just to merge ?

                                 

                                thanks a lot

                                Marek

                                • 13. Re: Relationship Reconciliation ? (ID Rules)
                                  Raj Hiremath

                                  You can use standard RE Jobs.

                                  They will have standard RE ID rules.

                                  They will not be have anything to process in CIs, but will process relationships.

                                  • 14. Re: Relationship Reconciliation ? (ID Rules)
                                    Marek Ceizel

                                    Hi Raj,

                                     

                                    I'm already quite convinced there is no need to have possibility to define ID Rules for Relationships.

                                    But there is the extreme situation which I asked. I just want to know how would you suggest to solve it. As I asked:

                                     

                                    >>>So If I don't want reconcile anything else just relationships, how should I create Identification step of reconciliation ?

                                     

                                    I don't want to use standard rules. They will reconcile everything. I have Dataset with CI's and Relationships (where relationships use InstanceID's of BMC Asset). Now I want to reconcile only the relationships from the Dataset.

                                    If I would use Standard, it will reconcile also the CI's. If I don't use anything, I cannot save Identify step. So I need to define a rule for relationship....or ?

                                     

                                    sorry to bother with this but want to have it really clear

                                     

                                    thanks a lot

                                    Marek

                                    1 2 Previous Next