Pattern Creates CI, but does not update CI - please help

Henrik Jutterst
Tera Guru

I've created a customer Pattern for Discovering Oracle Catalogs in cmdb_ci_db_ora_catalog table.

The Pattern can create a CI in cmdb_ci_db_ora_catalog tabel and also a CI in the Instnace table cmdb_ci_db_ora_instance. That's all fine, but when there is an update of any data found by Discovery, it simply does not update the catalog data.

I can see the data in the Discovery log and verify that it's the new and correct data, but the CI is never updated when Discovery is finished.

The strange thing is that IF I delete the oracle catalog CI or the oracle catalog and the oracle instance that's holding the catalog and run discovery again, the CI is created with the same data as I see in the logs from before - the data that wasn't updated.

By assumption is that this has to do something with the last step that's creating the relations. But I have no more ideas on what the issue might be... ¯\_(ツ)_/¯

Anyone with a good guess here?

find_real_file.png

1 ACCEPTED SOLUTION

Looks like only Service Mapping (Discovery Source: ServiceWatch) is allowed to update the Oracle Catalog.
On the Oracle Instance both Discovery (Discovery Source: ServiceNow) and Service Mapping are allowed to update the CI. But they can only update specific fields.

Regards,
Michael

Please mark the suggestion as helpful/like, if you find it useful to you or others who wants to refer similar content.
Please mark the solution as correct, if the answer provided has resolved your query.

View solution in original post

9 REPLIES 9

Rahul Priyadars
Giga Sage
Giga Sage

If you have an existing CMDB with data then look to the features of the Identification and Reconciliation Engine (IRE) when 'discovering' existing systems.  Know that if you have any attributes that discovery does not gather in your own unique fields, they will remain the same, not going to touch them.

See if this of any help.

Regards

RP

Hi and thanks for the post to my question @Rahul Priyadarshy.

Yes, we are using CMDB and have the data in it. The thing is that the records are not updated even though I see the correct data in the Discovery log and that it's trying to insert it using setAttribute() function. No error in the logs either. I see the filed value and the data that is supposed to go in to it, but no update is done.

Are there any specific things I should look for? Again. It can Create if I delete data but not update it.

I asked Hi for help but they just replied that since it's not OOB pattern they don't touch it 😞

 

"Hi Henrik,

We are placing this issue in Solution Proposed.
As this is customized pattern , there is a sensor that needs to be updated if there is a customized pattern.

Our limitation is such that we will be handling the OOB rolled out features/scripts."

 

But I'm sure this has nothing to do with sensors..

Michael de Boer
Giga Guru

Hi Henrik,

Can you check the field "Most recent discovery"?
Is that one updated?

Does the CI classes contain any reconciliation rules?

Regards,

Michael

Regards,
Michael

Please mark the suggestion as helpful/like, if you find it useful to you or others who wants to refer similar content.
Please mark the solution as correct, if the answer provided has resolved your query.

Hi @M. de Boer and thanks for checking up on my question.

Yes, the dates are being updated when Discovery runs: 

<discovery_source>ServiceNow</discovery_source>
<first_discovered>2022-01-20 14:40:05</first_discovered>
<last_discovered>2022-01-20 19:26:58</last_discovered>

 

But that's the only value being updated as far as I know.

 

Reconciliation Rules in Class Manager:

Oracle Catalog:

find_real_file.png

 

 

Oracle Instance:

find_real_file.png

 

Nothing strange there as I see it...