// This is a graphviz file. To generate a diagram from this source, // you must first install graphviz (available from homebrew). Then run // the following command: // // dot -Tpng -o security_use_case_diagram.png security_use_case_diagram.dot digraph G { graph [fontsize = 14, penwidth = 0, rankdir = LR]; node [shape = "plaintext"]; edge [color = "deepskyblue", fontsize = 9, dir = none]; subgraph cluster_vm { label = "Nova instances"; penwidth = 1; subgraph cluster_vmmiddleware { label = ""; penwidth = 0; subgraph cluster_vmmiddlewareapp1 { label = "Django/icinga host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-MW-001"; penwidth = 0; vmmiddlewareapp1_icon [label = "", image = "computer.png"]; } subgraph cluster_vmmiddlewareapp2 { label = "Django/icinga host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-MW-002"; penwidth = 0; vmmiddlewareapp2_icon [label = "", image = "computer.png"]; } subgraph cluster_vmmiddlewaredatabase1 { label = "Database host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-001"; penwidth = 0; vmmiddlewaredatabase1_icon [label = "", image = "computer.png"]; } subgraph cluster_vmmiddlewaredatabase2 { label = "Database host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-002"; penwidth = 0; vmmiddlewaredatabase2_icon [label = "", image = "computer.png"]; } subgraph cluster_vmmiddlewaredatabase3 { label = "Database host 3\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-003"; penwidth = 0; vmmiddlewaredatabase3_icon [label = "", image = "computer.png"]; } } subgraph cluster_vmservices { label = ""; penwidth = 0; subgraph cluster_vmservices1 { label = "ansible-queue/dns-admin host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-CM-001"; penwidth = 0; vmservices1_icon [label = "", image = "computer.png"]; } subgraph cluster_vmservices2 { label = "ansible-queue/dns-admin host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-CM-002"; penwidth = 0; vmservices2_icon [label = "", image = "computer.png"]; } } subgraph cluster_vmlb { label = ""; penwidth = 0; subgraph cluster_vmlb1 { label = "Load balancer host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-LB-001"; penwidth = 0; vmlb1_icon [label = "", image = "computer.png"]; } subgraph cluster_vmlb2 { label = "Load balancer host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-LB-002"; penwidth = 0; vmlb2_icon [label = "", image = "computer.png"]; } } } subgraph cluster_port { label = "Neutron ports"; penwidth = 1; subgraph cluster_portmiddleware { label = ""; penwidth = 0; subgraph cluster_portmiddlewareapp1 { label = "Django/icinga host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-MW-001\n2001:4888:a21:3102:245:29::"; penwidth = 0; portmiddlewareapp1_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portmiddlewareapp2 { label = "Django/icinga host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-MW-002\n2001:4888:a21:3102:245:29:0:a"; penwidth = 0; portmiddlewareapp2_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portmiddlewaredatabase1 { label = "Database host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-001\n2001:4888:a21:3102:245:29:0:1"; penwidth = 0; portmiddlewaredatabase1_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portmiddlewaredatabase2 { label = "Database host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-002\n2001:4888:a21:3102:245:29:0:7"; penwidth = 0; portmiddlewaredatabase2_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portmiddlewaredatabase3 { label = "Database host 3\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-003\n2001:4888:a21:3102:245:29:0:2"; penwidth = 0; portmiddlewaredatabase3_icon [label = "", image = "network-wired.png"]; } } subgraph cluster_portservices { label = ""; penwidth = 0; subgraph cluster_portservices1 { label = "ansible-queue/\ndns-admin host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-CM-001\n2001:4888:a21:3102:245:29:0:b"; penwidth = 0; portservices1_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portservices2 { label = "ansible-queue/\ndns-admin host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-CM-002\n2001:4888:a21:3102:245:29:0:10"; penwidth = 0; portservices2_icon [label = "", image = "network-wired.png"]; } } subgraph cluster_portlb { label = ""; penwidth = 0; subgraph cluster_portlb1 { label = "Load balancer host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-LB-001\n2001:4888:a21:3102:245:29:0:11"; penwidth = 0; portlb1_icon [label = "", image = "network-wired.png"]; } subgraph cluster_portlb2 { label = "Load balancer host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-LB-002\n2001:4888:a21:3102:245:29:0:8"; penwidth = 0; portlb2_icon [label = "", image = "network-wired.png"]; } } } subgraph cluster_volume { label = "Cinder volumes"; penwidth = 1; subgraph cluster_volumemiddleware { label = ""; penwidth = 0; subgraph cluster_volumemiddlewaredatabase1 { label = "Database host 1\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-01"; penwidth = 0; volumemiddlewaredatabase1_icon [label = "", image = "drive-removable-media.png"]; } subgraph cluster_volumemiddlewaredatabase2 { label = "Database host 2\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-02"; penwidth = 0; volumemiddlewaredatabase2_icon [label = "", image = "drive-removable-media.png"]; } subgraph cluster_volumemiddlewaredatabase3 { label = "Database host 3\nBRHOALTBVZBvVFE-Y-WR-X-00-DB-03"; penwidth = 0; volumemiddlewaredatabase3_icon [label = "", image = "drive-removable-media.png"]; } } } vmmiddlewareapp1_icon -> portmiddlewareapp1_icon; vmmiddlewareapp2_icon -> portmiddlewareapp2_icon; vmmiddlewaredatabase1_icon -> portmiddlewaredatabase1_icon; vmmiddlewaredatabase2_icon -> portmiddlewaredatabase2_icon; vmmiddlewaredatabase3_icon -> portmiddlewaredatabase3_icon; vmservices1_icon -> portservices1_icon; vmservices2_icon -> portservices2_icon; vmlb1_icon -> portlb1_icon; vmlb2_icon -> portlb2_icon; vmmiddlewaredatabase1_icon -> volumemiddlewaredatabase1_icon; vmmiddlewaredatabase2_icon -> volumemiddlewaredatabase2_icon; vmmiddlewaredatabase3_icon -> volumemiddlewaredatabase3_icon; }