home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.43k stars 30.67k forks source link

The operating system does not support network storage Network storage is not supported on this host #94250

Closed 21Development closed 1 year ago

21Development commented 1 year ago

The problem

Going to Network / Storage I am shown the following error message:

The operating system does not support network storage Network storage is not supported on this host

I'm using network mounts outside of HA already so OS does support network storage. I've updated os-agent to 1.5.1 (as mentioned in another post) rebooted everything and still get the same message.

What version of Home Assistant Core has the issue?

core-2023.6.0

What was the last working version of Home Assistant Core?

new feature

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

No response

Link to integration documentation on our website

No response

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

freeDom- commented 1 year ago

I am receiving the same message... I am also running HA supervised installation on a Pi.

I am no Docker expert, but supervised installation is using docker containers... You might need to expose the network storages to the docker container.

frenck commented 1 year ago

Home Assistant Supervised

It means you probably haven't set bind propagation for the Supervisor data folder. You can either add that, or otherwise try running the Supervised installer again.

Closing this issue, as it is a configuration issue on the host system we don't control.

../Frenck

21Development commented 1 year ago

I’ve read lots of messages from people that get the same message, it would be helpful to maybe explain a little more on what is / isn’t supported and elaborate on possible fixes?

I’m no expert on Linux, Googling bind propagation says it’s an Advanced feature of docker that you wouldn’t normally touch…. It sounds like it’s mirroring an existing network share? - if so, maybe I’m misunderstanding what this new HA feature actually is!?

e.g. my assumption was I could create and manage my network shares via HA, giving users a easier way to manage rather than CLI. If there is something that needs to be configured, over and above what is already documented to install HA supervised, it would be great if we could get that documented somewhere?

frenck commented 1 year ago

I’m no expert on Linux

Don't get me wrong, but in that case you are not the target users for the Home Assistant Supervised installation and I would strongly suggest running Home Assistant in a different way that suits you more. Home Assistant Supervised is the most complicated installation method we have, and requires (and we assume) deep knowledge of Linux system administrator, networking and things like Docker. (<- that is documented and warned for).

and elaborate on possible fixes?

I did in the previous message? Have you tried running the Supervised installer again? Like with the latest available version?

21Development commented 1 year ago

I’m no expert on Linux

Don't get me wrong, but in that case you are not the target users for the Home Assistant Supervised installation and I would strongly suggest running Home Assistant in a different way that suits you more.

😂😂 having been in this industry for over 20 years, with a very wide & deep technology background, that comment made me LOL - As someone that’s also managed product development commercially and understands customers very well, I was trying to offer you some product advice to actually help your users with a new feature.

Closing bugs like this is one of my pet hates (professionally)… anyway, this feature was more of a ‘nice to have’ for me so I will just ignore it and not spend any more time on it.

frenck commented 1 year ago

Assuming your response, I think you didn't try running the installer, then?

freeDom- commented 1 year ago

I tried running the installer script again and setting bind propagation for the data folder to rslave and to rshared. Neither did work for me.

rybackisback commented 1 year ago

@frenck I have the same error. I have HA supervised installed on Ubuntu 22.04 LTS. I tried running the Supervised installer - latest version again and it made no difference.

DanGarion commented 1 year ago

I'm having a similar error. I tried to run supervised installer. That did not resolve it and it knocked out my access to add ons. Then I repaired supervised using the CLI and rebooted core. That brought back my access to supervised. But I still have the same message when I go to storage. I'm running 1.5.1 of OS agent as I updated that as a first step as well.

"The operating system does not support network storage Network storage is not supported on this host"

Tryfos commented 1 year ago

I'm having the exact same problem, this is obviously a bug in supervised installs (Debian and everything supported). Last time I checked supervised installation method is still supported and any questions from users should not just be thrown out of the window. Also, if something more should be done by the user before/after updating to 2023.6, I think this should be in the release notes, even for advanced users like those who have supervised installs.

freeDom- commented 1 year ago

I'm having the exact same problem, this is obviously a bug in supervised installs (Debian and everything supported). Last time I checked supervised installation method is still supported and any questions from users should not just be thrown out of the window. Also, if something more should be done by the user before/after updating to 2023.6, I think this should be in the release notes, even for advanced users like those who have supervised installs.

Yes, supervised installer, specifically the /usr/sbin/hassio-supervisor script does setup the docker container with bind propagation rprivate for data directory. Otherwise it seems that changing that does not change anything as mentioned earlier. I wouldnt say that it is definitely a problem with the installer, but it would be great to know what else needs to be done here.

Tryfos commented 1 year ago

I'm having the exact same problem, this is obviously a bug in supervised installs (Debian and everything supported). Last time I checked supervised installation method is still supported and any questions from users should not just be thrown out of the window. Also, if something more should be done by the user before/after updating to 2023.6, I think this should be in the release notes, even for advanced users like those who have supervised installs.

Yes, supervised installer, specifically the /usr/sbin/hassio-supervisor script does setup the docker container with bind propagation rprivate for data directory. Otherwise it seems that changing that does not change anything as mentioned earlier. I wouldnt say that it is definitely a problem with the installer, but it would be great to know what else needs to be done here.

So this actually points to a bug in the new feature in relation to supervised installs (possibly to docker installs too). If changing the bind propagation options as suggested does not resolve the issue, the issue is with the new feature and developers could take a look at that.

DanGarion commented 1 year ago

So with this ticket closed it appears we need to open a new ticket... Or is someone going to listen to us and reopen this one?

martymoose commented 1 year ago

I have a HA supervised installation on Debian 11 followed the install on the HA docs. Same issue "The operating system does not support network storage Network storage is not supported on this host"

electriqube commented 1 year ago

I have a HA supervised installation on Debian 11 followed the install on the HA docs. Same issue "The operating system does not support network storage Network storage is not supported on this host"

Re-run Home Assistant Supervised Debian Package: wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb dpkg -i homeassistant-supervised.deb

Tryfos commented 1 year ago

I have a HA supervised installation on Debian 11 followed the install on the HA docs. Same issue "The operating system does not support network storage Network storage is not supported on this host"

Re-run Home Assistant Supervised Debian Package: wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb dpkg -i homeassistant-supervised.deb

Others have reported that re-running the installation package does NOT resolve the problem. Anyway shouldn't this be documented in the release notes if it were necessary?

martymoose commented 1 year ago

Thank you that fixed it

freeDom- commented 1 year ago

OK I got it working now. Need to use slave bind propagation, others wont work!

2 weeks ago there was a patch to the supervisor installer for setting bind propagation of the data mount to slave. Usually re-running the supervisor should do the trick, but for me it did not. I was able to set it manually using the following steps:

SOLUTION

  1. Edit /usr/sbin/hassio-supervisor file changing the following line -v ${SUPERVISOR_DATA}:/data:rw \ to -v ${SUPERVISOR_DATA}:/data:rw,slave \
  2. Remove the docker container (it should get recreated by systemd automatically with the script you just edited) docker container rm -f hassio_supervisor
  3. In case it was not recreated (check docker ps) just run the script manually

Here is a link to the commit with the patch: https://github.com/home-assistant/supervised-installer/pull/293/commits/c49720f3ba4a5fac5781625398c9b14e4556c737

Enjoy ;)

DanGarion commented 1 year ago

Amazing what can be done with a closed ticket where the team says there isn't an issue...

Papadoma commented 1 year ago

Yeah Breaking stuff and then claiming nothing can be done because we're not using their OS bundle is facilitated by simply closing a ticket.

rybackisback commented 1 year ago

hi @freeDom-i am running supervised in docker on ubuntu. Do I have to re-run the supervised installer to implement the fix above?

freeDom- commented 1 year ago

hi @freedom-I am running supervised in docker on ubuntu. Do I have to re-run the supervised installer to implement the fix above?

You can try running the installer first. The solution above is just a fix when rerunning the installer does not work.

rybackisback commented 1 year ago

thanks @freeDom- I tried re running the latest installer this morning and that did not fix it. Can you provide some more detailed instruction on how to edit the /usr/sbin/hassio-supervisor? is that done through the ubuntu terminal, if so what are the commands to open and edit that file?

freeDom- commented 1 year ago

thanks @freeDom- I tried re running the latest installer this morning and that did not fix it. Can you provide some more detailed instruction on how to edit the /usr/sbin/hassio-supervisor? is that done through the ubuntu terminal, if so what are the commands to open and edit that file?

You can edit that file using any text editor you like (terminal based or GUI based), but the file must probably be opened as super user. If you are unfamiliar with the terminal use a GUI text editor instead.

anonymousaga commented 1 year ago

Yeah Breaking stuff and then claiming nothing can be done because we're not using their OS bundle is facilitated by simply closing a ticket.

Yea. While I love home assistant, I hate how they treat supervisor. I want addons, but I don't have enough compute power to run a VM on my Raspberry Pi server. I also don't want to re-set-up all the current programs I already have on the pi. It seems like all problems are just shut down as not using the OS and not given some effort.

Gerrett84 commented 1 year ago

Worked, thanks. Btw in my /usr/sbin/hassio-supervisor file it was ${HASSIO_DATA}:/data:rw where 'slave' should be added

freeDom- commented 1 year ago

Worked, thanks. Btw in my /usr/sbin/hassio-supervisor file it was ${HASSIO_DATA}:/data:rw where 'slave' should be added

You are probably using an older version of the supervisor then I do.. The env variable used to be called HASSIO_DATA.

Actually the latest supervisor version is working, so the problem is fixed already. If someone here is experienced with .deb packaging and maintaining and is willing to create a better experience for supervisor users read here: https://developers.home-assistant.io/blog/2021/08/24/supervisor_update/#supervised-installation

AgileCowboy commented 1 year ago

OK I got it working now. Need to use slave bind propagation, others wont work!

2 weeks ago there was a patch to the supervisor installer for setting bind propagation of the data mount to slave. Usually re-running the supervisor should do the trick, but for me it did not. I was able to set it manually using the following steps:

  1. Edit /usr/sbin/hassio-supervisor file changing the following line -v ${SUPERVISOR_DATA}:/data:rw \ to -v ${SUPERVISOR_DATA}:/data:rw,slave \
  2. Remove the docker container (it should get recreated by systemd automatically with the script you just edited) docker container rm -f hassio_supervisor
  3. In case it was not recreated (check docker ps) just run the script manually

Here is a link to the commit with the patch: home-assistant/supervised-installer@c49720f

Enjoy ;)

This fixed it for me. Thanks!

hassos: null homeassistant: 2023.6.2 hostname: VIM1S logging: info machine: raspberrypi4 operating_system: Debian GNU/Linux 11 (bullseye) state: running supervisor: 2023.06.2 supported: true supported_arch:

fireheadman commented 1 year ago

worked for me also... did a backup first, then applied the "slave" to the script, ran the script (noticed the prompt didn't return)... but did see the container recreated, so issued a reboot to ensure everything came up clean.

image

KatMan-59 commented 1 year ago

I followed all 3 steps from @freeDom but docker did not come back up. So reset and then followed the first 1 step

"Edit /usr/sbin/hassio-supervisor file changing the following line
        -v ${SUPERVISOR_DATA}:/data:rw \
to
        -v ${SUPERVISOR_DATA}:/data:rw,slave \

Then rebooted the system and all was well.

So many thanks for all your help. :-)

chocomega commented 1 year ago

For the record the latest supervised installer (1.5.0) depends on the package systemd-resolved which does not exist on Debian 11 Bullseye so you might want to use one of the following solutions:

wrettro commented 1 year ago

OK I got it working now. Need to use slave bind propagation, others wont work!

2 weeks ago there was a patch to the supervisor installer for setting bind propagation of the data mount to slave. Usually re-running the supervisor should do the trick, but for me it did not. I was able to set it manually using the following steps:

SOLUTION

  1. Edit /usr/sbin/hassio-supervisor file changing the following line -v ${SUPERVISOR_DATA}:/data:rw \ to -v ${SUPERVISOR_DATA}:/data:rw,slave \
  2. Remove the docker container (it should get recreated by systemd automatically with the script you just edited) docker container rm -f hassio_supervisor
  3. In case it was not recreated (check docker ps) just run the script manually

Here is a link to the commit with the patch: home-assistant/supervised-installer@c49720f

Enjoy ;)

Hi, not sure if I did something wrong, but when I removed the docker container it's not recreating itself, I've rebooted multiple times and it's still not starting.

wrettro commented 1 year ago

For the record the latest supervised installer (1.5.0) depends on the package systemd-resolved which does not exist on Debian 11 Bullseye so you might want to use one of the following solutions:

  • Re-run 1.4.3 installer instead of 1.5.0 (which also includes the bind propagation fix)
  • or install the backport of systemd-resolved and run 1.5.0 installer (that's what I did)
  • or upgrade to Debian 12 Bookworm and run 1.5.0 installer ?

How does one do this?

freeDom- commented 1 year ago

OK I got it working now. Need to use slave bind propagation, others wont work! 2 weeks ago there was a patch to the supervisor installer for setting bind propagation of the data mount to slave. Usually re-running the supervisor should do the trick, but for me it did not. I was able to set it manually using the following steps:

SOLUTION

  1. Edit /usr/sbin/hassio-supervisor file changing the following line -v ${SUPERVISOR_DATA}:/data:rw \ to -v ${SUPERVISOR_DATA}:/data:rw,slave \
  2. Remove the docker container (it should get recreated by systemd automatically with the script you just edited) docker container rm -f hassio_supervisor
  3. In case it was not recreated (check docker ps) just run the script manually

Here is a link to the commit with the patch: home-assistant/supervised-installer@c49720f Enjoy ;)

Hi, not sure if I did something wrong, but when I removed the docker container it's not recreating itself, I've rebooted multiple times and it's still not starting.

OK I got it working now. Need to use slave bind propagation, others wont work! 2 weeks ago there was a patch to the supervisor installer for setting bind propagation of the data mount to slave. Usually re-running the supervisor should do the trick, but for me it did not. I was able to set it manually using the following steps:

SOLUTION

  1. Edit /usr/sbin/hassio-supervisor file changing the following line -v ${SUPERVISOR_DATA}:/data:rw \ to -v ${SUPERVISOR_DATA}:/data:rw,slave \
  2. Remove the docker container (it should get recreated by systemd automatically with the script you just edited) docker container rm -f hassio_supervisor
  3. In case it was not recreated (check docker ps) just run the script manually

Here is a link to the commit with the patch: home-assistant/supervised-installer@c49720f Enjoy ;)

Hi, not sure if I did something wrong, but when I removed the docker container it's not recreating itself, I've rebooted multiple times and it's still not starting.

Did you run the script /usr/sbin/hassio-supervisor as mentioned? You dont need to reboot. What is output of docker ps?

wrettro commented 1 year ago

running that just says it's unable to resolve the host

wrettro commented 1 year ago

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a60c0cb62e3b ghcr.io/home-assistant/amd64-hassio-observer:2023.06.0 "/usr/bin/observer" 3 weeks ago Up 34 minutes 0.0.0.0:4357->80/tcp, :::4357->80/tcp hassio_observer

freeDom- commented 1 year ago

running that just says it's unable to resolve the host

There is your problem.. If youcannot run the script it cannot recreate the containers. Probably you did a mistake there. It wouldbe best for you to download the supervisor installer v1.4.3 and run that. Other support here is beyond the topic. If you are not experienced with linix administration it would also be a better option for you to use ha os.

SmbKiwi commented 1 year ago

" upgrade to Debian 12 Bookworm and run 1.5.0 installer". If you are still using Debian 11 to run HA supervised and HA in a Docker container, then moving to Debian 12 is probably the best option long-term (as it is the only currently supported OS for running HA core/HA Supervised on Linux except for HA OS). "How does one do that?" Here is what I did after some research. It may work for you (I was running HA supervised on Debian 11).

-ensure you are running the latest HA Os-agent -make sure Debian 11 is fully up to date sudo apt update then sudo apt upgrade -upgrade to Debian 12 see https://ostechnix.com/upgrade-to-debian-12-from-debian-11/ -since a sub-part of the systemd-journal service under Debian 11 got separated in Debian 12 and newer HA supervisor versions expects this for a supported system (hence you get unsupported messages in HA when you update HA supervisor in GUI), ensure that by: sudo apt-get install --reinstall systemd-journal-remote -y and sudo apt-get install --reinstall systemd-resolved -y then reboot -run sudo systemctl enable systemd-journal-gatewayd.socket then sudo systemctl start systemd-journal-gatewayd.socket just to make sure the service is running -download latest HA Supervisor installer wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
-install the HA supervisor sudo apt install ./homeassistant-supervised.deb then reboot

That may work for you.

wrettro commented 1 year ago

would this wipe my setup?

SmbKiwi commented 1 year ago

would this wipe my setup?

If you mean your HA setup, no it didn't wipe mine. It just updates the Linux OS files/folders, so it is my understanding that it leaves non OS files in other directories intact (I'm not an advanced Linux user, but that is how I understand it works). It's an upgrade/addition of Linux OS files, not a wiping of the hard disk/partitions and starting again. It's also an update of the HA supervisor, not HA core within the docker container. Your Linux user accounts will still exist, and HA Core and configuration/database is stored in a Docker container which will still be there. You can backup your HA setup as well if you wish from within HA before you start, so you restore from that if you had to install HA core via Docker again. I backed my HA core setup up to my Google drive (I use the Home Assistant Google Drive Backup add-on) but didn't need to restore it. After I did all these steps and rebooted, my HA server was running as normal at the same internal IP address/using same external url.