Configure the CMDB Micro-Certification Task-13

AnupriyaC
Tera Contributor

Hi Everyone,

If someone can help with this confusion, I would be highly grateful.

 

My Question: Duplicate Mongoose Web Server CI Entries Despite Identification Rule?

 

AnupriyaC_0-1743248845131.png

I have an Identification Rule for the Mongoose Web Server based on:

Class

Running Process Command

However, when I run the below script to create/update CIs, it creates a new Mongoose Web Server entry instead of updating the existing one:

This is the new one is the 1st image and 2nd picture shows the existing.

AnupriyaC_1-1743248971900.pngAnupriyaC_2-1743249104986.png

 

2 ACCEPTED SOLUTIONS

Hi @AnupriyaC,

 

My instance was still up, so I was able to check and I am also seeing three mongoose web servers.

Two created at almost the same time and one created about 30 minutes later. The third one shares the name with the other two, but runs on SPLI-WIN-SERVER.

 

Do keep in mind, that the identification rule you created for the Mongoose Webserver is a "Dependent rule".

"Dependent identification rule A rule in which identifying a CI requires identifying a dependent CI first. A CI can have dependency on one or more CIs, and a dependent CI can have only a single parent CI with dependency. The relationship types between the CI and its dependent CIs are also included in the identification process. To help with the identification process of dependent CIs, create dependent relationships that define the dependency chain within CI types.

The payload used for identification of a dependent CI, can include a relationship with a qualifier chain. For such relationship, if there is a matching parent/child pair, the system compares the qualifier chain in the payload, with the qualifier chain of the CIs in the database. If there is a difference, the qualifier chain in the database is updated to match the qualifier chain in the payload for that relationship."

 

So because your payload includes a different windows server it creates a new Mongoose Webserver, which I would say is expected based on the dependent identification rule.

 

To test this, I deleted the third mongoose server and changed the rule to indenpent. I then ran the script again, which resulted in the matching mongoose webserver to be updated with an additional relationship:

CasperJT_0-1743670334169.png

 

So in summary, you should have two windows servers that were updated by you owa-sd-01 and SPLI-WIN-SERVER and you should have three mongoose webservers all with the same name. Two running on owa-sd-01 and one running on SPLI-WIN-SERVER.

 

I hope this clears things up.

 

Best regards,

Casper

View solution in original post

Hi @AnupriyaC 

 

I would not say it is overwriting the identification rule. Because you have made a dependent identification rule and you have defined that the web server should have a runs on::runs relationship with a hardware your identification rule effectively becomes:
Name
Running process command

Runs on hardware

 

So if one or more of those three conditions is different, then it results in a new CI, if all three are met, then the matching CI would be updated.

 

//Casper

View solution in original post

10 REPLIES 10

Hi @AnupriyaC ,

 

Have you made sure you are using the Running Process Command and not the Running Process attribute in your reconcilliation rule?

 

After each step in the simulator you should be able to run a validation that completed the step successfully. Did all of these pass before you moved on to the next task?

 

Best regards,

Casper

Hi @CasperJT ,

 

I have completed all the previous tasks and had them validated. Could you confirm that there should technically be only two Mongoose web servers present? The third entry seems incorrect and should not occur, right?

Hi @AnupriyaC,

 

My instance was still up, so I was able to check and I am also seeing three mongoose web servers.

Two created at almost the same time and one created about 30 minutes later. The third one shares the name with the other two, but runs on SPLI-WIN-SERVER.

 

Do keep in mind, that the identification rule you created for the Mongoose Webserver is a "Dependent rule".

"Dependent identification rule A rule in which identifying a CI requires identifying a dependent CI first. A CI can have dependency on one or more CIs, and a dependent CI can have only a single parent CI with dependency. The relationship types between the CI and its dependent CIs are also included in the identification process. To help with the identification process of dependent CIs, create dependent relationships that define the dependency chain within CI types.

The payload used for identification of a dependent CI, can include a relationship with a qualifier chain. For such relationship, if there is a matching parent/child pair, the system compares the qualifier chain in the payload, with the qualifier chain of the CIs in the database. If there is a difference, the qualifier chain in the database is updated to match the qualifier chain in the payload for that relationship."

 

So because your payload includes a different windows server it creates a new Mongoose Webserver, which I would say is expected based on the dependent identification rule.

 

To test this, I deleted the third mongoose server and changed the rule to indenpent. I then ran the script again, which resulted in the matching mongoose webserver to be updated with an additional relationship:

CasperJT_0-1743670334169.png

 

So in summary, you should have two windows servers that were updated by you owa-sd-01 and SPLI-WIN-SERVER and you should have three mongoose webservers all with the same name. Two running on owa-sd-01 and one running on SPLI-WIN-SERVER.

 

I hope this clears things up.

 

Best regards,

Casper

Hi @CasperJT ,

 

Thank you so much for testing this out in the instance! This has cleared up a huge doubt I had, and I truly appreciate your help.

 

Just to confirm my understanding—please correct me if I'm wrong. The third Mongoose entry exists because the Mongoose web server is dependent on the web server. As a result, a dependent identification rule is applied, which states that a dependent CI cannot have more than one CI as a child. When the qualifier chain checks the child information in the payload and finds differences leading to a different Windows server, it results in the creation of a new CI with the same name, effectively overriding the identification rules.

 

Let me know if I got this right, and thanks again for your support!

 

Thank You,

AnupriyaC

 

Hi @AnupriyaC 

 

I would not say it is overwriting the identification rule. Because you have made a dependent identification rule and you have defined that the web server should have a runs on::runs relationship with a hardware your identification rule effectively becomes:
Name
Running process command

Runs on hardware

 

So if one or more of those three conditions is different, then it results in a new CI, if all three are met, then the matching CI would be updated.

 

//Casper