@@ -36,7 +36,7 @@ def __init__(self, config_dir, backend, network_name: str):
36
36
self .tanks : list [Tank ] = []
37
37
self .deployment_file : Path | None = None
38
38
self .backend = backend
39
- self .node_schema = load_schema ()
39
+ self .graph_schema = load_schema ()
40
40
41
41
def _warnet_dict_representation (self ) -> dict :
42
42
repr = {}
@@ -106,8 +106,8 @@ def from_graph_file(
106
106
with open (destination , "wb" ) as f :
107
107
f .write (graph_file )
108
108
self .network_name = network
109
- self .graph = networkx .parse_graphml (graph_file .decode ("utf-8" ), node_type = int )
110
- validate_graph_schema (self .node_schema , self . graph )
109
+ self .graph = networkx .parse_graphml (graph_file .decode ("utf-8" ), node_type = int , force_multigraph = True )
110
+ validate_graph_schema (self .graph )
111
111
self .tanks_from_graph ()
112
112
logger .info (f"Created Warnet using directory { self .config_dir } " )
113
113
return self
@@ -116,7 +116,7 @@ def from_graph_file(
116
116
def from_graph (cls , graph , backend = "compose" , network = "warnet" ):
117
117
self = cls (Path (), backend , network )
118
118
self .graph = graph
119
- validate_graph_schema (self .node_schema , self . graph )
119
+ validate_graph_schema (self .graph )
120
120
self .tanks_from_graph ()
121
121
logger .info (f"Created Warnet using directory { self .config_dir } " )
122
122
return self
@@ -128,7 +128,7 @@ def from_network(cls, network_name, backend="compose"):
128
128
self .network_name = network_name
129
129
# Get network graph edges from graph file (required for network restarts)
130
130
self .graph = networkx .read_graphml (Path (self .config_dir / self .graph_name ), node_type = int )
131
- validate_graph_schema (self .node_schema , self . graph )
131
+ validate_graph_schema (self .graph )
132
132
self .tanks_from_graph ()
133
133
for tank in self .tanks :
134
134
tank ._ipv4 = self .container_interface .get_tank_ipv4 (tank .index )
0 commit comments