Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How ServiceNow (Discovery) determines which CI is Upstream vs Downstream? [No chatGPT answers pls]

Suggy
Giga Sage

We know that,

Upstream CI is a CI that provides services to downstream CI.

Downstream CI is a CI that utilizes the services provided by the upstream CI. 

 

Consider Windows server and Database.

 

UC1-

When Windows server hosts  an application that require data from a Database server, then the database server is Upstream CI because it provides the necessary services to Windows server. The Windows server which is hosting the application that depends on this data is a Downstream CI.

 

UC2-

If Windows server provides any services that the database server needs, then the Windows server is Upstream CI. The database server which is relying on these services, is Downstream CI.

 

So depending on how a CI provides services to another CI is what determies which CI is upstream vs downstream.

 

If we consider ServiceNow Discovery, how it would consider which CI to be upstream vs downstream considering discovering of Windows server vs Database?

 

10 REPLIES 10

Suggy
Giga Sage

Anyone ?

Suggy
Giga Sage

Anyone?.

Suggy
Giga Sage

Not a single person?

pratik0306
Tera Guru

it wil be based on the pattern written and how it fetches all the details during the discovery. Like For Vcenter, it gets everything from ESX, VM instances, datastores etc and its relationships.

haho
Kilo Contributor

Hi, I believe this is a design flaw in ServiceNow system or a convention flaw in its help doc. 

1. The system is filtering the Parent column in the cmdb rel table blindly by taking all filter results (in the Child column), and display it in the Downstream side list. Likewise, it search in the Child column and display all results (from Parent column) in the Upstream side list. The system is not caring about what exactly the type of the relationship is. I feel that is so stupid and irresponsible practice of product design.

https://www.servicenow.com/docs/bundle/yokohama-servicenow-platform/page/product/configuration-manag...

 

2. If you are using "Use suggested relationships" in the CI relationship editor, you will not see the Downstream/Upstream view. 

https://www.servicenow.com/docs/bundle/yokohama-application-portfolio-management/page/product/applic...

https://www.servicenow.com/docs/bundle/yokohama-servicenow-platform/page/product/configuration-manag...

 

3. The help doc is recommending Parent is "Depend On" Child as an suggested convention. If you follow this convention and not use the suggested relationships, you will see the Child show up under the Downstream list. For example, if you have SN App Depend On AZ Server, when you open the SN App page, you will see [Depend On] AZ Server as an Downstream. 

https://www.servicenow.com/docs/bundle/yokohama-servicenow-platform/page/product/configuration-manag...

 

Note: forget about the logical meaning of Parent and Child here, it just means Point A and Point B. So you see nothing beats a servicenow designer, now you can confuse 50 hours per person, and it's 200 hours for a company of four...