Bastien Nollet
26cd23179d
fix(load-balancer): don't get disabled hosts ( #10209 )
...
The load balancer did not take into account that hosts may be in disabled state, which means it's impossible to migrate a VM to it.
This PR fixes that by ignoring these hosts instead.
Fixes ticket 62077
2026-08-02 14:56:58 +02:00
Joris K
03d2af39ad
feat(xo6): add host scan PIFs button and job ( #10191 )
...
* changelog
* feat(xo6): add host scan PIFs button and job
* add changelog
* missing translation
* review
* review
---------
Co-authored-by: MathieuRA <contact@mathieu-raisin.fr >
2026-07-31 16:10:46 +02:00
Mathieu
be868a307b
feat(rest-api): add scan-pifs endpoint ( #10187 )
...
* feat(rest-api): add scan-pifs endpoint
* changelog
* add pifs tag to the route
* fix typo
* fix typo in changelog
* fix
* missing response
2026-07-31 11:50:05 +02:00
Florent BEAUCHAMP
01c00b110e
test(immutable-backups): integration test of the new process
2026-07-31 11:28:25 +02:00
Florent BEAUCHAMP
65c32014d6
feat(immutable-backups): better cleanup on start
...
feat: changelog
2026-07-31 11:28:25 +02:00
Florent BEAUCHAMP
69dfeeaaf6
fix(immutable-backups): ensure shell is in english
2026-07-31 11:28:25 +02:00
Florent BEAUCHAMP
4a1269b898
feat(immutable-backups): run lift on proces start
2026-07-31 11:28:25 +02:00
Marie Garde
498cc7509f
feat(xo6/host): host action button start shutdown ( #10088 )
...
* feat(xo6): add disable and enable host button
* Add button enable disable
* remove route map file
* Refacto for PR
* Add modal
* refacto for PR
* change key i18n
* fix i18n
* fix route map
* change modale to VtsActionModale
* refacto for MR
* fix type VtsActionModal
* refacto for MR
* add enable disable un treeview
* refacto treeview
* wip
* add shutdown and start button and job
* Update changelog and remove route map
* add check on disable button
* fix job error type
* update button for menuitem
* wip i18n
* add vtsaction modal
* tests ok
* fix build
* refacto for mr
* fix fr.json
* refacto for PR
* add check pending action
* add check host not halted
* fix enable disable button while host shutdown
* returns from MR
* fix changestate host header
* wip
* wip
* add check pending operations
* last fix for PR
* fix menuItem in mobile vue
* remove route map
* returns from MR
* fix start button
* Add changelog
2026-07-31 10:12:52 +02:00
Florent BEAUCHAMP
f98b4c9e4a
docs(s3): add ovh as a tier 1 provider ( #10206 )
2026-07-31 09:40:37 +02:00
Mathieu
cc7ba53b29
feat(lite): 0.24.0 ( #10204 )
xo-lite-v0.24.0
2026-07-30 17:46:20 +02:00
Mathieu
1a795970f9
feat: release 6.7.0 ( #10203 )
2026-07-30 17:26:51 +02:00
Mathieu
59306dce8f
feat: technical release ( #10198 )
2026-07-30 11:08:08 +02:00
Florent BEAUCHAMP
6ba465be04
fix(xapi): don't try to compute progress on Buffer ( #10195 )
...
* fix(xapi): don't try to compute progress on Buffer
introduced by 76b45a9b3b
* port type to vates/types
2026-07-30 10:19:37 +02:00
Mathieu
068c4cdc86
feat: technical release ( #10192 )
2026-07-29 15:30:14 +02:00
Mathieu
93a7c3b509
fix(docs): fix yarn.lock and broken anchor ( #10190 )
...
Introduced by ada3cf745
2026-07-29 14:52:45 +02:00
Florent BEAUCHAMP
07c42bbd1e
fix(fs/s3): improve delete multiple performances ( #10189 )
2026-07-29 11:29:55 +02:00
Florent BEAUCHAMP
ada3cf745c
feat(xo-server): serve doc from xo + add backup calculator ( #10154 )
...
* feat(xo-server): serve doc locally
* the doc is already distributed from the mono repo
* add a build phase to the global yanr build that build a doc with the
right prefix
* add a http mount doc => embed build
* doc(backups): add a space calculator
* estimate the space needed for backups
* compute the duration protected by immutability
2026-07-29 09:48:41 +02:00
Mathieu
6a0332a784
fix(xapi/host): fix async use in a sync block for smart reboot ( #10180 )
...
* fix(xapi/host): fix async use in a sync block for smart reboot
2026-07-29 09:38:38 +02:00
Mathieu
09bd5c3425
feat(openmetrics): expose SR content and UUID ( #10149 )
...
Refs XO-2503
2026-07-29 09:24:34 +02:00
Florent BEAUCHAMP
26c36d485e
fix(backups): don't hide errors during backup transfers ( #10183 )
2026-07-28 17:08:19 +02:00
Thierry Goettelmann
087fd5d397
feat(overlay): allow manually aborting overlays ( #10167 )
2026-07-28 16:47:45 +02:00
Grandalf
4636fcf820
feat(types): type-register-rest-routes ( #10171 )
2026-07-28 14:51:36 +02:00
Marie Garde
dd58fed217
feat(xo6/xolite): add copyall button xo and lite ( #10081 )
2026-07-28 13:38:57 +02:00
vates-bot
4aa8a31c25
feat(web-stack/i18n): update Xen Orchestra 6 ( #10033 )
2026-07-28 11:00:31 +02:00
Olivier Lambert
4ca263c10a
feat(xo-server,xo-web/rpu): shut down and restart pinned VMs instead of aborting ( #10125 )
...
* feat(xo-server/rpu): opt-in shutdown/restart of pinned VMs instead of aborting
2026-07-28 10:05:43 +02:00
Alina D
8d58147d66
feat(xo6): align vertically all hosts in Treeview ( #10153 )
2026-07-28 09:53:07 +02:00
Joris K
5849844fca
fix(lite): change defer type import on vm creation ( #10176 )
2026-07-28 09:22:52 +02:00
Mathieu
a5648aede8
fix(web-core): fix several store issues ( #10156 )
2026-07-28 09:22:45 +02:00
Florent BEAUCHAMP
84ce89d199
fix(disk-transform): implement a guardrail to ensure it does not read block only in parent
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
9140cd273b
fix(disk-transform): fix getBlockIndexesCount
...
introduced by #10058
the current method assumes that source block are full but they can
be sparse. In the worst case getBlockIndexesCount can be the same as
the source
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
e710135eda
fix(backups): ensure replication never transmit a delta without a base
...
differentiate when it's expected to transmit a full , and throw an
error on any discrepency
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
5509f62ccd
fix(backups): fix aggregated backup failing instead of falling back to a full
...
map.foreach((value,key)=> , not map.foreach(key=>
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
6c4f7336e1
fix(backup-archive): really run tests
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
65cd607a49
fix(backups): force a full on continuous replication if the base could have been empty
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
453ffc98d2
fix(backups): fall back to a full backup if it's possible that the base is broken
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
f8df78c03d
feat(backup-archive): add method to get the root of a chain
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
3613b30aa1
fix(backups): stamp backup after the fix
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
58332e6b16
doc(backups): more clarification on qcow2 + nbd
2026-07-27 19:45:25 +02:00
Florent BEAUCHAMP
9388fa4bb6
fix(disk-transform): erronous offset in DiskLargerBlock when copying data
...
the offset must be relative to the start of THIS large block, not to the
start of the disk — otherwise every large block after index 0 lands past
the end of destinationBlock and copy() silently writes nothing (zeroed block).
affect qcow2 incremental backup with NBD disable
NBD + qcow2 and Vhd backups don't go through this code path
2026-07-27 19:45:25 +02:00
Olivier Lambert
f683817dec
feat(docs): working cookieless Matomo tracking on a dedicated site
...
The previous static/js/matomo.js snippet never loaded the tracker
script, so nothing was ever recorded; it also pointed at site 5, the
XO website. Replace it with the client module from the Vates VMS docs
on the new dedicated docs site (23): cookieless page-view tracking that
follows SPA navigations, and instrumentation of the lunr search box
reporting each settled query with its suggestion count, so zero-result
searches surface missing content. The feedback widget mirrors votes and
thumbs-down reasons as doc_feedback events.
Also fills in the Formbricks IDs for the "XO Docs page feedback"
survey, enabling the feedback widget.
2026-07-27 19:25:51 +02:00
Olivier Lambert
51fe6b8920
feat(docs): page feedback widget wired to Formbricks
...
Swizzles DocItem/Footer to show a 'Was this page helpful?' widget under
every doc article, ported from the Vates VMS docs. Votes post to the
self-hosted Formbricks instance via its public client API; a thumbs-down
asks why (outdated, unclear, missing info, inaccurate) plus optional
free text. The vote is recorded on click so it survives the visitor
leaving before the follow-up. Page path rides along as a hidden field
for per-page filtering.
2026-07-27 19:25:51 +02:00
Mathieu
74b952be2b
feat: technical release ( #10174 )
2026-07-27 15:05:16 +02:00
Florent BEAUCHAMP
efbfb664f7
fix(backup-archives): regenerate cache on discrepencies ( #10132 )
...
* ensure cache is generated completely at the end of the backup job
* ensure a broken cache is regenerated even without merge during the cleanup phase
* ensure a broken cache is regenerated on request
2026-07-27 14:19:17 +02:00
Bastien Nollet
1616ec6f41
feat(backups): make fallback cause appear in the task ( #10148 )
2026-07-27 14:10:03 +02:00
Alina D
246e2e4eba
feat(xo6/pool): add connect/disconnect actions on page site ( #10075 )
2026-07-27 13:26:20 +02:00
Mathieu
bcb91e8b4f
feat(rest-api): add POST /srs route to create a storage repository ( #9990 )
2026-07-27 10:37:55 +02:00
Florent BEAUCHAMP
76b45a9b3b
fix(xo-server): ensure import task progress is correctly updated ( #10133 )
2026-07-27 10:23:29 +02:00
Sylvère
5f42e437c7
feat(lite): add SR connect/disconnect/delete ( #10006 )
2026-07-27 09:44:23 +02:00
Sylvère
b76294a1b1
feat(web-core): refactor the sidebar system ( #10120 )
2026-07-27 09:43:16 +02:00
Grandalf
b7bce8e7e7
fix(csp): update Content-Security-Policy to allow connections to GitH… ( #10162 )
2026-07-27 09:03:17 +02:00