<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Attempting to add new host fail on xoa and on server, worked on xcp-ng center]]></title><description><![CDATA[<p dir="auto">I got the following when trying to add a new host to an existing pool</p>
<pre><code>pool.mergeInto
{
  "sources": [
    "0af9d764-44e6-1393-4eea-6cb59b934f2a"
  ],
  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
  "force": true
}
{
  "message": "app.getLicenses is not a function",
  "name": "TypeError",
  "stack": "TypeError: app.getLicenses is not a function
    at enforceHostsHaveLicense (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)
    at Pools.apply (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)
    at Pools.mergeInto (/opt/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)
    at Xo.mergeInto (file:///opt/xen-orchestra/packages/xo-server/src/api/pool.mjs:311:15)
    at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:175:22)
    at Task.run (/opt/xen-orchestra/@vates/task/index.js:159:20)
    at Api.#callApiMethod (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
}
</code></pre>
<p dir="auto">Had no idea what was up with this error, so updated the xoa vm and installed updates. But I still got the same error<br />
<img src="/forum/assets/uploads/files/1747780400031-40b881da-29e7-4858-bfdb-8ad91466d8c3-image-resized.png" alt="40b881da-29e7-4858-bfdb-8ad91466d8c3-image.png" class=" img-fluid img-markdown" /><br />
I then tried adding it from the server itself, that also failed<br />
<img src="/forum/assets/uploads/files/1747780434627-f411a9a5-ae28-4d43-8134-c730266669b5-screenshot-from-2025-05-20-15-26-59.png" alt="f411a9a5-ae28-4d43-8134-c730266669b5-Screenshot from 2025-05-20 15-26-59.png" class=" img-fluid img-markdown" /> /home/jonathon/Pictures/Screenshots/Screenshot from 2025-05-20 15-26-59.png</p>
<p dir="auto">Just to see if it would work, I then tried with the latest xcp-ng center, and that worked.</p>
<p dir="auto">So I do not need anything now, but thought it was interesting and worth posting.</p>
]]></description><link>https://xcp-ng.org/forum/topic/10872/attempting-to-add-new-host-fail-on-xoa-and-on-server-worked-on-xcp-ng-center</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 03:33:36 GMT</lastBuildDate><atom:link href="https://xcp-ng.org/forum/topic/10872.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 May 2025 22:34:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Mon, 17 Nov 2025 20:20:39 GMT]]></title><description><![CDATA[<p dir="auto"><code>xe pool-enable-tls-verification</code> Was exactly what I needed, thanks! Worked after that.</p>
]]></description><link>https://xcp-ng.org/forum/post/99699</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99699</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Mon, 17 Nov 2025 20:20:39 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Mon, 17 Nov 2025 19:49:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/psafont" aria-label="Profile: psafont">@<bdi>psafont</bdi></a> Sorry was swamped with other things. As listed above I get the same error, forced or not, from xcp-ng center, xcp-ng host, or xoa.</p>
<p dir="auto"><img src="/forum/assets/uploads/files/1763153778372-1fdda333-0842-4281-ae69-e6c886ec1542-image-resized.png" alt="1fdda333-0842-4281-ae69-e6c886ec1542-image.png" class=" img-fluid img-markdown" /><br />
<s>tls verification has always been of</s>f, and in the past we have not had issue with adding new host to pool.</p>
<p dir="auto">I have taken no other actions since my last posting.</p>
]]></description><link>https://xcp-ng.org/forum/post/99631</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99631</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Mon, 17 Nov 2025 19:49:56 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Fri, 14 Nov 2025 16:31:05 GMT]]></title><description><![CDATA[<p dir="auto">I see at least on a couple of instances that the pool join is being forced. Please don't do this unless you understand the checks being ignored.</p>
<p dir="auto">What's the result of a pool join without the force option?</p>
<p dir="auto">Do both hosts have tls verification enabled?<br />
If not, run <code>xe pool-enable-tls-verification</code>. This will set up the certificates for pool communication correctly for the hosts in that pool and turn on TLS verification for pool communication.<br />
If yes, run <code>xe host-list --minimal | xargs -I _ xe host-param-get uuid=_ param-name=name-label | xargs -I _ xe host-refresh-server-certificate host=_</code>. This will reset the certificates for all the hosts in the pool.</p>
<p dir="auto">Try running the normal join command after doing these steps, and report whether it went well, or report the error.</p>
]]></description><link>https://xcp-ng.org/forum/post/99555</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99555</guid><dc:creator><![CDATA[psafont]]></dc:creator><pubDate>Fri, 14 Nov 2025 16:31:05 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Thu, 13 Nov 2025 07:37:39 GMT]]></title><description><![CDATA[<p dir="auto">I'm not sure who to ping exactly <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f914.png?v=a78c449d9ac" class="not-responsive emoji emoji-android emoji--thinking_face" style="height:23px;width:auto;vertical-align:middle" title=":thinking_face:" alt="🤔" /> Maybe <a class="plugin-mentions-group plugin-mentions-a" href="/forum/groups/team-xapi-network" aria-label="Profile: Team-XAPI-Network">@<bdi>Team-XAPI-Network</bdi></a> with some experience on the cert issue?</p>
]]></description><link>https://xcp-ng.org/forum/post/99546</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99546</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Thu, 13 Nov 2025 07:37:39 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 22:10:21 GMT]]></title><description><![CDATA[<p dir="auto">I see, it also says<br />
<code>           name ( RO): sdn-controller-ca.pem</code><br />
<code>           host ( RO): &lt;not in database&gt;</code><br />
Like in the issue, but the file exists.</p>
<pre><code>[11:28 ovbh-pprod-xen05 ~]# xe certificate-list
uuid ( RO)           : afdd9c8e-dcae-17c7-c35c-0fd7cebd387a
           type ( RO): host
           name ( RO): 
           host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
     not-before ( RO): 20251110T23:15:51Z
      not-after ( RO): 20351108T23:15:51Z
    fingerprint ( RO): BF:83:23:BB:7B:E9:30:DE:86:EA:9D:AF:DF:F8:BA:34:39:D0:81:AD:34:E5:C6:AB:0C:49:41:7B:4A:3C:8B:9E


uuid ( RO)           : b8dcd1f0-ef65-e762-f189-46bb78766c6b
           type ( RO): ca
           name ( RO): sdn-controller-ca.pem
           host ( RO): &lt;not in database&gt;
     not-before ( RO): 20200416T00:17:31Z
      not-after ( RO): 20470901T00:17:31Z
    fingerprint ( RO): 63:1F:89:3F:0E:1F:86:52:34:95:3C:6C:3F:9C:C8:B3:5A:61:6B:4D:EE:8F:A7:11:F0:BA:79:8B:C7:15:A0:E0


uuid ( RO)           : e7daedf2-7f35-ba40-093a-e0c011d91633
           type ( RO): host_internal
           name ( RO): 
           host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
     not-before ( RO): 20251110T23:15:46Z
      not-after ( RO): 20351108T23:15:46Z
    fingerprint ( RO): 71:41:B0:25:88:AA:E4:56:EE:F7:A9:8E:0A:A9:FE:C5:6A:0D:D5:37:30:BF:C8:81:C2:D7:B8:20:7A:6C:7F:B7


[13:50 ovbh-pprod-xen05 ~]# ll /etc/stunnel/certs/sdn-controller-ca.pem
-rw-r--r-- 1 root root 1907 Nov 12 09:45 /etc/stunnel/certs/sdn-controller-ca.pem
</code></pre>
<p dir="auto">Removing it did not help, same error</p>
<pre><code>[13:54 ovbh-pprod-xen05 ~]# xe certificate-list
uuid ( RO)           : afdd9c8e-dcae-17c7-c35c-0fd7cebd387a
           type ( RO): host
           name ( RO): 
           host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
     not-before ( RO): 20251110T23:15:51Z
      not-after ( RO): 20351108T23:15:51Z
    fingerprint ( RO): BF:83:23:BB:7B:E9:30:DE:86:EA:9D:AF:DF:F8:BA:34:39:D0:81:AD:34:E5:C6:AB:0C:49:41:7B:4A:3C:8B:9E


uuid ( RO)           : e7daedf2-7f35-ba40-093a-e0c011d91633
           type ( RO): host_internal
           name ( RO): 
           host ( RO): f0cec10f-ad05-48e4-893c-414b3a3e15be
     not-before ( RO): 20251110T23:15:46Z
      not-after ( RO): 20351108T23:15:46Z
    fingerprint ( RO): 71:41:B0:25:88:AA:E4:56:EE:F7:A9:8E:0A:A9:FE:C5:6A:0D:D5:37:30:BF:C8:81:C2:D7:B8:20:7A:6C:7F:B7
</code></pre>
<p dir="auto">I also confirmed that all the certs for the hosts are current and not expired.</p>
]]></description><link>https://xcp-ng.org/forum/post/99538</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99538</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 22:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 21:44:44 GMT]]></title><description><![CDATA[<p dir="auto">Check out this post for cert error not sure if its related- <a href="https://xcp-ng.org/forum/topic/9083/stunnel-sdn-cert-error-when-adding-host-to-pool/7?_=1762983691777">https://xcp-ng.org/forum/topic/9083/stunnel-sdn-cert-error-when-adding-host-to-pool/7?_=1762983691777</a></p>
]]></description><link>https://xcp-ng.org/forum/post/99537</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99537</guid><dc:creator><![CDATA[acebmxer]]></dc:creator><pubDate>Wed, 12 Nov 2025 21:44:44 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 21:40:35 GMT]]></title><description><![CDATA[<p dir="auto"><img src="/forum/assets/uploads/files/1762983483732-eee8bee1-ce6f-47c2-b5f0-1cd9b942db79-image.png" alt="eee8bee1-ce6f-47c2-b5f0-1cd9b942db79-image.png" class=" img-fluid img-markdown" /><br />
<img src="/forum/assets/uploads/files/1762983621903-9eea1860-e725-4e3c-85ff-0c3351beff45-image.png" alt="9eea1860-e725-4e3c-85ff-0c3351beff45-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Boo</p>
]]></description><link>https://xcp-ng.org/forum/post/99536</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99536</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 21:40:35 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 21:34:49 GMT]]></title><description><![CDATA[<p dir="auto">Bummer<br />
<img src="/forum/assets/uploads/files/1762983283409-957a5e9d-7f52-42a6-9105-c4772cd4e6e2-image.png" alt="957a5e9d-7f52-42a6-9105-c4772cd4e6e2-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://xcp-ng.org/forum/post/99535</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99535</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 21:34:49 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 19:40:45 GMT]]></title><description><![CDATA[<p dir="auto">After installing packages: <a href="https://docs.xcp-ng.org/xostor/#how-to-add-a-new-host-or-fix-a-badly-configured-host" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xcp-ng.org/xostor/#how-to-add-a-new-host-or-fix-a-badly-configured-host</a></p>
<p dir="auto">Now I am getting the following on offical</p>
<pre><code>pool.mergeInto
{
  "sources": [
    "e4cf2039-3547-6574-0e10-96f9d91316f0"
  ],
  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
  "force": true
}
{
  "code": "INTERNAL_ERROR",
  "params": [
    "Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\")"
  ],
  "call": {
    "duration": 3104,
    "method": "pool.join_force",
    "params": [
      "* session id *",
      "10.2.0.10",
      "root",
      "* obfuscated *"
    ]
  },
  "message": "INTERNAL_ERROR(Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\"))",
  "name": "XapiError",
  "stack": "XapiError: INTERNAL_ERROR(Stunnel.Stunnel_verify_error(\"1416F086:SSL routines:tls_process_server_certificate:certificate verify failed\"))
    at Function.wrap (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_XapiError.mjs:16:12)
    at file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/transports/json-rpc.mjs:38:21
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:454:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)"
}
</code></pre>
<p dir="auto">And still getting this on source install</p>
<pre><code>pool.mergeInto
{
  "sources": [
    "e4cf2039-3547-6574-0e10-96f9d91316f0"
  ],
  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
  "force": true
}
{
  "message": "app.getLicenses is not a function",
  "name": "TypeError",
  "stack": "TypeError: app.getLicenses is not a function
    at enforceHostsHaveLicense (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)
    at Pools.apply (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)
    at Pools.mergeInto (/opt/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)
    at Xo.mergeInto (file:///opt/xen-orchestra/packages/xo-server/src/api/pool.mjs:314:15)
    at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:175:22)
    at Task.run (/opt/xen-orchestra/@vates/task/index.js:159:20)
    at Api.#callApiMethod (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
}
</code></pre>
]]></description><link>https://xcp-ng.org/forum/post/99530</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99530</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 19:40:45 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 19:25:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a></p>
<p dir="auto">Just tried after doing a force clean install, still getting same error. Going to look into it more if there is not any</p>
<pre><code>root@xoa:/home/fpcuser# sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f | tee xenrebuild.log
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  6896  100  6896    0     0  39116      0 --:--:-- --:--:-- --:--:-- 39181
   installed : v24.11.1 (with npm 11.6.2)
Stopping xo-server...
Checking for Yarn package...
Checking for Yarn update...
E: Malformed entry 1 in list file /etc/apt/sources.list.d/yarn.list (URI parse)
E: The list of sources could not be read.
E: Malformed entry 1 in list file /etc/apt/sources.list.d/yarn.list (URI parse)
E: The list of sources could not be read.
Checking for missing dependencies...
Checking for Repo change...
Checking xen-orchestra...
Current branch master
Current version 5.192.1 / 5.189.0
Current commit 6cfefc91e47db7fb264705bc2def1f1b70bc537b 2025-11-12 18:01:41 +0100
0 updates available
Updating from source...
No local changes to save
No stash entries found.
Already up to date.
Clearing directories...
Installing...
yarn install v1.22.22
(node:1226553) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
(Use `node --trace-deprecation ...` to show where the warning was created)
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
$ husky install
husky - Git hooks installed
Done in 1.57s.
yarn run v1.22.22
$ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
turbo 2.5.8

• Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
• Running build in 21 packages
• Remote caching disabled

 Tasks:    30 successful, 30 total
Cached:    30 cached, 30 total
  Time:    1.347s &gt;&gt;&gt; FULL TURBO

Done in 1.55s.
Updated version 5.192.1 / 5.189.0
Updated commit 6cfefc91e47db7fb264705bc2def1f1b70bc537b 2025-11-12 18:01:41 +0100
Checking plugins...
Ignoring xo-server-test plugin
Cleanup plugins...
Restarting xo-server...
</code></pre>
<p dir="auto">So then I updated our seperate vm for xoa that we have used in the past for requests like this, and I am getting this behavior<br />
<img src="/forum/assets/uploads/files/1762975463421-48c1fd0d-d434-4fb0-9ee0-5bc6756b3875-image-resized.png" alt="48c1fd0d-d434-4fb0-9ee0-5bc6756b3875-image.png" class=" img-fluid img-markdown" /></p>
<pre><code>pool.mergeInto
{
  "sources": [
    "e4cf2039-3547-6574-0e10-96f9d91316f0"
  ],
  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
  "force": true
}
{
  "code": "POOL_JOINING_SM_FEATURES_INCOMPATIBLE",
  "params": [
    "OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e",
    ""
  ],
  "call": {
    "duration": 2049,
    "method": "pool.join_force",
    "params": [
      "* session id *",
      "10.2.0.10",
      "root",
      "* obfuscated *"
    ]
  },
  "message": "POOL_JOINING_SM_FEATURES_INCOMPATIBLE(OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e, )",
  "name": "XapiError",
  "stack": "XapiError: POOL_JOINING_SM_FEATURES_INCOMPATIBLE(OpaqueRef:151858ec-cd9b-44f5-9cc5-f053685b1b8e, )
    at Function.wrap (file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/_XapiError.mjs:16:12)
    at file:///usr/local/lib/node_modules/xo-server/node_modules/xen-api/transports/json-rpc.mjs:38:21
    at runNextTicks (node:internal/process/task_queues:60:5)
    at processImmediate (node:internal/timers:454:9)
    at process.callbackTrampoline (node:internal/async_hooks:130:17)"
}
</code></pre>
<p dir="auto"><img src="/forum/assets/uploads/files/1762975518056-5bc0b839-46d1-4387-aa73-5a1df07c9bfe-image-resized.png" alt="5bc0b839-46d1-4387-aa73-5a1df07c9bfe-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://xcp-ng.org/forum/post/99529</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99529</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 19:25:38 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 18:28:16 GMT]]></title><description><![CDATA[<p dir="auto">Then I can't tell if there's any modification made, so I would ask to:</p>
<ul>
<li>Try with XOA (even XOA Free allows adding host to a pool)</li>
<li>Make a clean source install from scratch following our doc <a href="https://docs.xen-orchestra.com/installation#from-the-sources" target="_blank" rel="noopener noreferrer nofollow ugc">https://docs.xen-orchestra.com/installation#from-the-sources</a></li>
</ul>
<p dir="auto">Alternatively/in parallel, you can open a ticket in the Jarli01 Github repo to report the issue.</p>
]]></description><link>https://xcp-ng.org/forum/post/99528</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99528</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Wed, 12 Nov 2025 18:28:16 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 18:09:54 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/olivierlambert" aria-label="Profile: olivierlambert">@<bdi>olivierlambert</bdi></a></p>
<p dir="auto">Looks like it was installed with <code>curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh</code><br />
This was a few years ago at least.</p>
<p dir="auto">And it gets updated with <code>sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash | tee xenupgrade##.log</code></p>
<pre><code>root@xoa:/home/fpcuser# cat xenupgrade23.log
   installed : v22.20.0 (with npm 10.9.3)
Stopping xo-server...
Checking for Yarn package...
Checking for Yarn update...
Checking for missing dependencies...
Checking for Repo change...
Checking xen-orchestra...
Current branch master
Current version 5.189.0 / 5.186.0
Current commit a0046fa19fa5f17344061e5c7709c1e02140dca4 2025-09-25 16:15:05 +0200
95 updates available
Updating from source...
No local changes to save
Updating a0046fa19..d829816f6
Fast-forward
 @vates/async-each/index.js                         |   28 +-
 @vates/async-each/index.test.js                    |   14 +
 @vates/async-each/package.json                     |    2 +-
 @vates/fuse-vhd/package.json                       |    2 +-
 @vates/generator-toolbox/src/throttle.mts          |    6 +-
 @vates/generator-toolbox/tsconfig.json             |    1 +
 @vates/nbd-client/package.json                     |    2 +-
 @vates/types/package.json                          |    2 +-
 @vates/types/src/lib/xen-orchestra-xapi.mts        |    5 +
 @vates/types/src/xen-api.mts                       |   28 +-
 @vates/types/src/xo.mts                            |   15 +-
 @vates/types/tsconfig.json                         |    3 +-
 @xen-orchestra/backups-cli/package.json            |    4 +-
 @xen-orchestra/backups/_runners/VmsRemote.mjs      |    7 +-
 @xen-orchestra/backups/_runners/VmsXapi.mjs        |    5 +-
 .../backups/_runners/_vmRunners/FullRemote.mjs     |    2 +-
 .../backups/_runners/_vmRunners/FullXapi.mjs       |    6 +-
 .../_runners/_vmRunners/IncrementalRemote.mjs      |    5 +-
 .../_runners/_vmRunners/IncrementalXapi.mjs        |    7 +-
 .../_runners/_vmRunners/_AbstractRemote.mjs        |    2 +
 .../backups/_runners/_vmRunners/_AbstractXapi.mjs  |    2 +
 .../_runners/_writers/IncrementalXapiWriter.mjs    |   11 +-
 @xen-orchestra/backups/package.json                |    4 +-
 @xen-orchestra/disk-transform/src/Throttled.mts    |   26 +
 @xen-orchestra/disk-transform/src/Timeout.mts      |   16 +
 @xen-orchestra/disk-transform/src/index.mts        |    2 +
 @xen-orchestra/disk-transform/tsconfig.json        |    1 +
 @xen-orchestra/fs/package.json                     |    4 +-
 @xen-orchestra/fs/src/abstract.js                  |   53 +-
 .../immutable-backups/liftProtection.mjs           |    4 +-
 @xen-orchestra/immutable-backups/package.json      |    2 +-
 @xen-orchestra/lite/CHANGELOG.md                   |    3 +
 @xen-orchestra/lite/docs/modals.md                 |  111 -
 @xen-orchestra/lite/package.json                   |    6 +-
 @xen-orchestra/lite/src/App.vue                    |    6 +-
 .../lite/src/components/CollectionFilter.vue       |   33 +-
 .../lite/src/components/CollectionFilterRow.vue    |   53 +-
 .../lite/src/components/CollectionSorter.vue       |   20 +-
 .../components/component-story/StoryPropParams.vue |   10 +-
 .../lite/src/components/form/FormJson.vue          |   18 +-
 .../src/components/modals/CodeHighlightModal.vue   |   11 +-
 .../components/modals/CollectionFilterModal.vue    |   90 +-
 .../components/modals/CollectionSorterModal.vue    |   51 +-
 .../src/components/modals/InvalidFieldModal.vue    |   33 +-
 .../lite/src/components/modals/JsonEditorModal.vue |   62 +-
 .../components/modals/UnreachableHostsModal.vue    |   58 +-
 .../lite/src/components/modals/VmDeleteModal.vue   |   70 +-
 .../components/modals/VmExportBlockedUrlsModal.vue |   38 +-
 .../lite/src/components/modals/VmExportModal.vue   |   59 +-
 .../lite/src/components/modals/VmMigrateModal.vue  |   64 +-
 .../components/ui/modals/ModalApproveButton.vue    |   13 -
 .../src/components/ui/modals/ModalCloseIcon.vue    |   22 -
 .../src/components/ui/modals/ModalContainer.vue    |   74 -
 .../components/ui/modals/ModalDeclineButton.vue    |   16 -
 .../lite/src/components/ui/modals/ModalList.vue    |   10 -
 .../src/components/ui/modals/ModalListItem.vue     |   15 -
 .../lite/src/components/ui/modals/UiModal.vue      |   55 -
 .../ui/modals/layouts/BasicModalLayout.vue         |   26 -
 .../ui/modals/layouts/ConfirmModalLayout.vue       |   76 -
 .../ui/modals/layouts/FormModalLayout.vue          |   63 -
 .../vm/VmActionItems/VmActionDeleteItem.vue        |   18 +-
 .../vm/VmActionItems/VmActionExportItem.vue        |   23 +-
 .../vm/VmActionItems/VmActionMigrateItem.vue       |   34 +-
 .../lite/src/composables/context.composable.ts     |    5 +-
 .../lite/src/composables/modal.composable.ts       |    4 -
 .../composables/unreachable-hosts.composable.ts    |   23 +-
 @xen-orchestra/lite/src/jobs/vm-export.job.ts      |    5 +-
 .../src/libs/xen-api/operations/vm-operations.ts   |   14 +-
 @xen-orchestra/lite/src/pages/settings.vue         |  305 +-
 @xen-orchestra/lite/src/pages/xoa-deploy.vue       |   18 +-
 @xen-orchestra/lite/src/stores/modal.store.ts      |   69 -
 .../modals/layouts/basic-modal-layout.story.md     |    7 -
 .../modals/layouts/basic-modal-layout.story.vue    |   17 -
 .../modals/layouts/confirm-modal-layout.story.md   |   18 -
 .../modals/layouts/confirm-modal-layout.story.vue  |   30 -
 .../modals/layouts/form-modal-layout.story.md      |   30 -
 .../modals/layouts/form-modal-layout.story.vue     |   50 -
 .../src/stories/modals/modal-container.story.md    |   17 -
 .../src/stories/modals/modal-container.story.vue   |   37 -
 @xen-orchestra/lite/src/types/index.ts             |    9 -
 @xen-orchestra/lite/src/types/injection-keys.ts    |    7 -
 @xen-orchestra/lite/typed-router.d.ts              |    4 -
 @xen-orchestra/proxy/package.json                  |    4 +-
 @xen-orchestra/qcow2/tsconfig.json                 |    1 +
 @xen-orchestra/rest-api/package.json               |    6 +-
 .../src/abstract-classes/base-controller.mts       |   31 +-
 .../src/abstract-classes/xapi-xo-controller.mts    |   17 +-
 .../rest-api/src/groups/group.controller.mts       |   27 +-
 .../rest-api/src/helpers/helper.type.mts           |   11 +
 .../rest-api/src/hosts/host.controller.mts         |   88 +-
 @xen-orchestra/rest-api/src/index.mts              |    7 +-
 @xen-orchestra/rest-api/src/ioc/ioc.mts            |    6 -
 .../rest-api/src/messages/message.controller.mts   |    2 +-
 .../src/middlewares/authentication.middleware.mts  |   83 +-
 .../rest-api/src/networks/network.controller.mts   |   78 +-
 .../src/open-api/oa-examples/pbd.oa-example.mts    |   43 +
 .../src/open-api/oa-examples/user.oa-example.mts   |   12 +
 .../rest-api/src/pbds/pbd.controller.mts           |   50 +
 .../rest-api/src/pifs/pif.controller.mts           |   52 +-
 .../rest-api/src/pools/pool.controller.mts         |   78 +-
 .../rest-api/src/rest-api/rest-api.type.mts        |   13 +-
 .../rest-api/src/servers/server.controller.mts     |   28 +-
 @xen-orchestra/rest-api/src/srs/sr.controller.mts  |  100 +-
 @xen-orchestra/rest-api/src/tasks/task.service.mts |   32 -
 .../rest-api/src/users/user.controller.mts         |  139 +-
 .../rest-api/src/users/user.middleware.mts         |   23 +
 .../rest-api/src/vbds/vbd.controller.mts           |   51 +-
 .../src/vdi-snapshots/vdi-snapshot.controller.mts  |   79 +-
 .../rest-api/src/vdis/vdi.controller.mts           |  112 +-
 .../rest-api/src/vifs/vif.controller.mts           |   52 +-
 .../src/vm-controller/vm-controller.controller.mts |   80 +-
 .../src/vm-snapshots/vm-snapshot.controller.mts    |   61 +-
 .../src/vm-templates/vm-template.controller.mts    |   78 +-
 @xen-orchestra/rest-api/src/vms/vm.controller.mts  |   45 +-
 @xen-orchestra/rest-api/tsconfig.json              |    1 +
 @xen-orchestra/rest-api/tsoa.json                  |   19 +
 @xen-orchestra/vmware-explorer/esxi.mjs            |    2 +-
 @xen-orchestra/vmware-explorer/package.json        |    2 +-
 @xen-orchestra/web-core/docs/index.md              |    2 +
 @xen-orchestra/web-core/docs/modals.md             |  115 +
 .../web-core/lib/assets/css/_colors.pcss           |    8 +
 .../lib/components/backdrop/VtsBackdrop.vue        |   10 +-
 .../lib/components/backup-state/VtsBackupState.vue |    3 +-
 .../lib/components/button-group/VtsButtonGroup.vue |    6 +-
 .../web-core/lib/components/menu/MenuList.vue      |    1 +
 .../web-core/lib/components/modal/VtsModal.vue     |   82 +
 .../lib/components/modal/VtsModalButton.vue        |   36 +
 .../lib/components/modal/VtsModalCancelButton.vue  |   37 +
 .../lib/components/modal/VtsModalConfirmButton.vue |   21 +
 .../web-core/lib/components/modal/VtsModalList.vue |   34 +
 .../lib/components/task/VtsQuickTaskButton.vue     |    5 +-
 .../lib/components/task/VtsQuickTaskList.vue       |   22 +-
 .../web-core/lib/components/tree/VtsTreeItem.vue   |    4 +-
 .../web-core/lib/components/ui/button/UiButton.vue |   80 +-
 .../ui/collapsible-list/UiCollapsibleList.vue      |    4 +
 .../web-core/lib/components/ui/modal/UiModal.vue   |  164 +
 .../web-core/lib/components/ui/panel/UiPanel.vue   |    2 +-
 .../ui/quick-task-item/UiQuickTaskItem.vue         |    4 +-
 .../ui/table-pagination/UiTablePagination.vue      |    4 +-
 .../web-core/lib/composables/context.composable.ts |    8 +-
 .../lib/composables/link-component.composable.ts   |    5 +-
 .../lib/composables/pagination.composable.ts       |    5 +-
 @xen-orchestra/web-core/lib/locales/cs.json        |   82 +-
 @xen-orchestra/web-core/lib/locales/en.json        |   36 +-
 @xen-orchestra/web-core/lib/locales/es.json        |   82 +-
 @xen-orchestra/web-core/lib/locales/fr.json        |   40 +-
 @xen-orchestra/web-core/lib/locales/it.json        |   11 +-
 @xen-orchestra/web-core/lib/locales/nl.json        |   48 +-
 @xen-orchestra/web-core/lib/locales/pt_BR.json     |   34 +-
 @xen-orchestra/web-core/lib/locales/ru.json        |   84 +-
 @xen-orchestra/web-core/lib/locales/uk.json        |  340 +-
 .../lib/packages/collection/use-collection.ts      |    5 +-
 .../form-select/use-form-option-controller.ts      |    5 +-
 .../lib/packages/form-select/use-form-select.ts    |   15 +-
 .../web-core/lib/packages/menu/action.ts           |    7 +-
 @xen-orchestra/web-core/lib/packages/menu/link.ts  |    9 +-
 .../web-core/lib/packages/menu/router-link.ts      |    5 +-
 .../web-core/lib/packages/menu/toggle-target.ts    |    5 +-
 .../web-core/lib/packages/modal/ModalProvider.vue  |   17 +
 .../web-core/lib/packages/modal/README.md          |  253 ++
 .../lib/packages/modal/create-modal-opener.ts      |  103 +
 .../web-core/lib/packages/modal/modal.store.ts     |   22 +
 .../web-core/lib/packages/modal/types.ts           |   92 +
 .../web-core/lib/packages/modal/use-modal.ts       |   53 +
 .../web-core/lib/packages/progress/use-progress.ts |    7 +-
 .../web-core/lib/packages/table/README.md          |  336 ++
 .../lib/packages/table/apply-extensions.ts         |   26 +
 .../web-core/lib/packages/table/define-columns.ts  |   62 +
 .../define-renderer/define-table-cell-renderer.ts  |   27 +
 .../table/define-renderer/define-table-renderer.ts |   47 +
 .../define-renderer/define-table-row-renderer.ts   |   29 +
 .../define-table-section-renderer.ts               |   29 +
 .../define-table/define-multi-source-table.ts      |   39 +
 .../packages/table/define-table/define-table.ts    |   13 +
 .../table/define-table/define-typed-table.ts       |   18 +
 .../web-core/lib/packages/table/index.ts           |   11 +
 .../lib/packages/table/transform-sources.ts        |   13 +
 .../lib/packages/table/types/extensions.ts         |   16 +
 .../web-core/lib/packages/table/types/index.ts     |   47 +
 .../lib/packages/table/types/table-cell.ts         |   18 +
 .../web-core/lib/packages/table/types/table-row.ts |   20 +
 .../lib/packages/table/types/table-section.ts      |   19 +
 .../web-core/lib/packages/table/types/table.ts     |   28 +
 .../lib/packages/threshold/use-threshold.ts        |    7 +-
 .../web-core/lib/types/value-matcher.d.ts          |    3 +
 .../web-core/lib/types/vue-virtual-scroller.d.ts   |  101 +
 .../web-core/lib/utils/injection-keys.util.ts      |    3 +
 @xen-orchestra/web-core/lib/utils/progress.util.ts |    3 +-
 @xen-orchestra/web-core/lib/utils/speed.util.ts    |   12 +
 @xen-orchestra/web-core/lib/utils/time.util.ts     |   57 +
 .../web-core/lib/utils/to-computed.util.ts         |   15 +
 @xen-orchestra/web-core/package.json               |    5 +-
 @xen-orchestra/web/env.d.ts                        |    1 +
 @xen-orchestra/web/package.json                    |   12 +-
 @xen-orchestra/web/src/App.vue                     |    2 +
 .../{pool/dashboard =&gt; }/alarms/AlarmLink.vue      |    0
 .../web/src/components/alarms/DashboardAlarms.vue  |   77 +
 .../components/backups/jobs/BackupJobsTable.vue    |   16 +-
 .../backups/jobs/panel/BackupJobsSidePanel.vue     |  112 +
 .../panel/cards-items/BackupJobsSmartModePools.vue |   23 +
 .../panel/cards-items/BackupJobsSmartModeTags.vue  |   23 +
 .../panel/cards-items/BackupJobsTargetsBrItem.vue  |   19 +
 .../panel/cards-items/BackupJobsTargetsSection.vue |   41 +
 .../panel/cards-items/BackupJobsTargetsSrItem.vue  |   16 +
 .../jobs/panel/cards-items/BackupRunItem.vue       |   85 +
 .../jobs/panel/cards/BackupJobInfosCard.vue        |   69 +
 .../backups/jobs/panel/cards/BackupJobLogsCard.vue |   41 +
 .../jobs/panel/cards/BackupJobSchedulesCard.vue    |   92 +
 .../jobs/panel/cards/BackupJobSettingsCard.vue     |  225 ++
 .../panel/cards/BackupJobsBackedUpPoolsCard.vue    |   39 +
 .../jobs/panel/cards/BackupJobsBackedUpVmsCard.vue |  173 +
 .../jobs/panel/cards/BackupJobsTargetsCard.vue     |   48 +
 .../panel/cards/BackupSourceRepositoryCard.vue     |   42 +
 .../host/dashboard/HostDashboardPatches.vue        |  111 +
 .../pool/dashboard/PoolDashboardStatus.vue         |    8 +-
 .../pool/dashboard/alarms/PoolDashboardAlarms.vue  |   85 -
 .../components/site/backups/BackupJobsTable.vue    |  238 --
 .../src/components/site/dashboard/AlarmLink.vue    |   83 -
 .../web/src/components/site/dashboard/Alarms.vue   |   80 -
 .../web/src/components/tree/SiteTreeList.vue       |   24 +-
 @xen-orchestra/web/src/main.ts                     |    1 +
 @xen-orchestra/web/src/pages/(site)/backups.vue    |   32 +-
 @xen-orchestra/web/src/pages/(site)/dashboard.vue  |    7 +-
 .../web/src/pages/host/[id]/dashboard.vue          |   24 +
 .../web/src/pages/pool/[id]/dashboard.vue          |   21 +-
 @xen-orchestra/web/src/pages/vm/[id]/backups.vue   |   29 +-
 @xen-orchestra/web/src/pages/vm/[id]/dashboard.vue |   17 +
 @xen-orchestra/web/src/pages/vm/new.vue            |    6 +-
 .../remote-resources/use-xo-alarm-collection.ts    |    3 +-
 .../use-xo-backup-job-collection.ts                |   57 +-
 .../use-xo-backup-log-collection.ts                |    2 +-
 .../src/remote-resources/use-xo-br-collection.ts   |   13 +
 .../use-xo-host-alarms-collection.ts               |   18 +
 .../use-xo-host-missing-patches-collection.ts      |   11 +
 .../use-xo-metadata-backup-job-collection.ts       |   13 -
 .../use-xo-mirror-backup-job-collection.ts         |   13 -
 .../remote-resources/use-xo-proxy-collection.ts    |   13 +
 .../remote-resources/use-xo-schedule-collection.ts |    2 +-
 .../src/remote-resources/use-xo-sr-collection.ts   |    2 +-
 .../use-xo-vm-alarms-collection.ts                 |   18 +
 .../use-xo-vm-backup-job-collection.ts             |   19 -
 .../src/remote-resources/use-xo-vm-collection.ts   |    2 +-
 @xen-orchestra/web/src/types/xo/backup-log.type.ts |    2 +
 @xen-orchestra/web/src/types/xo/br.type.ts         |   11 +
 @xen-orchestra/web/src/types/xo/index.ts           |    4 +
 .../web/src/types/xo/metadata-backup-job.type.ts   |   33 +-
 .../web/src/types/xo/mirror-backup-job.type.ts     |   33 +-
 @xen-orchestra/web/src/types/xo/new-vm.type.ts     |    2 +-
 @xen-orchestra/web/src/types/xo/proxy.type.ts      |   13 +
 .../web/src/types/xo/vm-backup-job.type.ts         |   37 +-
 @xen-orchestra/web/src/utils/pattern.util.ts       |   42 +
 @xen-orchestra/web/vite.config.ts                  |    8 +
 @xen-orchestra/xapi/disks/Xapi.mjs                 |   23 +-
 @xen-orchestra/xapi/package.json                   |    2 +-
 CHANGELOG.md                                       |   83 +-
 CHANGELOG.unreleased.md                            |   85 +
 docs/docs/manage_infrastructure.md                 |   78 +-
 docs/docs/object-storage-support.md                |   37 +
 docs/docs/users.md                                 |   11 +-
 docs/docs/xoa.md                                   |    2 +-
 docs/sidebars.ts                                   |    1 +
 packages/vhd-cli/package.json                      |    2 +-
 .../disk-consumer/DiskConsumerVhdDirectory.mjs     |    4 +-
 packages/vhd-lib/package.json                      |    6 +-
 packages/xo-server-auth-saml/package.json          |    4 +-
 packages/xo-server-auth-saml/src/index.js          |   20 +-
 packages/xo-server-sdn-controller/package.json     |    4 +-
 packages/xo-server-sdn-controller/src/index.js     |  165 +-
 .../src/openflow-controller.js                     |   16 +
 .../src/openflow-plugin.js                         |  115 +
 .../src/protocol/openflow-channel.js               |    4 +-
 packages/xo-server/config.toml                     |    3 +
 packages/xo-server/package.json                    |   12 +-
 packages/xo-server/src/index.mjs                   |    2 +-
 packages/xo-server/src/xo-mixins/rest-api.mjs      |  910 +----
 packages/xo-server/src/xo-mixins/subjects.mjs      |   11 +-
 packages/xo-server/src/xo-mixins/vmware/index.mjs  |    5 +-
 packages/xo-web/package.json                       |    2 +-
 packages/xo-web/src/common/copiable/index.css      |    2 +-
 packages/xo-web/src/common/copiable/index.js       |   16 +-
 packages/xo-web/src/common/form/toggle.js          |   10 +-
 packages/xo-web/src/common/intl/messages.js        |    5 +
 .../xo-web/src/xo-app/hub/recipes/recipe-ev.js     |    4 +
 .../src/xo-app/hub/recipes/recipe-form-ev.js       |   31 +-
 packages/xo-web/src/xo-app/new-vm/index.js         |    3 +-
 packages/xo-web/src/xo-app/pool/tab-advanced.js    |   66 +-
 packages/xo-web/src/xo-app/vm/action-bar.js        |   12 +-
 packages/xo-web/src/xo-app/vm/tab-network.js       |    2 +-
 yarn.lock                                          | 3606 ++++++++++----------
 289 files changed, 9224 insertions(+), 5148 deletions(-)
 create mode 100644 @xen-orchestra/disk-transform/src/Throttled.mts
 create mode 100644 @xen-orchestra/disk-transform/src/Timeout.mts
 delete mode 100644 @xen-orchestra/lite/docs/modals.md
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalApproveButton.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalCloseIcon.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalContainer.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalDeclineButton.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalList.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/ModalListItem.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/UiModal.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/BasicModalLayout.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/ConfirmModalLayout.vue
 delete mode 100644 @xen-orchestra/lite/src/components/ui/modals/layouts/FormModalLayout.vue
 delete mode 100644 @xen-orchestra/lite/src/composables/modal.composable.ts
 delete mode 100644 @xen-orchestra/lite/src/stores/modal.store.ts
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/basic-modal-layout.story.md
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/basic-modal-layout.story.vue
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/confirm-modal-layout.story.md
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/confirm-modal-layout.story.vue
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/form-modal-layout.story.md
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/layouts/form-modal-layout.story.vue
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/modal-container.story.md
 delete mode 100644 @xen-orchestra/lite/src/stories/modals/modal-container.story.vue
 create mode 100644 @xen-orchestra/rest-api/src/open-api/oa-examples/pbd.oa-example.mts
 create mode 100644 @xen-orchestra/rest-api/src/pbds/pbd.controller.mts
 delete mode 100644 @xen-orchestra/rest-api/src/tasks/task.service.mts
 create mode 100644 @xen-orchestra/rest-api/src/users/user.middleware.mts
 create mode 100644 @xen-orchestra/web-core/docs/modals.md
 create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModal.vue
 create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalButton.vue
 create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalCancelButton.vue
 create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalConfirmButton.vue
 create mode 100644 @xen-orchestra/web-core/lib/components/modal/VtsModalList.vue
 create mode 100644 @xen-orchestra/web-core/lib/components/ui/modal/UiModal.vue
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/ModalProvider.vue
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/README.md
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/create-modal-opener.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/modal.store.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/types.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/modal/use-modal.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/README.md
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/apply-extensions.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-columns.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-cell-renderer.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-renderer.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-row-renderer.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-renderer/define-table-section-renderer.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-multi-source-table.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-table.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/define-table/define-typed-table.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/index.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/transform-sources.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/extensions.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/index.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-cell.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-row.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table-section.ts
 create mode 100644 @xen-orchestra/web-core/lib/packages/table/types/table.ts
 create mode 100644 @xen-orchestra/web-core/lib/types/value-matcher.d.ts
 create mode 100644 @xen-orchestra/web-core/lib/types/vue-virtual-scroller.d.ts
 create mode 100644 @xen-orchestra/web-core/lib/utils/speed.util.ts
 create mode 100644 @xen-orchestra/web-core/lib/utils/to-computed.util.ts
 rename @xen-orchestra/web/src/components/{pool/dashboard =&gt; }/alarms/AlarmLink.vue (100%)
 create mode 100644 @xen-orchestra/web/src/components/alarms/DashboardAlarms.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/BackupJobsSidePanel.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsSmartModePools.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsSmartModeTags.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsBrItem.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsSection.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupJobsTargetsSrItem.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards-items/BackupRunItem.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobInfosCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobLogsCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobSchedulesCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobSettingsCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsBackedUpPoolsCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsBackedUpVmsCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupJobsTargetsCard.vue
 create mode 100644 @xen-orchestra/web/src/components/backups/jobs/panel/cards/BackupSourceRepositoryCard.vue
 create mode 100644 @xen-orchestra/web/src/components/host/dashboard/HostDashboardPatches.vue
 delete mode 100644 @xen-orchestra/web/src/components/pool/dashboard/alarms/PoolDashboardAlarms.vue
 delete mode 100644 @xen-orchestra/web/src/components/site/backups/BackupJobsTable.vue
 delete mode 100644 @xen-orchestra/web/src/components/site/dashboard/AlarmLink.vue
 delete mode 100644 @xen-orchestra/web/src/components/site/dashboard/Alarms.vue
 create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-br-collection.ts
 create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-host-alarms-collection.ts
 create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-host-missing-patches-collection.ts
 delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-metadata-backup-job-collection.ts
 delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-mirror-backup-job-collection.ts
 create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-proxy-collection.ts
 create mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-vm-alarms-collection.ts
 delete mode 100644 @xen-orchestra/web/src/remote-resources/use-xo-vm-backup-job-collection.ts
 create mode 100644 @xen-orchestra/web/src/types/xo/br.type.ts
 create mode 100644 @xen-orchestra/web/src/types/xo/proxy.type.ts
 create mode 100644 @xen-orchestra/web/src/utils/pattern.util.ts
 create mode 100644 docs/docs/object-storage-support.md
 create mode 100644 packages/xo-server-sdn-controller/src/openflow-controller.js
 create mode 100644 packages/xo-server-sdn-controller/src/openflow-plugin.js
Clearing directories...
Installing...
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ husky install
husky - Git hooks installed
Done in 40.48s.
yarn run v1.22.22
$ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
• Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
• Running build in 21 packages
• Remote caching disabled

 Tasks:    30 successful, 30 total
Cached:    0 cached, 30 total
  Time:    1m25.652s 

Done in 86.03s.
Updated version 5.190.1 / 5.187.0
Updated commit d829816f62bffe16b19d8d0cfc3f08841aed10df 2025-10-16 16:47:01 +0200
Checking plugins...
Ignoring xo-server-test plugin
Cleanup plugins...
Restarting xo-server...
</code></pre>
]]></description><link>https://xcp-ng.org/forum/post/99527</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99527</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 18:09:54 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 18:02:59 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">How did you install your XO in the first place?</p>
]]></description><link>https://xcp-ng.org/forum/post/99526</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99526</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Wed, 12 Nov 2025 18:02:59 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 12 Nov 2025 17:53:11 GMT]]></title><description><![CDATA[<p dir="auto">Guess who's back!</p>
<p dir="auto">Adding another host to the pool. Tested before and after updating xoa again.</p>
<pre><code>pool.mergeInto
{
  "sources": [
    "e4cf2039-3547-6574-0e10-96f9d91316f0"
  ],
  "target": "38aea760-cf23-927c-ccf5-90969681e04b",
  "force": true
}
{
  "message": "app.getLicenses is not a function",
  "name": "TypeError",
  "stack": "TypeError: app.getLicenses is not a function
    at enforceHostsHaveLicense (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)
    at Pools.apply (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)
    at Pools.mergeInto (/opt/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)
    at Xo.mergeInto (file:///opt/xen-orchestra/packages/xo-server/src/api/pool.mjs:314:15)
    at Task.runInside (/opt/xen-orchestra/@vates/task/index.js:175:22)
    at Task.run (/opt/xen-orchestra/@vates/task/index.js:159:20)
    at Api.#callApiMethod (file:///opt/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
}
</code></pre>
<pre><code>Uncaught 
Object { code: -32000, data: {…}, stack: "", … }
index.js:171:1258316
    default log-error.js:10
    (Async: setTimeout handler)
    default log-error.js:5
    e action-button.js:130
    InterpretGeneratorResume self-hosted:1332
    throw self-hosted:1279
    m action-button.js:10
    s action-button.js:10
    (Async: promise callback)
    m action-button.js:10
    i action-button.js:10
    _execute action-button.js:10
    _execute action-button.js:10
    _execute action-button.js:10
    React 5
    forEach self-hosted:157
    React 9
    (Async: EventListener.handleEvent)
    listen EventListener.js:29
    React 29
</code></pre>
<p dir="auto">I also checked <code>journalctl -u xo-server.service</code></p>
<pre><code>Nov 12 17:46:52 xoa xo-server[1223513]: 2025-11-12T17:46:52.761Z xo:api WARN jonathon@floatplanemedia.com | pool.mergeInto(...) [32ms] =!&gt; TypeError: app.getLicenses is not a function
Nov 12 17:49:14 xoa xo-server[1223513]: 2025-11-12T17:49:14.414Z xo:api WARN jonathon@floatplanemedia.com | pool.mergeInto(...) [2ms] =!&gt; TypeError: app.getLicenses is not a function
</code></pre>
<p dir="auto"><img src="/forum/assets/uploads/files/1762969600196-58545fa3-ea5f-47b9-aff1-db90102b5022-image.png" alt="58545fa3-ea5f-47b9-aff1-db90102b5022-image.png" class=" img-fluid img-markdown" /><br />
<img src="/forum/assets/uploads/files/1762969627184-c36da33c-4583-408f-a82f-e3fc6836bf2f-image-resized.png" alt="c36da33c-4583-408f-a82f-e3fc6836bf2f-image.png" class=" img-fluid img-markdown" /><br />
<img src="/forum/assets/uploads/files/1762969554598-8e87421d-925a-4c78-a721-fdec25a88a99-image.png" alt="8e87421d-925a-4c78-a721-fdec25a88a99-image.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://xcp-ng.org/forum/post/99525</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/99525</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 12 Nov 2025 17:53:11 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Thu, 10 Jul 2025 18:53:57 GMT]]></title><description><![CDATA[<p dir="auto">Hey <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/danp" aria-label="Profile: Danp">@<bdi>Danp</bdi></a> ,<br />
I can keep my cluster without this node up to Monday, do you have an idea / do you want to investigate on this case ?</p>
]]></description><link>https://xcp-ng.org/forum/post/95221</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95221</guid><dc:creator><![CDATA[henri9813]]></dc:creator><pubDate>Thu, 10 Jul 2025 18:53:57 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 09 Jul 2025 20:18:04 GMT]]></title><description><![CDATA[<p dir="auto">Hello, <a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/danp" aria-label="Profile: Danp">@<bdi>Danp</bdi></a></p>
<p dir="auto">I just reproduced it.</p>
<p dir="auto">All my nodes are up to date<br />
( my xo have 7 commits behind master, i read the commit's log of my missing commit, the commits are not related to my issue. ).</p>
<p dir="auto">In my scenario, i had a pool with 3 nodes</p>
<ul>
<li>node1</li>
<li>node2</li>
<li>node3</li>
</ul>
<p dir="auto">I reinstall node3 after a disaster ( i force forgot node 3).</p>
<p dir="auto">Now, i can't add the host back to the pool.</p>
<p dir="auto"><img src="/forum/assets/uploads/files/1752089965479-6e6c4b93-7a3d-4c48-92fb-d311b4117983-image.png" alt="6e6c4b93-7a3d-4c48-92fb-d311b4117983-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">I also tried to update the host after installation ( usually, i do this after ).</p>
<p dir="auto">But it doesn't works more.</p>
<p dir="auto">I will not add my node thought xcpng center to permit you further investigation <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=a78c449d9ac" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">Here is the detailed operation json</p>
<pre><code>{
  "id": "0mcwehjzy",
  "properties": {
    "method": "pool.mergeInto",
    "params": {
      "sources": [
        "64365465-fd4e-25b6-3db2-2cdcd9edba5e"
      ],
      "target": "a92ca4ca-caac-83b9-fa00-4bb75cb48f6c",
      "force": true
    },
    "name": "API call: pool.mergeInto",
    "userId": "63a0dbaf-ba2d-4028-b80f-fe49f56686b2",
    "type": "api.call"
  },
  "start": 1752092249470,
  "status": "failure",
  "updatedAt": 1752092249473,
  "end": 1752092249472,
  "result": {
    "message": "app.getLicenses is not a function",
    "name": "TypeError",
    "stack": "TypeError: app.getLicenses is not a function\n    at enforceHostsHaveLicense (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:15:30)\n    at Pools.apply (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/pool.mjs:80:13)\n    at Pools.mergeInto (/etc/xen-orchestra/node_modules/golike-defer/src/index.js:85:19)\n    at Xo.mergeInto (file:///etc/xen-orchestra/packages/xo-server/src/api/pool.mjs:311:15)\n    at Task.runInside (/etc/xen-orchestra/@vates/task/index.js:175:22)\n    at Task.run (/etc/xen-orchestra/@vates/task/index.js:159:20)\n    at Api.#callApiMethod (file:///etc/xen-orchestra/packages/xo-server/src/xo-mixins/api.mjs:469:18)"
  }
}```</code></pre>
]]></description><link>https://xcp-ng.org/forum/post/95173</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/95173</guid><dc:creator><![CDATA[henri9813]]></dc:creator><pubDate>Wed, 09 Jul 2025 20:18:04 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 16:36:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/danp" aria-label="Profile: Danp">@<bdi>Danp</bdi></a> Sorry, due to the host being added and me continuing on with my other tasks, it is not. I could have made that more clear.</p>
]]></description><link>https://xcp-ng.org/forum/post/93197</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93197</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 21 May 2025 16:36:53 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 16:32:15 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/forum/user/jonathon" aria-label="Profile: Jonathon">@<bdi>Jonathon</bdi></a> We are interested if you can reproduce using an up-to-date instance of XO. <img src="https://xcp-ng.org/forum/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=a78c449d9ac" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":slightly_smiling_face:" alt="🙂" /></p>
]]></description><link>https://xcp-ng.org/forum/post/93196</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93196</guid><dc:creator><![CDATA[Danp]]></dc:creator><pubDate>Wed, 21 May 2025 16:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 16:13:57 GMT]]></title><description><![CDATA[<p dir="auto">It does not matter now, the host has been added. I had just found the error to be interesting that thought someone would want to know about it.</p>
]]></description><link>https://xcp-ng.org/forum/post/93194</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93194</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 21 May 2025 16:13:57 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 16:08:15 GMT]]></title><description><![CDATA[<p dir="auto">I ran the upgrade yesterday. And this is the state that it gave me</p>
<pre><code>  installing : node-v22.15.1
       mkdir : /usr/local/n/versions/node/22.15.1
       fetch : https://nodejs.org/dist/v22.15.1/node-v22.15.1-linux-x64.tar.xz
   installed : v22.15.1 (with npm 10.9.2)

Stopping xo-server...
Checking for Yarn package...
Checking for Yarn update...
Reading package lists...
...
yarn install v1.22.22
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...
$ husky install
husky - Git hooks installed
Done in 46.08s.
yarn run v1.22.22
$ TURBO_TELEMETRY_DISABLED=1 turbo run build --filter xo-server --filter xo-server-'*' --filter xo-web
• Packages in scope: xo-server, xo-server-audit, xo-server-auth-github, xo-server-auth-google, xo-server-auth-ldap, xo-server-auth-oidc, xo-server-auth-saml, xo-server-backup-reports, xo-server-load-balancer, xo-server-netbox, xo-server-perf-alert, xo-server-sdn-controller, xo-server-test, xo-server-test-plugin, xo-server-transport-email, xo-server-transport-icinga2, xo-server-transport-nagios, xo-server-transport-slack, xo-server-transport-xmpp, xo-server-usage-report, xo-server-web-hooks, xo-web
• Running build in 22 packages
• Remote caching disabled

 Tasks:    29 successful, 29 total
Cached:    0 cached, 29 total
  Time:    1m18.85s 

Done in 79.13s.
Updated version 5.177.0 / 5.173.2
Updated commit a49b27bff7d325f704957b8aac3055ad0407bd40 2025-05-20 16:42:02 +0200
Checking plugins...
Ignoring xo-server-test plugin
Cleanup plugins...
Restarting xo-server...
</code></pre>
]]></description><link>https://xcp-ng.org/forum/post/93193</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93193</guid><dc:creator><![CDATA[Jonathon]]></dc:creator><pubDate>Wed, 21 May 2025 16:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 07:26:22 GMT]]></title><description><![CDATA[<p dir="auto">Indeed, there's a big yellow warning "You are not up to date with master". Maybe we should mark it bigger?</p>
]]></description><link>https://xcp-ng.org/forum/post/93160</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93160</guid><dc:creator><![CDATA[olivierlambert]]></dc:creator><pubDate>Wed, 21 May 2025 07:26:22 GMT</pubDate></item><item><title><![CDATA[Reply to Attempting to add new host fail on xoa and on server, worked on xcp-ng center on Wed, 21 May 2025 00:26:02 GMT]]></title><description><![CDATA[<p dir="auto">Your XO VM is about 2 months out-of-date. Please make sure you are fully updated before posting making this type of post.</p>
<p dir="auto">Let us know if you are able to reproduce using an up-to-date version of XO. You could also use a free trial of XOA to test this.</p>
]]></description><link>https://xcp-ng.org/forum/post/93153</link><guid isPermaLink="true">https://xcp-ng.org/forum/post/93153</guid><dc:creator><![CDATA[Danp]]></dc:creator><pubDate>Wed, 21 May 2025 00:26:02 GMT</pubDate></item></channel></rss>