This repository was archived by the owner on Feb 8, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 80
pacemaker dependency graph
Andrei Zheregelia edited this page Jul 8, 2020
·
16 revisions
The diagram below expresses the dependencies of resources created by build-ees-ha* scripts.
Note: though stonith-cN resources are added by ees-prvsnr component, they are still part of pacemaker cluster.
@startuml
skinparam defaultFontName "Ubuntu Mono"
'Colors Definitions
!define _order #Red
!define _coloc #Blue
node "srvnode-1" {
interface lnetn1 as "lnet"
interface motrn1 as "motr-kernel"
interface ldapn1 as "ldap"
interface s3authn1 as "s3auth"
interface elssearchn1 as "els-search"
interface statsdn1 as "statsd"
interface haproxyn1 as "haproxy"
cloud s3serverN1 as "s3server-c1-{M}"
interface rabbitmqn1 as "rabbitmq"
[s3backcons-c1\nattr:s3backcons-running] as s3backconsn1
interface s3backprod1 as "s3backprod"
[stonith2] as "stonith-c2"
package "C1 group"{
[ipc1] as "ip-c1"
[consul-c1\nattr: consul-c1-running] as consulc1
ipc1 -[_order]-> [consul-c1]
consulc1 -[_order]-> [lnet-c1]
[lnet-c1] -[_order]-> [hax-c1]
[hax-c1] -[_order]-> [motr-confd-c1]
[motr-confd-c1] -[_order]-> [motr-ios-c1]
}
[freespacemon] as "motr-free-space-mon"
[lnet-c1] -[_order]-> motrn1
motrn1 -[_order]-> [hax-c1]
ldapn1 -[_order]-> s3authn1
[motr-ios-c1] -[_order]-> s3authn1
elssearchn1 -[_order]-> statsdn1
s3authn1 -[_order]-> s3serverN1
s3authn1 *-[_coloc]-- s3serverN1: <colocation INF>
rabbitmqn1 -[_order]-> s3backconsn1
s3backconsn1 -[_order]-> s3backprod1
s3backprod1 -[_coloc]-* s3backconsn1: <colocation 50000>
s3backprod1 -[_coloc]-* s3backconsn1: <srvnode-1 location rule>
[motr-ios-c1] -[_order]-> freespacemon: <order start>
[motr-ios-c1] -[_coloc]-* freespacemon: <colocation 1000>
}
node "srvnode-2" {
interface lnetn2 as "lnet"
interface ldapn2 as "ldap"
interface s3authn2 as "s3auth"
interface elssearchn2 as "els-search"
interface rabbitmqn2 as "rabbitmq"
interface statsdn2 as "statsd"
interface haproxyn2 as "haproxy"
cloud s3serverN2 as "s3server-c2-{N}"
[s3backcons-c2\nattr:s3backcons-running] as s3backconsn2
interface motrn2 as "motr-kernel"
interface s3backprod2 as "s3backprod"
[stonith1] as "stonith-c1"
package "C2 group"{
[ipc2] as "ip-c2"
[consul-c2\nattr: consul-c2-running] as consulc2
ipc2 -[_order]-> consulc2
consulc2 -[_order]-> [lnet-c2]
[lnet-c2] --[_order]-> [hax-c2]
[hax-c2] -[_order]-> [motr-confd-c2]
[motr-confd-c2] -[_order]-> [motr-ios-c2]
}
lnetn2 -[_order]right-> [lnet-c2]
lnetn1 -[_order]right-> [lnet-c1]
[lnet-c2] -[_order]-> motrn2
[lnet-c1] ---[_order]-> motrn2
[lnet-c2] ---[_order]-> motrn1
motrn2 --[_order]--> [hax-c2]
motrn1 ---[_order]-> [hax-c2]
motrn2 ---[_order]-> [hax-c1]
ldapn2 -[_order]-> s3authn2
ldapn1 -[_order]-> s3authn2
ldapn2 -[_order]-> s3authn1
[motr-ios-c2] -[_order]-> s3authn2
elssearchn2 -[_order]-> statsdn2
elssearchn2 -[_order]-> statsdn1
elssearchn1 -[_order]-> statsdn2
s3authn2 -[_order]-> s3serverN2
s3authn1 --[_order]-> s3serverN2
s3authn2 --[_order]-> s3serverN1
s3authn2 *-[_coloc]-- s3serverN2 : <colocation INF>
rabbitmqn2 ---[_order]-> s3backconsn2
rabbitmqn2 ----[_order]-> s3backconsn1
rabbitmqn1 -[_order]--> s3backconsn2
s3backconsn2 --[_order]-> s3backprod2
s3backconsn1 --[_order]-> s3backprod2
s3backconsn2 -[_order]left---> s3backprod1
s3backprod2 -[_coloc]right-* s3backconsn2: <colocaton 50000>
s3backprod2 -[_coloc]right-* s3backconsn2: <srvnode-2 location rule>
[motr-ios-c2] -[_order]-> freespacemon: <order start>
[motr-ios-c2] -[_coloc]-* freespacemon: <colocation 1000>
}
consulc2 ---[_order]--> [hax-c1]
consulc1 --[_order]--> [hax-c2]
[motr-confd-c2] --[_order]--> [motr-ios-c1]
[motr-confd-c1] --[_order]--> [motr-ios-c2]
cloud "CSM" {
package csmkib as "csm-kibana" {
[kibana-vip] -[_order]-> [kibana]
[kibana] -[_order]-> [csm-agent]
[csm-agent] -[_order]-> [csm-web]
}
csmkib -[_coloc]-* elssearchn1: <colocation>
csmkib --[_coloc]---* elssearchn2: <colocation>
csmkib --[_coloc]--* consulc1: <srvnode-1 location rule>
csmkib --[_coloc]--* consulc2: <srvnode-2 location rule>
csmkib --[_coloc]--* rabbitmqn1: <colocation>
csmkib --[_coloc]--* rabbitmqn2: <colocation>
}
cloud "SSPL" {
consulc1 -[_order]-> [sspl-master]
consulc2 -[_order]-> [sspl-master]
}
cloud "UDS" {
[uds] --[_coloc]left-* [csm-agent]: <colocation>
}
@enduml