Error updating Home Assistant Core 'HomeAssistantCore.update' blocked from execution

I am unable to update to the latest patch.

It complains about Docker, however my system matches the requirement:

root@homeassistant:~# docker --version
Docker version 20.10.18, build b40c2f6

Logger: homeassistant.components.websocket_api.http.connection
Source: components/hassio/update.py:305
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 15:24:44 (2 occurrences)
Last logged: 15:35:51

[139874697742560] Error updating Home Assistant Core ‘HomeAssistantCore.update’ blocked from execution, system is not healthy
[139874707299472] Error updating Home Assistant Core ‘HomeAssistantCore.update’ blocked from execution, system is not healthy
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/hassio/update.py”, line 303, in async_install
await async_update_core(self.hass, version=version, backup=backup)
File “/usr/src/homeassistant/homeassistant/components/hassio/handler.py”, line 45, in _wrapper
raise HassioAPIError(data[“message”])
homeassistant.components.hassio.handler.HassioAPIError: ‘HomeAssistantCore.update’ blocked from execution, system is not healthy

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 202, in handle_call_service
await hass.services.async_call(
File “/usr/src/homeassistant/homeassistant/core.py”, line 1738, in async_call
task.result()
File “/usr/src/homeassistant/homeassistant/core.py”, line 1775, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File “/usr/src/homeassistant/homeassistant/helpers/entity_component.py”, line 207, in handle_service
await service.entity_service_call(
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 678, in entity_service_call
future.result() # pop exception if have
File “/usr/src/homeassistant/homeassistant/helpers/entity.py”, line 931, in async_request_call
await coro
File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 715, in _handle_entity_call
await result
File “/usr/src/homeassistant/homeassistant/components/update/init.py”, line 154, in async_install
await entity.async_install_with_progress(version, backup)
File “/usr/src/homeassistant/homeassistant/components/update/init.py”, line 413, in async_install_with_progress
await self.async_install(version, backup)
File “/usr/src/homeassistant/homeassistant/components/hassio/update.py”, line 305, in async_install
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Error updating Home Assistant Core ‘HomeAssistantCore.update’ blocked from execution, system is not healthy

2 Likes

Click the two “Learn more” links. They will list all of the issues that are responsible for the Unhealthy/Unsupported status. Each listed issue will be a link that leads to more information.

If you have done that and its only complaint concerns docker (and you’re using the recommended version), did you install any other docker-based applications? Home Assistant won’t co-exist with certain applications.

1 Like

I have the same problem. The problem concerns only the docker. I did not install new applications on this host, apart from the already existing emby, filezilla, gluetun, cloudflare, I do not count the applications installed by homeasistant. Everything worked so far.

Logger: homeassistant.components.websocket_api.http.connection
Source: components/hassio/update.py:305
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 19:17:56 (2 occurrences)
Last logged: 19:21:51

[140595853988080] Error updating Home Assistant Core 'HomeAssistantCore.update' blocked from execution, system is not healthy
[140595679384992] Error updating Home Assistant Core 'HomeAssistantCore.update' blocked from execution, system is not healthy
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 303, in async_install
    await async_update_core(self.hass, version=version, backup=backup)
  File "/usr/src/homeassistant/homeassistant/components/hassio/handler.py", line 45, in _wrapper
    raise HassioAPIError(data["message"])
homeassistant.components.hassio.handler.HassioAPIError: 'HomeAssistantCore.update' blocked from execution, system is not healthy

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 202, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service
    await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 207, in handle_service
    await service.entity_service_call(
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 154, in async_install
    await entity.async_install_with_progress(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/update/__init__.py", line 413, in async_install_with_progress
    await self.async_install(version, backup)
  File "/usr/src/homeassistant/homeassistant/components/hassio/update.py", line 305, in async_install
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Error updating Home Assistant Core 'HomeAssistantCore.update' blocked from execution, system is not healthy

My issue was due to portainer-ce running on the same host.
I found an error in the Supervisor log.

Found image in unhealthy image list 'portainer/portainer-ce' on the host

Also it is not sufficient to only stop portainer, but rather it should be removed completely, and home assistant restarted.

$ docker stop portainer
$ docker rm portainer
$ docker image prune
$ docker volume prune

image

Since the support for portainer addon was deprecated a while back I then just installed it again afterwards.

Ideally, I would have liked to run HA on its own host. This is not possible since obtaining a RPi in SA is close to impossible.

I would have liked not to see such strict controls in place; however, I can understand the motivation behind the dev’s doing this. Additionally, it would have been nice to be provided with the option of enabling some type of super advanced mode for HA even though it came with a massive disclaimer.

3 Likes

same issue here with the new supervisor and additional containers running like portainer.

the fix i used disable health check
login via putty and run
ha jobs options --ignore-conditions healthy

system stays unhealthy but its not blocking anything like updates or new addon installs

24 Likes

As stated in ADR-0014, no additional software, outside of the Home Assistant ecosystem, is installed. This includes but are not limited to standalone containers running on the same host.

Some containers will also conflict with the operations of the Supervisor, if you run any of those your system will also be marked as unhealthy. These containers will be shown in the Supervisor log as errors.

warning unsupported okay but unhealthy and therefore not beging able to update is a step to far. let people decide what they want ok if they are not supporting it but this is actively stopping it that’s not cool. that’s not what i expect from a project that states Powered by a worldwide community of tinkerers and DIY enthusiasts. but they only let you play by their rules that’s weird

14 Likes

Seems a simple enough explanation. Like your car manfacturer doesn’t want you to put diesel in your petrol car.

Its more like IOS vs Android ecosystems in my mind. One is significantly more locked down than the other.

Installing portainer doesn’t cause my motor catastrophic damage like putting petrol in my diesel engine would.

1 Like

I have portainer and watchtower to manage other stuff othen then hassio why can i user hassio normaly? let me pass the healty stuff im the owner of my own system thius is open source so let me alone!

1 Like

Yup for me the same. Let me decide myself what to do with different / other containers on my host.

So let HA rollback this aggressive way of alerting. I don’t want to uninstall portainer, but now I can’t update mt HA instance. Bah.

1 Like

Why not run HA Container if you want the ability to have whatever software you want on your system? (This is directed at several people in this thread–not just you, Ruald.)

1 Like

You can ignore any checks if you want:

# ha res check options -h

This command allows to apply options to an specific check managed by the system.

Usage:
  ha resolution check options [flags]

Aliases:
  options, option, opt, opts, op

Examples:

  ha resolution check options [slug]

Flags:
      --enabled   Enable/Disable check on the system (default true)
  -h, --help      help for options

Global Flags:
      --api-token string   Home Assistant Supervisor API token
      --config string      Optional config file (default is $HOME/.homeassistant.yaml)
      --endpoint string    Endpoint for Home Assistant Supervisor (default is 'supervisor')
      --log-level string   Log level (defaults to Warn)
      --no-progress        Disable the progress spinner
      --raw-json           Output raw JSON from the API

Which I guess is “super advanced mode”. The unsupported/unhealthy messages are already the disclaimer.

But I mean as Tediore notes HA already provided an installation option for “I want a machine that runs Home Assistant and all the other software that I choose”. That’s the container installation option, not supervised.

Supervised is only supported as an appliance install. The expectation is that the only thing run on the host shell is the supervised installer, all other changes to the system are via HA.

I’m using HA Container and I have the same issue as the other…

That makes no sense. If you have a container install then there isn’t even a way to update HA from within HA, you have to use do it yourself with the docker cli or some other software like watchtower. Home Assistant does not have permissions required to talk to docker so it cannot pull images and make containers. Certainly not its own since it obviously cannot start a new container after its own has been stopped and removed.

If you see a message like the one at the top of this post then you followed either the Home Assistant Supervised or Home Assistant Operating System type of installation, not Home Assistant Container.

2 Likes

Thank god for your input, that solved this VERY stupid issue.

OTOH you knew this when you installed supervised. Why complain now? If you don’t want to go with the restrictions of supervised, don’t use it. Find another way, like proxmox. Not that hard.

But I suppose moaners will moan.

Is it the Portainer that HA complains about?
Huh! I had it on from day one from version 0.95 or so. Never had an issue. Or rather every now and then it would complain about unhealthy, I reboot and all goes away, upgrade is possible.

What would be a command to revert? I used the ignoring, did the upgrade and I am considering now to put it back - the warning I mean.

ha jobs reset
should restore the original configuration.

2 Likes