Can't update to 2020.12.1 (400 Client Error)

I am trying to user Supervisor to update to 2020.12.1 (from 2020.12.0) and it is failing. When I check the log, this seems to be the problem:

20-12-23 21:56:16 ERROR (SyncWorker_2) [supervisor.docker.interface] Can’t install homeassistant/-homeassistant:2020.12.1 → 400 Client Error for http+docker://localhost/v1.40/images/create?tag=2020.12.1&fromImage=homeassistant%2F-homeassistant: Bad Request (“invalid reference format”).

I’ve tried updating the docker container, using
sudo docker pull homeassistant/home-assistant:stable
But that doesn’t seem to update the container - the container still shows as 2020.12.0 in Portainer and the version in /config/info also remains at 2020.12.0.

I have exactly the same issue and posted it here. No replies yet… Most of the problems I’ve seen are related to DNS configuration, but this doesn’t seem to be the case.

I’ve crawled all over the internet and can’t find a solution to this…

P.S.: I’ve deleted my original topic so we can focus here.

OK, just now I’ve noticed something looking at journalctl -f

Dec 26 15:29:41 Hades f17a82d76ea1[828]: 20-12-26 15:29:41 INFO (SyncWorker_1) [supervisor.docker.interface] Updating image homeassistant/raspberrypi3-homeassistant:2020.12.0 to homeassistant/-homeassistant:2020.12.1

raspberrypi3 is missing in homeassistant/-homeassistant:2020.12.1, that’s why the “invalid reference format”, now I just need to find how to fix this…

No fix yet. Here’s some more info in case it’s useful to anyone who takes a look…

 bash-5.0# ha info
arch: amd64
channel: stable
docker: 19.03.13
features:
- reboot
- shutdown
- services
- hostname
hassos: null
homeassistant: 2020.12.0
hostname: server
logging: info
machine: ""
operating_system: Ubuntu 18.04.5 LTS
supervisor: 2020.12.7
supported: false
supported_arch:
- amd64
timezone: America/Chicago

@felgy
If you run

ha info

is your “machine” field null like mine is?
That may be why the raspberrypi3 (in your case) is missing.
I googled around and saw the results of ha info from other people (for unrelated problems) and it seemed to contain the architecture of the host machine like here

FWIW: I used Portainer to open a terminal in the hassio_cli container to run ha.

I gave up with this issue after so many hours spent trying to find/fix the problem and deleted all the images and containers via Portainer thus forcing download of everything again.

But… I think I tried ha info before and it was displaying raspberrypi3, but not 100% sure, so that could have been my case as well.

I have the same problem, have been stuck on 0.118.2 for some time now.
error message show homeassistant/-homeassistant and ha info shows machine: “”.

Some one know where to edit the update script?

I was not able to solve the problem, but here’s what I think is going on (at least for me).

I am running HA on Ubuntu which is not an officially supported OS. That is why the machine field is null when I run HA info.
The Docker image used in the update script is generated based on the machine field.
So, when the update script runs, the Docker image name generated is invalid.

I waded through the Supervisor code and that is what it looks like is happening to me. Unfortunately, fixing it is beyond me…

FWIW: When I have time, I plan on wiping my machine, installing a supported OS, then restoring a HA backup. That seems like the best long term “fix.”

I faced same issue. I was able to resolve it by adding “machine” variable to /etc/hassio.json
(probably it was vanished during last update or during installation of hacs)

# cat /etc/hassio.json 
{
    "supervisor": "homeassistant/amd64-hassio-supervisor",
    "homeassistant": "homeassistant/qemux86-64-homeassistant",
    "data": "/usr/share/hassio",
    "machine": "qemux86-64"
}

Next step was to stop supervisor:

systemctl stop hassio-supervisor.service

Then I have to remove old docker image for supervisor

docker rm --force hassio_supervisor

And as a last step, start hypervisor again. (it will recreate docker instance again, now with properly loaded variable for machine)

systemctl start hassio-supervisor.service

Thank you for sharing this, I was finally able to update to the latest release :smiley:

in my case it was the “homeassistant”: “homeassistant/qemux86-64-homeassistant” line that was missing

thanks a lot for sharing. i had the same issue since a month … unable to update all of a sudden after years without issue from 2021.9.7 to 2021.10.6 …

i look at a lot of places but your tips made the trick ! thanks @blackdot !