ronivay / XenOrchestraInstallerUpdater

Xen Orchestra install/update script
GNU General Public License v3.0
1.18k stars 189 forks source link

not working. Problem with version 8.2.0? #96

Closed gurkburk76 closed 2 years ago

gurkburk76 commented 2 years ago

OS Version: Node.js version: node -v v14.17.0 Yarn version: yarn -v (return ERROR: There are no scenarios; must have at least one.) Although -v is verbose and not version ;) yarn --version returns 0.32+git

Server specs amount of vCPUs and RAM on the machine where you attempt to install 2 cpu cores, 8gig mem

Issue describe the issue and what task you were running (update, install) trying to run the script but it errors out, see log It would seem like yarn might be doing something odd? (since it didn't like yarn -v and gave the same error as in log.

Installation logfile Attach complete log as a file. [13:31 14] xoa@xoa:XenOrchestraInstallerUpdater (master=)$ more /home/xoa/XenOrchestraInstallerUpdater/logs/xo-install.log-202109141330

PORT="80" INSTALLDIR="/opt/xo" SELFUPGRADE=true CONFIGUPDATE=true REPOSITORY="https://github.com/vatesfr/xen-orchestra" BRANCH="master" PLUGINS="all" AUTOUPDATE="true" OS_CHECK="true" ARCH_CHECK="true" PRESERVE="3"

gurkburk76 commented 2 years ago

I'll try the xo-vm-import.sh and the prebuild variant, if that dosen't work i'll report back.

ronivay commented 2 years ago

Definitely an issue with yarn. Need to look into it, probably something in Debian 11. Was this a fresh OS installation and did you let the script install node/yarn?

ronivay commented 2 years ago

Okay looks like your OS installation has package called cmdtest which has a binary called yarn, this isn't obviously what is needed by this script and won't work. Script doesn't have a way to check this currently, it assumes yarn is installed when binary is found. I'll implement a check for that if needed.

You should remove cmdtest package if you don't need it and then rerun the install option of this script. Is this something you've installed manually or part of some template you're using?

My best bet is that you installed yarn (and node?) by hand before running the script. Above log would support this as both were already installed according to it. Looks like simply calling apt install yarn will end up with cmdtest being installed unless the correct repo is there (which script does for you). This is what happens:

Note, selecting 'cmdtest' instead of 'yarn'
gurkburk76 commented 2 years ago

Just to recap, what i did is installer xcp-ng 8.2.0 on a host and then (quick) deployed the vmto control it, changed them mem to 8gb and git cloned your after ssh'ing into the vm. I first tried to run ./xo-install.sh --update but that threw a fit complaining that yarn wasen't isntalled. i then proceeded to take a cofee. After that i had woken up i did a ./xo-install.sh --install and that gave the impression of working better, at least it started to download packages that where missing, like yarn i'm guessing. But.. for some reason, while downloading packages and installing them, it started lie about "There appears to be trouble with your network connection" (i know it works fine, even the dns was resolving) i'm sorry i don't have these logs, i must have closed that putty window. By this time i just gave up and chose to run with your image instead, seem to work, might try docker later just for kicks.

"They" seem to have build this vm ontop of debian 11, so i guess something there might be weird, i didn't find a package named "cmdtest" but it seem like it was trying to use some wrappr command named "command" .. weird.

ronivay commented 2 years ago

Ah so you used the official XOA quick deploy and used the same VM for this install script? That's not tested and most likely doesn't work, you need a plain installation of one of the supported OS's (like Debian 11). That's how it says in the readme :) the xo-vm-import.sh is the correct way if you don't have an easy way to deploy a clean VM otherwise and you already did that so should be good.

The command command you see in logs is just the script logging what it's doing and command -v yarn is used to check if that yarn binary exists, yarn isn't actually executed at that point.

gurkburk76 commented 2 years ago

Oh so i needed to install a clean machine and THEN the script would so it's magic, i missunderstood and thought that it would simple add stuff to the deployed machine, my bad :) Ok cool, i got it working the other ways (your image and docker) i don't think it's a worse way of doing things instead of running the script on a new (clean) machine right ? it has the same features etc i would guess.

ronivay commented 2 years ago

Yeah. I added a check now that it will refuse to run on XOA VM :)

The image is basically the same outcome that you would get by installing a debian 10 VM by hand and then run xo-install.sh on it so it’s more than fine to use the image option. Docker is obviously different but will do as well.

I’ll close this for now. If there’s any further questions, feel free to continue here.