Jean-Louis,

Well, it is linked with the reconciliation ID as the primary link.  As you 
note, the reconciliation ID ties the lifecycle to all instances of the CI 
across datasets.  This is the way things should work in the system and it is 
one of the big improvements of moving the Asset data out of the CMDB.

However, it is also tied by instance ID.  When an instance is created by 
loading to the AST join, records are created in the CMDB and in AST:Attributes. 
 OK so far.  Now, there is no reconciliation ID at this point.  So, how can the 
records be tied together?  By the Instance ID.  The Instance ID on the 
AST:Attributes form is the instance ID of the record that caused the 
AST:Attributes record to be created.  When that instance gets reconciled 
(identity reconciled), the reconciliation ID is updated on that record – found 
using the Instance ID.

So, you can see that it is critical that they match.  Otherwise, you could not 
find the record to update it with the reconciliation ID.

Now, the fact that the AST:* joins are joined on the reconciliation ID is good, 
but not really sufficient.  Why?  Because all is fine as long as a 
reconciliation ID is present, but what about before the reconciliation 
operation?  Well, the CI instance that created it and the AST:Attribute record 
are joined by the instance ID.

So, the AST:* join criteria really should be that the reconciliation ID match 
OR the instance ID match.  This gives you everything you get today PLUS you get 
the CMDB and AST:Attributes records joined before the reconciliation identity 
job has been run.  We are going to update this join criteria as the standard in 
the next release.   (this fact of the link being by two different things was 
noted by Jarl in his message to the list)

So, it is critical that the instance ID is put on the AST:Attributes record.  
It is the way the reconciliation ID gets set on the AST:Attributes record and 
it is going to be added to the join critieria to make the join work before 
reconciliation in the future.

I hope this addresses your question,

Doug Mueller

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Jean-Louis Halleux
Sent: Tuesday, April 07, 2015 2:26 AM
To: arslist@ARSLIST.ORG
Subject: Re: Setting 'InstanceId' on AST:* submit?

**
Hello Doug,

To my knowledge, the AST:Attribute is not linked to the CMDB record with its 
InstanceID, but rather with its ReconciliationID (in Atrium 8.0 at least). This 
has the effect that one AST:Attribute is related to multiple CI records though 
different datasets. Of course, those multiple CI records do represent only one 
physical CI in reality as the records are reconciled. However, I feel a little 
awkward when I read " It is critical that the Instance ID in the AST:Attribute 
record match the instance ID”, because you have different instance IDs through 
different datasets, while only one AST:Attribute.

So my question: “why is it critical” ?

Thanks for your support.

Jean-Louis Halleux
supp...@arsmarts.com<mailto:supp...@arsmarts.com>



On 01 Apr 2015, at 22:52, Mueller, Doug 
<doug_muel...@bmc.com<mailto:doug_muel...@bmc.com>> wrote:

**
Andy,

It is fine if you want to control the creation of an Instance ID on the CI 
side.  It just needs to be a GUID.

However, it is not OK to just generate a new GUID for the AST:Attribute record 
itself.  It is critical that the Instance ID in the AST:Attribute record match 
the instance ID of a corresponding entry in the CMDB form.

In your case, you are loading to the AST:* join form that joins the CMDB form 
and the AST:Attribute form.   Workflow there pushes appropriate values to each 
of the two underlying forms along with the Instance ID field.  Whether that 
field is generated by workflow or supplied by you, it shouldn’t matter  (OK, I 
am hedging by saying shouldn’t vs. doesn’t but I believe the logic in the 
system doesn’t overwrite if you supply an instance ID – if it does, you just 
need to overlay the filter that sets the instance ID to check to make sure it 
isn’t already set).  From other responses, it has the logic handled correctly.

Just make sure you don’t try and create an Instance ID on the fly for the 
AST:Attribute form.  It must be supplied one that matches the CMDB record it is 
tied to.

Doug Mueller

From: Action Request System discussion list(ARSList) 
[mailto:arslist@ARSLIST.ORG] On Behalf Of Andrew Hicox
Sent: Wednesday, April 01, 2015 6:35 AM
To: arslist@ARSLIST.ORG<mailto:arslist@ARSLIST.ORG>
Subject: Setting 'InstanceId' on AST:* submit?

**
Hi everyone,
I have a situatuon where some home grown workflow needs to create CI's.
I'm doing this by pushing fields directly to the AST:* form corresponding to 
the Class we want to create the CI in, and up to that point it works flawlwssly.
However, I need to pull the 'InstanceId' of the CI I just created back into the 
form where the workflow fired the push fields (so I can set up relationships, 
etc).
Doing this reliably has become more of a headache than I'd imagined. There are 
almost no uniqueness restraints in cmdb (sort of a corollary to Igor's thread 
about unique indexes).
So there's almost nothing I can search by other than 'InstanceId', that's 
guaranteed to get 1 or 0 results.
so here's my question. What if I generate my own GUID and push it into 
'InstanceId' on the AST:* form?
Does anyone know of this will break something in asset or cmdb? On the surface, 
this seems like a legitimate thing to do, but just wondering if anyone has been 
down this road before?

-Andy
_ARSlist: "Where the Answers Are" and have been for 20 years_
_ARSlist: "Where the Answers Are" and have been for 20 years_

_ARSlist: "Where the Answers Are" and have been for 20 years_

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
"Where the Answers Are, and have been for 20 years"

Reply via email to