Skip to content
This repository was archived by the owner on Feb 8, 2024. It is now read-only.

pacemaker dependency graph

Konstantin Nekrasov edited this page Apr 30, 2020 · 16 revisions

Pacemaker Resource Dependency Graph

The diagram below expresses the dependencies of resources created by build-ees-ha* scripts.

@startuml
skinparam defaultFontName "Ubuntu Mono"
node "Node 1" {
    interface lnetn1 as "lnet"
    interface meron1 as "mero-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"
    interface s3backconsn1 as "s3backcons"
    interface s3backprod1 as "s3backprod"

    package "C1 group"{
        [ipc1] as "ip-c1"
        ipc1        --> [lnet-c1]
        [lnet-c1]   --> [consul-c1]
        [consul-c1] --> [hax-c1]
        [hax-c1]    --> [mero-confd-c1]
        [mero-confd-c1] --> [mero-ios-c1]
    }
    lnetn1 --> ipc1
    [lnet-c1] --> meron1
    meron1 --> [hax-c1]
    ldapn1 --> s3authn1
    [mero-ios-c1] --> s3authn1
    elssearchn1 --> statsdn1
    s3authn1 --> s3serverN1
    s3authn1 *--- s3serverN1: <colocation>
    rabbitmqn1 --> s3backconsn1
    s3backconsn1 --> s3backprod1
}
node "Node 2" {
    interface lnetn2 as "lnet"
    interface meron2 as "mero-kernel"
    interface ldapn2 as "ldap"
    interface s3authn2 as "s3auth"
    interface elssearchn2 as "els-search"
    interface statsdn2 as "statsd"
    interface haproxyn2 as "haproxy"
    cloud s3serverN2 as "s3server-c2-{N}"
    interface rabbitmqn2 as "rabbitmq"
    interface s3backconsn2 as "s3backcons"
    interface s3backprod2 as "s3backprod"
    package "C2 group"{
        [ipc2] as "ip-c2"
        ipc2            --> [lnet-c2]
        [lnet-c2]       --> [consul-c2]
        [consul-c2]     ---> [hax-c2]
        [hax-c2]        --> [mero-confd-c2]
        [mero-confd-c2] --> [mero-ios-c2]
    }
    lnetn2 ---> ipc2
    lnetn1 --> ipc2
    lnetn2 --> ipc1
    [lnet-c2] --> meron2
    meron2 ----> [hax-c2]
    meron1 ----> [hax-c2]
    meron2 ----> [hax-c1]

    ldapn2 --> s3authn2
    ldapn1 --> s3authn2
    ldapn2 --> s3authn1

    [mero-ios-c2] --> s3authn2
    elssearchn2 ---> statsdn2
    elssearchn2 ----> statsdn1
    elssearchn1 ----> statsdn2
    s3authn2 --> s3serverN2
    s3authn1 ---> s3serverN2
    s3authn2 ---> s3serverN1
    s3authn2 *--- s3serverN2 : <colocation>
    rabbitmqn2 ---> s3backconsn2
    rabbitmqn2 ---> s3backconsn1
    rabbitmqn1 ---> s3backconsn2
    s3backconsn2 ---> s3backprod2
    s3backconsn1 ---> s3backprod2
    s3backconsn2 ---> s3backprod1
}

[consul-c2] -----> [hax-c1]
[consul-c1] --right--> [hax-c2]

[mero-confd-c2] ----> [mero-ios-c1]
[mero-confd-c1] ----> [mero-ios-c2]


cloud "CSM" {
    package csmkib as "csm-kibana" {
        [kibana-vip] --> [kibana] 
        [kibana]     -> [csm-agent]
        [csm-agent]  --> [csm-web]
    }
    csmkib --* elssearchn1: <colocation>
    csmkib -----* elssearchn2: <colocation>
    csmkib ----* [consul-c1]: <colocation>
    csmkib ----* rabbitmqn1: <colocation>
    csmkib ----* rabbitmqn2: <colocation>
}

cloud "SSPL" {
    [consul-c1] --> [sspl]
    [consul-c2] --> [sspl]

}
@enduml

Clone this wiki locally