-
Notifications
You must be signed in to change notification settings - Fork 66
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
CloudLinux VM not recognized #240
Comments
Hey @adamjstewart, do you know where the CPE is provisioned in such an environment ? |
What is a CPE? |
Common Platform Enumeration, look at |
Hostnamectl output is attached above. Is there something else you need from me? |
So we are looking for If we can manage to fetch them without reading from the bus (maybe they are provisioned on the file system too ?), we could then implement a trivial CPE parser and extract information from there. |
I recursively grepped the entire OS for those strings but didn't find anything useful. Maybe it would be easier to build a |
Thanks for trying this. Maybe we are missing something, and others got a better idea ? |
This version of |
So |
Coming to join the conversation here as my issue #368 was basically a duplicate. Happy to help test any potential solutions on my GoDaddy CloudLinux 8 server. As discussed in my issue |
Hello again @NebularNerd ! We can start by checking whether the above "D-Bus way" works in your environment too.
Thanks ! Bye 👋 |
Hi @HorlogeSkynet 🙂
|
What a shame... I wonder whether we should opt for a simpler approach like checking for Note : this wouldn't give us the version, nor the "pretty name". EDIT : if we wanna stick to the D-Bus way (and if we cannot manage to directly retrieve what D-Bus queries), we have to come up with a first Python script to dialog with D-Bus if you don't have any system tool to do so 🤡 |
So that could at least says we are on CloudLinux if nothing else. Proper 🤡 OS, so locked down, even pandas does not work quite right under their Python 3.11 environment. |
Thanks for this ! I've browsed the Internet, and nothing comes up for such a Python package/module... Could you check If Pandas fails to work in a simple Python environment, I fear dealing with D-Bus (is it even installed and running ?) might be complicated as well... Thanks (and good luck), bye 👋 |
It's not that Pandas fails but it behaves very oddly, I have a script that happily talks to my MariaDB SQL database via PD on Windows over a SSH Tunnel, but through GoDaddy CloudLinux on the server where the database is located it starts flagging up messages about not liking the database anymore. For Not found in:
Found:
|
So I initially planned to directly load this Python module and retrieve/infer its revision and maybe remap it to CloudLinux own version, but :
So our options would be :
What do you think ? My 2 cents would be to opt for the quick win Bye ! 👋 |
It certainly looks like it's closed source (or at least not easily obtainable source) I imagine in part they do it to make the server instances secure. Looking at the decompiled code it's wrote in fairly old Python as well. They have a GitHub but navigating that is not straight forward. Personally, I think reliance on unknown external packages could be an issue later on. Option 1 provides the simplest route for a quick and easy way to say
This should work if you can call It's weird how the fans are really excited that you can only tell what version you are on from decoding the Links: |
(We already process Okay, so I've processed most of your pointers, below is a quick script (RFC), that I'll try to implement if it looks good to you : release_components = uname_release.split(".")
if len(release_components) > 1 and release_components[-2].startswith("el"):
return {
"id": "cloudlinux",
"name": "CloudLinux",
# strip "el" prefix and replace underscores by dots
"version": release_components[-2][2:].replace("_", "."),
} This code would land in current Note : Tell me what you think ! EDIT : I've come up with an implementation, I try to add missing tests before submitting it. |
Hello @NebularNerd ! Could you please take a look/give a try to #369 RFC ? 🙂 |
Tested #369 on the GoDaddy 🥔 server and we have a winner 🎉
|
Awesome, we only have to wait for @python-distro/maintainers to properly review #369 then 🙂 |
I've encountered a CloudLinux VM that
distro
is unable to recognize:The problem is that none of the normal search strategies work:
The only strategy that seems to work is:
We may need to add another search strategy to support this type of VM.
The text was updated successfully, but these errors were encountered: