Skip to content

Commit 2a09b70

Browse files
authored
Merge pull request #74 from home-assistant/dev
Release 0.34
2 parents abd9683 + e35b0a5 commit 2a09b70

File tree

12 files changed

+139
-190
lines changed

12 files changed

+139
-190
lines changed

hassio/addons/__init__.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -191,15 +191,13 @@ async def update(self, addon, version=None):
191191
return False
192192

193193
version = version or self.get_last_version(addon)
194-
is_running = await self.dockers[addon].is_running()
195194

196195
# update
197-
if await self.dockers[addon].update(version):
198-
self.set_addon_update(addon, version)
199-
if is_running:
200-
await self.start(addon)
201-
return True
202-
return False
196+
if not await self.dockers[addon].update(version):
197+
return False
198+
199+
self.set_addon_update(addon, version)
200+
return True
203201

204202
async def restart(self, addon):
205203
"""Restart addon."""

hassio/addons/data.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
FILE_HASSIO_ADDONS, ATTR_NAME, ATTR_VERSION, ATTR_SLUG, ATTR_DESCRIPTON,
1717
ATTR_STARTUP, ATTR_BOOT, ATTR_MAP, ATTR_OPTIONS, ATTR_PORTS, BOOT_AUTO,
1818
ATTR_SCHEMA, ATTR_IMAGE, ATTR_REPOSITORY, ATTR_URL, ATTR_ARCH,
19-
ATTR_LOCATON, ATTR_DEVICES, ATTR_ENVIRONMENT, ATTR_HOST_NETWORK)
19+
ATTR_LOCATON, ATTR_DEVICES, ATTR_ENVIRONMENT, ATTR_HOST_NETWORK,
20+
ATTR_TMPFS)
2021
from ..config import Config
2122
from ..tools import read_json_file, write_json_file
2223

@@ -304,6 +305,10 @@ def get_devices(self, addon):
304305
"""Return devices of addon."""
305306
return self._system_data[addon].get(ATTR_DEVICES)
306307

308+
def get_tmpfs(self, addon):
309+
"""Return tmpfs of addon."""
310+
return self._system_data[addon].get(ATTR_TMPFS)
311+
307312
def get_environment(self, addon):
308313
"""Return environment of addon."""
309314
return self._system_data[addon].get(ATTR_ENVIRONMENT)

hassio/addons/validate.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
STARTUP_BEFORE, STARTUP_INITIALIZE, BOOT_AUTO, BOOT_MANUAL, ATTR_SCHEMA,
88
ATTR_IMAGE, ATTR_URL, ATTR_MAINTAINER, ATTR_ARCH, ATTR_DEVICES,
99
ATTR_ENVIRONMENT, ATTR_HOST_NETWORK, ARCH_ARMHF, ARCH_AARCH64, ARCH_AMD64,
10-
ARCH_I386)
10+
ARCH_I386, ATTR_TMPFS)
1111

1212

1313
MAP_VOLUME = r"^(config|ssl|addons|backup|share)(?::(rw|:ro))?$"
@@ -52,6 +52,8 @@ def check_network(data):
5252
vol.Optional(ATTR_PORTS): dict,
5353
vol.Optional(ATTR_HOST_NETWORK, default=False): vol.Boolean(),
5454
vol.Optional(ATTR_DEVICES): [vol.Match(r"^(.*):(.*):([rwm]{1,3})$")],
55+
vol.Optional(ATTR_TMPFS):
56+
vol.Match(r"^size=(\d)*[kmg](,uid=\d{1,4})?(,rw)?$"),
5557
vol.Optional(ATTR_MAP, default=[]): [vol.Match(MAP_VOLUME)],
5658
vol.Optional(ATTR_ENVIRONMENT): {vol.Match(r"\w*"): vol.Coerce(str)},
5759
vol.Required(ATTR_OPTIONS): dict,

hassio/config.py

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
HASSIO_SSL = PurePath("ssl")
2323
HASSIO_LAST = 'hassio_last'
24-
HASSIO_CLEANUP = 'hassio_cleanup'
2524

2625
ADDONS_CORE = PurePath("addons/core")
2726
ADDONS_LOCAL = PurePath("addons/local")
@@ -51,7 +50,6 @@
5150
vol.Optional(TIMEZONE, default='UTC'): validate_timezone,
5251
vol.Optional(HOMEASSISTANT_LAST): vol.Coerce(str),
5352
vol.Optional(HASSIO_LAST): vol.Coerce(str),
54-
vol.Optional(HASSIO_CLEANUP): vol.Coerce(str),
5553
vol.Optional(ADDONS_CUSTOM_LIST, default=[]): [vol.Url()],
5654
vol.Optional(SECURITY_INITIALIZE, default=False): vol.Boolean(),
5755
vol.Optional(SECURITY_TOTP): vol.Coerce(str),
@@ -148,20 +146,6 @@ def timezone(self, value):
148146
self._data[TIMEZONE] = value
149147
self.save()
150148

151-
@property
152-
def hassio_cleanup(self):
153-
"""Return Version they need to cleanup."""
154-
return self._data.get(HASSIO_CLEANUP)
155-
156-
@hassio_cleanup.setter
157-
def hassio_cleanup(self, version):
158-
"""Set or remove cleanup flag."""
159-
if version is None:
160-
self._data.pop(HASSIO_CLEANUP, None)
161-
else:
162-
self._data[HASSIO_CLEANUP] = version
163-
self.save()
164-
165149
@property
166150
def homeassistant_image(self):
167151
"""Return docker homeassistant repository."""

hassio/const.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Const file for HassIO."""
22
from pathlib import Path
33

4-
HASSIO_VERSION = '0.33'
4+
HASSIO_VERSION = '0.34'
55

66
URL_HASSIO_VERSION = ('https://raw.githubusercontent.com/home-assistant/'
77
'hassio/master/version.json')
@@ -79,6 +79,7 @@
7979
ATTR_DEVICES = 'devices'
8080
ATTR_ENVIRONMENT = 'environment'
8181
ATTR_HOST_NETWORK = 'host_network'
82+
ATTR_TMPFS = 'tmpfs'
8283

8384
STARTUP_INITIALIZE = 'initialize'
8485
STARTUP_BEFORE = 'before'

hassio/core.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def __init__(self, loop):
4141

4242
# init basic docker container
4343
self.supervisor = DockerSupervisor(
44-
self.config, self.loop, self.dock, self)
44+
self.config, self.loop, self.dock, self.stop)
4545
self.homeassistant = DockerHomeAssistant(
4646
self.config, self.loop, self.dock)
4747

@@ -54,7 +54,8 @@ def __init__(self, loop):
5454
async def setup(self):
5555
"""Setup HassIO orchestration."""
5656
# supervisor
57-
await self.supervisor.attach()
57+
if not await self.supervisor.attach():
58+
_LOGGER.fatal("Can't attach to supervisor docker container!")
5859
await self.supervisor.cleanup()
5960

6061
# set api endpoint
@@ -96,6 +97,8 @@ async def setup(self):
9697
_LOGGER.info("No HomeAssistant docker found.")
9798
await homeassistant_setup(
9899
self.config, self.loop, self.homeassistant)
100+
else:
101+
await self.homeassistant.attach()
99102

100103
# Load addons
101104
arch = get_arch_from_image(self.supervisor.image)

0 commit comments

Comments
 (0)