1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-24 12:29:08 +00:00

WIP: Network docker hassio (#159)

* Create hassio network layer / allow linking

* rename docker

* fix lint

* fix lint p2

* Set network options

* First version of network code

* Finish network layer

* Remove old api_endpoint stuff

* Add DNS forwarding

* Fix DNS recorder

* Fix lint p1

* Fix lint p2

* Fix lint p3

* Fix spell

* Fix ipam struct

* Fix ip to str

* Fix ip to str v2

* Fix spell

* Fix hass on host

* Fix host attach to network

* Cleanup network code

* Fix lint & add debug

* fix link

* Remove log

* Fix network

* fix reattach of supervisor

* set options

* Fix containers

* Fix remapping & add a test

* Fix dict bug

* Fix prop

* Test with run container

* Fix problem
This commit is contained in:
Pascal Vizeli
2017-08-24 14:57:13 +02:00
committed by GitHub
parent 1c915ef4cd
commit 04514a9f5c
16 changed files with 654 additions and 458 deletions

View File

@@ -37,14 +37,14 @@ MERGE_OPT = Merger([(dict, ['merge'])], ['override'], ['override'])
class Addon(object):
"""Hold data for addon inside HassIO."""
def __init__(self, config, loop, dock, data, slug):
def __init__(self, config, loop, docker, data, slug):
"""Initialize data holder."""
self.loop = loop
self.config = config
self.data = data
self._id = slug
self.docker = DockerAddon(config, loop, dock, self)
self.docker = DockerAddon(config, loop, docker, self)
async def load(self):
"""Async initialize of object."""
@@ -179,8 +179,8 @@ class Addon(object):
@property
def ports(self):
"""Return ports of addon."""
if self.network_mode != 'bridge' or ATTR_PORTS not in self._mesh:
return
if self.network_mode or ATTR_PORTS not in self._mesh:
return None
if not self.is_installed or \
ATTR_NETWORK not in self.data.user[self._id]:
@@ -206,7 +206,7 @@ class Addon(object):
def webui(self):
"""Return URL to webui or None."""
if ATTR_WEBUI not in self._mesh:
return
return None
webui = self._mesh[ATTR_WEBUI]
dock_port = RE_WEBUI.sub(r"\2", webui)
@@ -226,7 +226,7 @@ class Addon(object):
"""Return network mode of addon."""
if self._mesh[ATTR_HOST_NETWORK]:
return 'host'
return 'bridge'
return None
@property
def devices(self):
@@ -262,7 +262,7 @@ class Addon(object):
def audio_output(self):
"""Return ALSA config for output or None."""
if not self.with_audio:
return
return None
setting = self.config.audio_output
if self.is_installed and ATTR_AUDIO_OUTPUT in self.data.user[self._id]: