Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

qss integration failed to configure after homeassitant upgrade to 2024.12.0 #52

Open
gco33 opened this issue Dec 5, 2024 · 8 comments · Fixed by #53
Open

qss integration failed to configure after homeassitant upgrade to 2024.12.0 #52

gco33 opened this issue Dec 5, 2024 · 8 comments · Fixed by #53
Labels

Comments

@gco33
Copy link

gco33 commented Dec 5, 2024

Describe the bug
qss integration failed to configure after homeassitant upgrade to 2024.12.0
exact message in log is "Setup failed for custom integration 'qss': Requirements for qss not found: ['questdb>=1.2,<2.0']."

To Reproduce
Once homeassistant have been upgraded and restarted, notification is raised with message above

Expected behavior
qss should start without error after upgrade

Exact version of each module of homeassistant :
image
Interface utilisateur (in french) is User interface

@gco33 gco33 added the 🐛 bug label Dec 5, 2024
@FeHJa
Copy link

FeHJa commented Dec 5, 2024

I see the following line in the logs:

2024-12-05 13:22:28.609 ERROR (SyncWorker_0) [homeassistant.util.package] Unable to install package questdb>=1.2,<2.0: × Failed to download and build 'questdb==1.2.0'
╰─▶ Build backend failed to determine requirements with 'build_wheel()'
2024-12-05 13:22:31.569 ERROR (MainThread) [homeassistant.setup] Setup failed for custom integration 'qss': Requirements for qss not found: ['questdb>=1.2,<2.0'].

@antst
Copy link
Contributor

antst commented Dec 5, 2024

Yes, this is bug which everyone with supervised 2024.12.0 will experience.
Tried to dig this issue couple of days ago, and it all boils down to very strange error of being unable to load cpython shared library, when pip is trying to install 'questdb>=1.2,<2.0'. (I tried 1.2, 2.0, 2.0.x - all the same)
I've found only two similar issue in the google history, both miss resolutions.

@antst
Copy link
Contributor

antst commented Dec 5, 2024

But, technically, this is not QSS issue, but rather issue of building python questdb client (https://github.com/questdb/py-questdb-client) with python setup which comes with home assistant core.

@antst
Copy link
Contributor

antst commented Dec 5, 2024

I created issue on HA core repo, where we need to work on resolution.
home-assistant/core#132398

@gco33
Copy link
Author

gco33 commented Dec 5, 2024

thanks a lot for investigation

@antst
Copy link
Contributor

antst commented Dec 5, 2024

OK, why it does not build on new HA core I sorted out.
But, aside issue with /tmp on HA core, there are ton of issues with questdb module.

  1. versions bellow 2.0.3 has bugs in build system. so pip will not build and install them "as is", unless some fixed applied.
  2. even if fixes applied, it need Rust compiler to build. While there is no problem with build of 2.0.x versions . 1.2.0 has some other problems with rust. And current extension works with 1.2.0 only.

So, outcome:
Either some will upgrade this component to be able to work with 2.0.3 (but then still building of questb on the fly by HA Core would require installed Rust compiler and fixed permission of /tmp) or someone takes car of generation of pre-built wheel for environment we have in new HA Core. Or ideally, someone update compinent to use 2.0.3 questdb package and generate wheel :)

To be honest, I have ZERO experience with wheels etc.

@antst
Copy link
Contributor

antst commented Dec 5, 2024

OK, #53 updates qss to use lates questdb python client. Client which can be built by pip (assuming /tmp is not mounted with "noexec" and rust compiler "cargo" is installed on the host.
In case of hass core it is simple matter of

mount -t tmpfs -o rw,nosuid,nodev,relatime tmpfs /tmp
apk add cargo
pip install -v questdb==2.0.3

I will also talk to questdb people to provide prebuilt wheel for this particular combination of python and musl. But, before wheel is available, functionality already can be restored with couple of extra command above

@FeHJa
Copy link

FeHJa commented Dec 7, 2024

Thank you @antst, works for me.

@CM000n CM000n linked a pull request Jan 3, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants