Skip to content

Commit 25bd224

Browse files
committed
fix missing schema declaration for network.type (KeyError)
Signed-off-by: scicco <zendar79@gmail.com>
1 parent 640fc7d commit 25bd224

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

scompose/config/schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def validate_config(filepath):
5656
"properties": {
5757
"allocate_ip": {"type": "boolean"},
5858
"enable": {"type": "boolean"},
59+
"type": {"type": "string"},
5960
# --network-args
6061
"args": string_list,
6162
},

scompose/project/instance.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ def set_network(self, params):
171171
# if not specified, set the default value for the property
172172
for key in ["enable", "allocate_ip"]:
173173
self.network[key] = self.network.get(key, True)
174+
175+
fakeroot = "--fakeroot" in self.start_opts or "-f" in self.start_opts
176+
default_network_value = "fakeroot" if fakeroot else "bridge"
177+
178+
self.network["type"] = self.network.get("type", default_network_value if self.network["enable"] is True else "none")
174179

175180
def set_ports(self, params):
176181
"""
@@ -240,7 +245,7 @@ def _get_network_commands(self, ip_address=None, network_type=None):
240245
# network_type is "bridge" by default when network.enable is True
241246
ports += ["--network", network_type]
242247

243-
if network_type is None and (not self.sudo and not fakeroot):
248+
if network_type is None:# and (not self.sudo and not fakeroot):
244249
ports += ["--network", "none"]
245250

246251
for pair in self.ports:
@@ -609,8 +614,9 @@ def create(self, ip_address=None, sudo=False, writable_tmpfs=False):
609614
# Network configuration + Ports
610615
if self.network["enable"]:
611616
# if network.enable is true a --network must be always added
612-
# using bridge as default
613-
network_type = self.network["type"] or "bridge"
617+
# using bridge or fakeroot as default
618+
fakeroot = "--fakeroot" in self.start_opts or "-f" in self.start_opts
619+
network_type = self.network["type"] or "fakeroot" if fakeroot else "bridge"
614620
options += self._get_network_commands(ip_address, network_type)
615621

616622
# Start options

0 commit comments

Comments
 (0)