Service Graph Connector sets all Meraki CIs to Retired on import

Solved
Steelneck
Just browsing

Service Graph Connector sets all Meraki CIs to Retired on import

I have a question regarding how the Meraki Service Graph Connector is setting install status on the imported CIs. Currently, on every import all the CIs toggles between Retired and Installed install status and I wonder why that is?

 

I found that during the Data source import a script include SGConnectorMerakiImportUtils() runs a startImport() method

 

meraki1.png

 

 

In this script include the startImport() method runs another method deactivateRecords() where all Meraki Organization and Meraki Network CIs is set to Active=False for "preprocessing" purposes.

 

meraki2.pngmeraki3.png

 
As there is a business rule Update Related CI Install Status that set the network device CIs to Retired if the Network status is false, this results in all related CIs going to Retired status during the import
 
meraki4.png
 
Later in the import process the correct status is set during the transform and all the CIs get their install status to Installed.

I cannot find any sensible reason for why this is done, as the robust transform map will set the Network and Organization status afterwards. What am I missing with this preprocessing and why is it needed?
 

I would prefer to not do any customizations to the connector as we don't want to risk the script getting outdated in the future but at the same time we can't have CIs flipping between installed and retired on a daily basis as this not only adds a lot of unnecessary audit entries but also could have effect on CMDB lifecycle processes.


So I guess my question is: is this by design and how come the deactivation is needed during import? My guess is that the API can only find active networks and therefor cannot update inactive networks.

 

1 Accepted Solution
John_on_API
Meraki Employee
Meraki Employee


Later in the import process the correct status is set during the transform and all the CIs get their install status to Installed.

I cannot find any sensible reason for why this is done, as the robust transform map will set the Network and Organization status afterwards. What am I missing with this preprocessing and why is it needed?

 Yes, this is correct and intended behavior. Meraki devices might be removed from organization inventory, in which case, they would remain retired CIs in SNOW. Only the devices discovered in the most recent import are switched back to Installed status at the end of the import, since they are discovered in dashboard. Without doing this, there would be orphaned devices in "Installed" status, which would be incorrect.

View solution in original post

2 Replies 2
John_on_API
Meraki Employee
Meraki Employee


Later in the import process the correct status is set during the transform and all the CIs get their install status to Installed.

I cannot find any sensible reason for why this is done, as the robust transform map will set the Network and Organization status afterwards. What am I missing with this preprocessing and why is it needed?

 Yes, this is correct and intended behavior. Meraki devices might be removed from organization inventory, in which case, they would remain retired CIs in SNOW. Only the devices discovered in the most recent import are switched back to Installed status at the end of the import, since they are discovered in dashboard. Without doing this, there would be orphaned devices in "Installed" status, which would be incorrect.

Steelneck
Just browsing

Thanks for the answer! This makes sense. It is a bummer though that the auditing gets "spammed" with daily Install status changes and I cannot find a way to exclude this audit.

 

An idea I had is that If the import was using a kind of staging table (that was emptied after every run) it could use a GlideRecord query to compare the CMDB with the staging table. If the CMDB has CIs with Discovery Source = SG-Meraki that is not in the staging table, it could change the install status of those CIs to Retired and keep the rest as Installed. That way only the missing CIs would have their CI status changed to Retired.

Get notified when there are additional replies to this discussion.