1 digraph "ganeti-2.0-architecture" {
6 edge[fontsize="8" fontname="Helvetica-Oblique"]
7 node[width="0" height="0" fontsize="12" fontcolor="black" shape=rect]
10 rclient[label="external clients"]
11 label="Outside the cluster"
14 subgraph cluster_inside {
15 label="ganeti cluster"
17 subgraph cluster_master_node {
19 rapi[label="RAPI daemon"]
21 watcher[label="Watcher"]
22 burnin[label="Burnin"]
23 masterd[shape=record style=filled label="{ <luxi> luxi endpoint | master I/O thread | job queue | {<w1> worker| <w2> worker | <w3> worker }}"]
24 {rapi;cli;watcher;burnin} -> masterd:luxi [label="LUXI" labelpos=100]
27 subgraph cluster_nodes {
29 noded1 [shape=record label="{ RPC listener | Disk management | Network management | Hypervisor } "]
30 noded2 [shape=record label="{ RPC listener | Disk management | Network management | Hypervisor } "]
31 noded3 [shape=record label="{ RPC listener | Disk management | Network management | Hypervisor } "]
33 masterd:w2 -> {noded1;noded2;noded3} [label="node RPC"]
34 cli -> {noded1;noded2;noded3} [label="SSH"]
37 rclient -> rapi [label="RAPI protocol"]