Reverting back to latest docker build (back from dev) - HA container has errors and won't start now

Hello - I wanted to test out the dev build, so I updated my docker compose to the dev flag. After kicking the tires for a few minutes, I wanted to go back to the latest build, but now HA won’t launch after reverting back. Can someone see what the issue is?

Is there a specific process I should’ve followed to “clean” my docker config directory for HA to revert back successfully?


2020-05-13 16:56:16 INFO (MainThread) [homeassistant.setup] Setup of domain persistent_notification took 0.0 seconds.


Traceback (most recent call last):


  File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main


    "__main__", mod_spec)


  File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code


    exec(code, run_globals)


  File "/usr/src/homeassistant/homeassistant/__main__.py", line 355, in <module>


    sys.exit(main())


  File "/usr/src/homeassistant/homeassistant/__main__.py", line 347, in main


    exit_code = asyncio.run(setup_and_run_hass(config_dir, args), debug=args.debug)


  File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run


    return loop.run_until_complete(main)


  File "/usr/local/lib/python3.7/asyncio/base_events.py", line 587, in run_until_complete


    return future.result()


  File "/usr/src/homeassistant/homeassistant/__main__.py", line 253, in setup_and_run_hass


    safe_mode=args.safe_mode,


  File "/usr/src/homeassistant/homeassistant/bootstrap.py", line 94, in async_setup_hass


    await async_from_config_dict(config_dict, hass) is not None


  File "/usr/src/homeassistant/homeassistant/bootstrap.py", line 168, in async_from_config_dict


    await conf_util.async_process_ha_core_config(hass, core_config)


  File "/usr/src/homeassistant/homeassistant/config.py", line 468, in async_process_ha_core_config


    await hass.config.async_load()


  File "/usr/src/homeassistant/homeassistant/core.py", line 1443, in async_load


    self._update(source=SOURCE_STORAGE, **data)


TypeError: _update() got an unexpected keyword argument 'external_url'

I pulled down the beta tag, and am functional again. However, moving forward, what is my best course of action? Do I specify a specific version until “latest” meets or supersedes the current beta version I’m at?

Before I had a life changing event in December (moving, etc…), I had disabled my nightly cron job that took a backup of my docker directory, so I don’t have anything to fall back/restore from.

Just trying to avoid running into this breaking issue in the future, or is it best to fall on the sword now and start over fresh?

I had the same issue. The problem is in /config/.storage/core.config. There are external_url and internal_url JSON objects created in the 0.110 beta that aren’t used in versions < 0.110. Removing those objects fixed the issue.

1 Like

This is actually a bug!

The core should be able to start with additional data in the core configuration (as we do on other places as well). It should be able to handle that.

While I cannot change history (previous releases) I will ensure this is handled gracefully for the future. Writing up a fix for 0.110.

3 Likes

PR to address this: https://github.com/home-assistant/core/pull/35660

1 Like

Thanks Karson, I also had the same problem and thanks to you I solved it. :smiley: