If there are any CMDB experts, pls help in understanding CI relationships wrt upstream & downstream?

Suggy
Giga Sage

1. OOB the relationship between the SQL DB instance and Server is

Database RUNS ON::RUNS  Linux server

Suggy_0-1727721293479.png

and the form view is like this:

Suggy_3-1727721841029.png

 

But one of our infrastructure team person saying its the other way around, ie the relationship should be

Database  RUNS::RUNS ON  Linux server

and says the map should be like this where Linux server is the Upstream and Database is the Downstream because, when the upsteam CI (Linux) is down, then the Downstream CI (Database) will also be down.

Suggy_1-1727721484694.png

 

For this happen, I need to create a new entry cmdb_rel_type table with RUNS::RUNS ON, and only then I can see the map as shown above.

Also if I did this way, the Upstream and Downstream also shows properly in the form view.

Suggy_2-1727721728787.png

So its really making sense what that person is saying.

 

Then why ServiceNow has built it other way round? If you see the 2nd image, If I use oob relationships, linux server is showing under Downstream relationship.

Confused!!!

 

If you know.have clarity on this, pleasee share the details.

5 REPLIES 5

AndersBGS
Tera Patron
Tera Patron

Hi @Suggy ,

 

From my perspective it will always be the MySQL instance running on the Linux server. Always see infrastructure/CIs as the lowest level of CIs. Furthermore.

 

If my answer has helped with your question, please mark my answer as accepted solution and give a thumb up.

 

Best regards

Anders

If my answer has helped with your question, please mark my answer as the accepted solution and give a thumbs up.

Best regards
Anders

Rising star 2024
MVP 2025
linkedIn: https://www.linkedin.com/in/andersskovbjerg/

Hi @AndersBGS Could you please tell the rationale behid this statement "Always see infrastructure/CIs as the lowest level of CIs"

SteveMacWWT
Kilo Sage

When reading the relationships you need to do so using the portion of the relationship closest to the perspective you are looking at, and ignore the other. Start with one object, use the part of the relationship (RUNS ON::RUNS) that is closest to that object, and then the other object. 

 

So in the case of Database RUNS ON::RUNS Linux server it should be read as "Database RUNS ON Linux server", or you can read it backwards "Linux server RUNS Database". 

 

NOTE: You can create the same effective relationship by either:

Go to the Database, select "RUNS ON::RUNS" and find the Linux server,

OR

Go to the Linux Server, select "RUNS::RUNS ON" and find the Database.

 

As far as whether the relationship shows in Upstream / Downstream, I believe it depends on how you added the relationship - did you do it from the Database or from the Linux server? If there were an attribute on relations that indicated what is upstream vs what is downstream that could be made visible. Unfortunately that is not there. 

 

Steve

Hi @SteveMacWWT 

Reg your question "As far as whether the relationship shows in Upstream / Downstream, I believe it depends on how you added the relationship - did you do it from the Database or from the Linux server? "

 

From either of the CI you add, it doesnt make any change, it will be the same behavior.