From 7969f3dfd710b37a8e46be2358b6af869d4ee0fe Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Thu, 24 Aug 2017 21:49:36 +0200 Subject: [PATCH] Remove default bridge (#168) * Remove default bridge * rename bridge --- hassio/dock/__init__.py | 4 +++- hassio/dock/network.py | 16 ++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/hassio/dock/__init__.py b/hassio/dock/__init__.py index 8e09ca1e4..35d773629 100644 --- a/hassio/dock/__init__.py +++ b/hassio/dock/__init__.py @@ -62,7 +62,9 @@ class DockerAPI(object): # attach network if not network_mode: alias = [hostname] if hostname else None - if not self.network.attach_container(container, alias=alias): + if self.network.attach_container(container, alias=alias): + self.network.detach_default_bridge(container) + else: _LOGGER.warning("Can't attach %s to hassio-net!", name) # run container diff --git a/hassio/dock/network.py b/hassio/dock/network.py index 68546453a..349e70250 100644 --- a/hassio/dock/network.py +++ b/hassio/dock/network.py @@ -71,3 +71,19 @@ class DockerNetwork(object): self.network.reload() return True + + def detach_default_bridge(self, container): + """Detach default docker bridge. + + Need run inside executor. + """ + try: + default_network = self.docker.networks.get('bridge') + default_network.disconnect(container) + + except docker.errors.NotFound: + return + + except docker.errors.APIError as err: + _LOGGER.warning( + "Can't disconnect container from default -> %s", err)