ronivay / XenOrchestraInstallerUpdater

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

Fresh installation, deployed proxy and proxy not working or not visible/registered #149

Closed damjankumin closed 1 year ago

damjankumin commented 1 year ago

OS Version: Ubuntu 22.04

Issue When testing proxy or running backup I just get this error:

proxy.getApplianceUpdaterState
{
  "id": "527b561a-2455-4cd7-8cb6-8217d6f2e6f0"
}
{
  "code": 1,
  "data": {
    "id": "f812b674-bdf9-e827-c445-0863fe3cbb70"
  },
  "message": "no such object f812b674-bdf9-e827-c445-0863fe3cbb70",
  "name": "XoError",
  "stack": "XoError: no such object f812b674-bdf9-e827-c445-0863fe3cbb70
    at noSuchObject (/opt/xo/xo-builds/xen-orchestra-202210140815/packages/xo-common/api-errors.js:26:11)
    at Xo.getObject (file:///opt/xo/xo-builds/xen-orchestra-202210140815/packages/xo-server/src/xo.mjs:80:13)
    at default.getXenServerIdByObject (file:///opt/xo/xo-builds/xen-orchestra-202210140815/packages/xo-server/src/xo-mixins/xen-servers.mjs:199:26)
    at default.getXapi (file:///opt/xo/xo-builds/xen-orchestra-202210140815/packages/xo-server/src/xo-mixins/xen-servers.mjs:529:29)
    at Proxy.callProxyMethod (file:///opt/xo/xo-builds/xen-orchestra-202210140815/packages/xo-server/src/xo-mixins/proxies.mjs:409:28)"
}

That is it - simply not working. Any suggestion on how to make backups work (I don't care about testing, I am not even sure if it works using Updater script)

ronivay commented 1 year ago

Hi,

Can you explain your environment a bit more in detail. Is this proxy VM running inside the XCP-ng pool managed by your Xen Orchestra? Can you find the VM with uuid f812b674-bdf9-e827-c445-0863fe3cbb70 if you try to search it in XO?

Also as it wasn't clear from here. Proxy isn't required for backups to work, it's just an additional feature IF you want/need to offload the actual backup procedure from XO.

damjankumin commented 1 year ago

There is an error if I run for instance this:

[10:54 xcp-mi ~]# xe vm-param-get param-name=VBDs uuid=f812b674-bdf9-e827-c445-0863fe3cbb70
The uuid you supplied was invalid.
type: VM
uuid: f812b674-bdf9-e827-c445-0863fe3cbb70
[10:55 xcp-mi ~]#

And yes, VM is running in XCP managed pool.

ronivay commented 1 year ago

What do you see in the proxies section in XO? Can you verify that the VM link there points to that f812b674-bdf9-e827-c445-0863fe3cbb70 uuid. If yes, i think there's your issue. XO can't see the VM that you've configured as proxy and it cannot work.

damjankumin commented 1 year ago

Actually, I have an "unknown VM".. so that seems to be my problem. But how to fix it best?

ronivay commented 1 year ago

It would be helpful to understand why that UUID is wrong. So can you verify that you did exactly the following:

Is this correct? If yes, could you SSH to the proxy VM and run dmidecode -t system | grep UUID | awk '{print $NF}' and verify that this matches the VM uuid you see in XO?

damjankumin commented 1 year ago

So I created a new VM, installed OS, cloned the updater, ran the installer as root, installed XO proxy, copied the output and saved it into a file, and installed config in XO config page - proxy is visible. Still, it is not working, saying that the ID is not found. After your suggestion, I ran the mentioned command - the output, 92d09ce3-f943-f95b-f52b-9610ffea7ce3, is the same as if I hover over the VM of the Proxy VM. So even after a new install and all matching IDs, it is still not working and my VMs are not backed up :/ Any other suggestions?

ronivay commented 1 year ago

Installer uses dmidecode output as the VM uuid which it also puts into the json which you import when doing proxy install. It should be exactly that in the logs as well and what you see in the proxies page, but it isn't which makes me think the workflow didn't go exactly as you explained here. Can you try to install the proxy from scratch? I'll test the installation as well if there's something weird going on.

damjankumin commented 1 year ago

So as stated, I created a new VM completely, a bare Linux server, installed the proxy anew and copied the config. Immediately after that, it is not working from the get-go. Also, no weird outputs in the installer, and nothing suspicious going on from any of the deployment of the components...

The output of the proxy installer on the new clean VM (ubuntu 22.04):

`root@xbackup-1:/# cd opt/
root@xbackup-1:/opt# ls
root@xbackup-1:/opt# git clone https://github.com/ronivay/XenOrchestraInstallerUpdater/
Cloning into 'XenOrchestraInstallerUpdater'...
remote: Enumerating objects: 1258, done.
remote: Counting objects: 100% (406/406), done.
remote: Compressing objects: 100% (120/120), done.
remote: Total 1258 (delta 299), reused 308 (delta 286), pack-reused 852
Receiving objects: 100% (1258/1258), 283.85 KiB | 4.05 MiB/s, done.
Resolving deltas: 100% (764/764), done.
root@xbackup-1:/opt# ls
XenOrchestraInstallerUpdater
root@xbackup-1:/opt# cd XenOrchestraInstallerUpdater/
root@xbackup-1:/opt/XenOrchestraInstallerUpdater# ls
LICENSE  README.md  sample.xo-install.cfg  xo-install.sh  xo-vm-import.sh
root@xbackup-1:/opt/XenOrchestraInstallerUpdater# ./xo-install.sh
-----------------------------------------

Welcome to automated Xen Orchestra install

Following options will be used for installation:

OS: Ubuntu 22
Basedir: /opt/xo
User: root
Port: 80
HTTPS: false
Git Branch for source: master
Following plugins will be installed: all
Number of previous installations to preserve: 3
Node.js and yarn auto update: true

Errorlog is stored to /opt/XenOrchestraInstallerUpdater/logs/xo-install.log-202210181034 for debug purposes

Depending on which installation is chosen:

Xen Orchestra configuration will be stored to /root/.config/xo-server/config.toml, if you don't want it to be replaced with every update, set CONFIGUPDATE to false in xo-install.cfg
Xen Orchestra Proxy configuration will be stored to /root/.config/xo-proxy/config.toml. Config won't be overwritten during update, ever
-----------------------------------------

1. Install
2. Update
3. Rollback
4. Install proxy
5. Update proxy
6. Exit

: 4

[ok] OS Ubuntu so making sure universe repository is enabled

[ok] Running apt-get update

[ok] Installing build dependencies, redis server, python, git, libvhdi-utils, lvm2, nfs-common, cifs-utils, curl, ntfs-3g, libxml2-utils

[ok] Installing apt-transport-https and ca-certificates packages to support https repos

[ok] Installing node.js

[ok] Installing yarn

[ok] Enabling and starting redis service

[ok] Enabling and starting rpcbind service

[info] Creating missing basedir to /opt/xo

[info] Creating missing xo-builds directory to /opt/xo/xo-builds

[info] Fetching Xen Orchestra Proxy source code

[info] Creating install directory: /opt/xo/xo-builds/xen-orchestra-202210181034

[info] Installing Xen Orchestra Proxy from branch: master - commit: 05161bd4d

[info] xo-proxy build takes quite a while. Grab a cup of coffee and lay back

[ok] Running installation

[info] Disabling license check in proxy to enable running it in XO from sources

[info] Generate systemd service configuration file
[info] Reloading systemd configuration

[info] No xo-proxy configuration present, copying default config to /root/.config/xo-proxy/config.toml
[info] Adding authentication token to xo-proxy config

[info] Symlinking fresh xo-proxy install/update to /opt/xo/xo-proxy

[info] Starting xo-proxy...
 waiting for port to be open

       Proxy started in port 443. Make sure you have firewall rules in place to allow access from xen orchestra.
       Save following line as json file and use config import in Xen Orchestra to add proxy

{"proxies":[{"authenticationToken":"Q087wlhztOaMWHiY9nRtwiMAWBuNWVeHkZQ6ZpWhZDl","name":"xo-ce-proxy-202210181034","vmUuid":"92d09ce3-f943-f95b-f52b-9610ffea7ce3","id":"692277e1-23b6-4069-912d-237c37a08761"}]}

[info] Installation successful. Enabling xo-proxy service to start on reboot

root@xbackup-1:/opt/XenOrchestraInstallerUpdater# dmidecode -t system | grep UUID | awk '{print $NF}'
92d09ce3-f943-f95b-f52b-9610ffea7ce3
root@xbackup-1:/opt/XenOrchestraInstallerUpdater#`
ronivay commented 1 year ago

Yeah okay. I don't get what uuid the log in first message is referring to then, not VM/proxy uuid it seems. It's just odd that the proxies page shows unknown VM if XO can see it.

damjankumin commented 1 year ago

Same thought occured to me.. I am a bit puzzeled now, I have no idea how to proceed

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

ronivay commented 1 year ago

sorry for long delay on this. i haven't found enough time to debug this issue. any help from the community is highly appreciated.

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated

github-actions[bot] commented 1 year ago

This issue has been open for 14 days without activity. It will be closed in 5 days if not updated