graph G { node [ shape=box, fontcolor="#ffffff", color="#40a9e3", style="filled" ] subgraph cluster_internet { label="The Internet"; sunrise [ label="Sunrise upstream Router" ]; netstream [ label="Netstream upstream Router" ]; saltlte [ label="Salt (LTE)" ]; hetzner [ label="Hetzner" ]; mythicbeasts [ label="Mythic Beasts" ]; } subgraph cluster_place4 { label="place4: Germany"; server1p4 [ label="server1\ndns backup\nmx backup" ]; } subgraph cluster_place5 { label="place5: Schwanden"; server1p5 [ label="server1\nopennebula master\nceph osd" ]; server2np5 [ label="server2..n\nopennebula nodes\nceph osd" ]; routersp5 [ label="router1+2\nfirewall\nrouter\nnetboot" ]; red1 [ label="red1\nceph monitor\nopennebula mysql" ]; red23 [ label="red2-3\nceph monitor\n" ]; cephp5 [ label="ceph cluster" shape=oval ]; onep5 [ label="opennebula cluster" shape=oval ]; subgraph cluster_place5_switches { label="Switches place5"; switch1p5 [ label="switch1"]; switch2p5 [ label="switch2"]; switch1p5--switch2p5 [ label="20G\nLACP\nMLAG" ]; } {server1p5,server2np5,routersp5}--{switch1p5,switch2p5} [ label="20G\nLACP" ]; server1p5--{server1p5,server2np5} [ label="Manage VMs" ]; cephp5--{server1p5,server2np5,red1,red23} onep5--{server1p5,server2np5,red1} [ label="consists of" ]; {server1p5,server2np5}--routersp5 [ label="Netboot" ]; } subgraph cluster_place6 { label="place6: Linthal"; subgraph cluster_place6_ceph { label="place6: ceph cluster"; cephp6 [ label="ceph cluster" shape=oval ]; } cephp6--{serversnorthp6,serverseastp6} subgraph cluster_place6_north { label="place6: North (Production)"; switch1p6 [ label="switch1"]; switch2p6 [ label="switch2"]; switch1p6--switch2p6 [ label="20G\nLACP\nMLAG" ]; serversnorthp6 [ label="servers\nopennebula nodes\nceph osd" ]; serversnorthp6--{switch1p6,switch2p6} [ label="20G\nLACP" ]; router2p6 [ label="router2\nfirewall\nrouter\nnetboot" ]; {router2p6,serversnorthp6}--{switch1p6,switch2p6} [ label="20G\nLACP" ]; } subgraph cluster_place6_kraftwerk { label="place6: Kraftwerk (Production)"; switch3p6 [ label="switch3"]; switch4p6 [ label="switch4"]; switch3p6--switch4p6 [ label="20G\nLACP\nMLAG" ]; } subgraph cluster_place6_east { label="place6: East (Production)"; router1p6 [ label="router1\nfirewall\nrouter\nnetboot" ]; replacementroutersp6 [ label="replacement-router1+2\nnext gen routing" ]; serverseastp6 [ label="servers\nopennebula nodes\nceph osd" ]; serverseastp6--{switch1p6,switch2p6} [ label="20G\nLACP" ]; switch5p6 [ label="switch5"]; switch6p6 [ label="switch6"]; switch5p6--switch6p6 [ label="20G\nLACP\nMLAG" ]; serversnorthp6 [ label="servers\nopennebula nodes\nceph osd" ]; {router1p6,serverseastp6,replacementroutersp6}--{switch5p6,switch6p6} [ label="20G\nLACP" ]; } subgraph cluster_place6_west { label="place6: West == place9 == Testing"; switch1p9 [ label="switch1.p9"]; serversp9 [ label="Non-prod systems" ]; serversp9--switch1p9 [ label="10G" ]; } {switch1p6,switch2p6}--{switch3p6,switch4p6} [ label="40G\nLACP\nMLAG" ]; {switch5p6,switch6p6}--{switch3p6,switch4p6} [ label="40G\nLACP\nMLAG" ]; switch1p9--switch5p6 [ label="10G\nROUTED" ]; } subgraph cluster_place7 { label="place7: Luchsingen"; redp7 [ label="red as a router"] } subgraph cluster_place8 { label="place8"; switch1p8 [ label="switch1\nmain"]; switch2p8 [ label="switch2\nbackup"]; switch1p8--switch2p8 [ label="20G\LACP\nMLAG" ]; } subgraph cluster_place10 { label="place10: Diesbach"; switch1p10 [ label="switch1\nmain"]; } subgraph cluster_place11 { label="place11"; server1p11 [ label="server1\nprometheus\nmailing list" ]; } switch1p5--switch1p8 [ label="Dark fiber" ]; switch3p6--switch1p8 [ label="Dark fiber" ]; switch1p10--switch3p6 [ label="Dark fiber"]; server1p11--{routersp5,router1p6,router2p6} [ label="Place11 monitors" ]; server1p4--hetzner [ label="Default Route" ]; routersp5--sunrise [ label="BGP Peering" ]; {router1p6,router2p6}--netstream [ label="BGP Peering" ]; redp7--saltlte; server1p11--mythicbeasts [ label="Default Route" ]; }