Subcategories

  • VMs, hosts, pools, networks and all other usual management tasks.

    486 Topics
    4k Posts
    johnnezeroJ
    Affinity Manager Plugin WHAT: In keeping with my previous project (Tag-Automation Plugin, found here), I am releasing the Affinity Manager Plugin, which is a fully tag-driven plugin for Xen Orchestra. It is designed to provide VM placement and grouping controls based on assigned tags, which are managed by predefined tag rules. PROGRAM FEATURES Host Affinity (RunOn) Run VMs on specific host group (e.g. a particular data center or set of hosts) Host Anti-Affinity (NotOn) Keep VMs off of specific host group VM Keep-Together (KeepTogether) Keep named group of VMs on the same host (follows Leader VM) VM Separation (KeepApart) Spread named group of VMs across unique hosts (best-effort) VM TAG SYNTAX Apply tags to VMs in the XO UI: VM TAG / RULE EXAMPLE MEANING AM-RunOn_{HostGrpName} AM-RunOn_P1-DC2-HOST VM should run on hosts tagged P1-DC2-HOST AM-NotOn_{HostGrpName} AM-NotOn_P2-DC1-HOST VM should NOT run on hosts tagged P2-DC1-HOST AM-KeepTogether_{GrpName} AM-KeepTogether_AppStack1 Keep all group VMs on same host (follows Leader VM) AM-KeepApart_{GrpName} AM-KeepApart_DBCluster1 Spread group VMs across unique hosts (best effort) Note: Multiple rules can be combined on a single VM. For example, a VM can have both AM-RunOn_P1-DC1-HOST and AM-KeepTogether_WebCluster simultaneously. HOST TAG SYNTAX Apply tags to hosts in the XO UI (i.e. to define host groups): EXAMPLE HOST TAG POOL LOCATION P1-DC2-HOST POOL-1 Data Center 2 P2-DC1-HOST POOL-2 Data Center 1 INSTALLATION Note: "Airgap" in the tar.gz file below, simply means the bundle includes all required dependencies for both an offline or online installation. Download the latest airgap release tarball from GitHub: https://github.com/johnezero/xo-affinity-manager/releases SCP the tarball to your XOA: scp xo-affinity-manager-airgap-vX.X.X.tar.gz <xoa-user>@<xoa-ip>:/tmp/ Create the plugin folder: sudo mkdir -p /usr/local/lib/node_modules/xo-server-affinity-manager Extract directly into the plugin directory: sudo tar -xzvf /tmp/xo-affinity-manager-airgap-vX.X.X.tar.gz -C /usr/local/lib/node_modules/xo-server-affinity-manager/ --strip-components=1 Restart xo-server: sudo systemctl restart xo-server Verify registration: sudo journalctl -u xo-server -n 100 --no-pager | grep -A3 "affinity-manager" You should see: [INFO] xo-affinity-manager: Plugin factory called -- xo context: YES [INFO] xo-affinity-manager: Plugin loaded -- waiting for core started. xo:plugin INFO successfully register affinity-manager Enable and configure the plugin in XO: Settings -> Plugins -> affinity-manager -> Enable CONFIGURATION (XO > Settings > Plugins) Enforcement Schedule — Run every 15 minutes, hourly, or daily (configurable) Dry Run Mode — Logs all intended actions without migrating anything (default: ON) Log Path — Configurable path to the log (Created automatically if it does not exist). Pool Safety — Cross-pool migration is always blocked (i.e. Plugin only migrates VMs within the same pool) Log Rotatate — Rotate/compress log files at 10 MB (keeping 3 archives) LINKS GitHub: https://github.com/johnezero/xo-affinity-manager STANDARD DISCLAIMER HERE This software is provided AS-IS without any express or implied warranty. While this plugin is being used in a production environment managing live VMs, you should always review the code and test it in a non-production environment before full deployment. Note: The plugin is designed to ONLY take action on VMs with specific predefined tags assigned -- all other VMs are never touched. Use Dry-Run mode to preview all changes before applying them. That said, as always - your mileage may vary... [image: 1788399103619-johnezero-logo-small.png]
  • ACLs, Self-service, Cloud-init, Load balancing...

    106 Topics
    869 Posts
    T
    @mpiton Thanks for looking into this, I guess it wasn't apparent that I needed to click the Save Configuration button for that plugin. I did that and confirmed that the secret now survives an xo-server restart. Thanks again!
  • All XO backup features: full and incremental, replication, mirrors...

    528 Topics
    6k Posts
    acebmxerA
    @florent Backups ran after patch applied... 1 pool had zero issues on backup 100% complete... Other pool while it complete did have some errors... Started a second backup on same pool and giving same results. { "data": { "mode": "delta", "reportWhen": "always", "backupReportTpl": "compactMjml", "hideSuccessfulItems": true }, "id": "1788428437610", "jobId": "c0e31730-7d45-4f3a-8733-8cea444b127d", "jobName": "Salem - Delta Backups", "message": "backup", "proxyId": "7840039e-a3cb-41ed-acee-3690f89a1426", "scheduleId": "ce3c801c-4384-4726-bda1-f6bae788e2f4", "start": 1788428437610, "status": "success", "tasks": [ { "id": "0mtlc477z-gdvpj68kva", "start": 1788428438927, "status": "success", "tasks": [ { "id": "0mtlc478f-guqsurb38qa", "start": 1788428438943, "status": "success", "end": 1788428440120, "result": { "merge": false, "size": 0 }, "message": "clean-vm" }, { "id": "0mtlc48cx-c1y79k93vl", "start": 1788428440401, "status": "success", "end": 1788428442225, "result": "67677eec-494b-6ab6-0447-ac4dba8932a1", "message": "snapshot" }, { "id": "0mtlc49rm-ou0nslm2c7l", "start": 1788428442227, "status": "success", "tasks": [ { "id": "0mtlc724s-62ae1bzdupa", "start": 1788428572300, "status": "success", "end": 1788428932605, "result": { "size": 20385362944 }, "message": "transfer", "data": { "progress": 99 } }, { "id": "0mtlceupa-f476k7iq2u4", "start": 1788428935918, "status": "success", "tasks": [ { "id": "0mtlceutz-yztgqk0sv0c", "start": 1788428936087, "status": "success", "end": 1788429285986, "result": { "size": 20380123136, "id": "5fb5f6f1-709b-b149-4aa6-31514ef2c7f2" }, "message": "transfer" }, { "id": "0mtlcmctg-8z00dmmisds", "start": 1788429285988, "status": "success", "end": 1788429291289, "message": "vmstart" } ], "end": 1788429296722, "message": "health check" }, { "id": "0mtlcml5b-ywe7qa02f7q", "start": 1788429296783, "status": "success", "end": 1788429300723, "result": { "merge": false, "size": 0 }, "message": "clean-vm" } ], "end": 1788429300727, "message": "export", "data": { "id": "19270323-baaa-4a7b-bf1f-e152ae44f263", "isFull": false, "type": "remote" } } ], "warnings": [ { "message": "can't compute delta OpaqueRef:afcf0af9-64c9-845d-207c-789c9c5de78f from OpaqueRef:13ce290f-2194-280e-72c5-9e16271505df, fall back to a full" }, { "message": "can't connect through NBD, fall back to stream export" }, { "message": "Backup fell back to a full" } ], "infos": [ { "message": "will delete snapshot data" }, { "data": { "vdiRef": "OpaqueRef:afcf0af9-64c9-845d-207c-789c9c5de78f" }, "message": "Snapshot data has been deleted" } ], "end": 1788429300728, "message": "backup VM", "data": { "id": "0618e9fe-854e-7f01-1f22-6fb1667806d4", "type": "VM", "name_label": "Salem XO-CE", "progress": 0 } }, { "id": "0mtlc4783-s6m3pnf32pl", "start": 1788428438931, "status": "success", "tasks": [ { "id": "0mtlc478g-epd65nptnrn", "start": 1788428438944, "status": "success", "end": 1788428439927, "result": { "merge": false, "size": 0 }, "message": "clean-vm" }, { "id": "0mtlc486t-mq755lvlxi", "start": 1788428440181, "status": "success", "end": 1788428443614, "result": "d52e8853-1102-8bcd-b588-adbe5b411a6b", "message": "snapshot" }, { "id": "0mtlc4au7-q4va6ntph6c", "start": 1788428443615, "status": "success", "tasks": [ { "id": "0mtlc9pax-xyje1fo25lf", "start": 1788428695641, "status": "success", "end": 1788429704445, "result": { "size": 44032329216 }, "message": "transfer", "data": { "progress": 100 } }, { "id": "0mtlcvdy1-pxmgi1rx7tk", "start": 1788429707353, "status": "success", "tasks": [ { "id": "0mtlcvdzc-uodtj65grrn", "start": 1788429707400, "status": "success", "end": 1788430481457, "result": { "size": 44021317632, "id": "ed4d4ce7-2685-a35a-b1e4-c54a1385364e" }, "message": "transfer" }, { "id": "0mtldbz96-dsndwbb93hv", "start": 1788430481466, "status": "success", "end": 1788430486658, "message": "vmstart" } ], "end": 1788430492516, "message": "health check" }, { "id": "0mtldc7vt-oopf5wcg74e", "start": 1788430492649, "status": "success", "end": 1788430501065, "result": { "merge": false, "size": 0 }, "message": "clean-vm" } ], "end": 1788430501070, "message": "export", "data": { "id": "19270323-baaa-4a7b-bf1f-e152ae44f263", "isFull": false, "type": "remote" } } ], "warnings": [ { "message": "can't compute delta OpaqueRef:82b55a23-b13e-df37-c9f7-11373a42c40b from OpaqueRef:9824e8f1-0199-885c-e69a-d9275cd62d2a, fall back to a full" }, { "message": "can't connect through NBD, fall back to stream export" }, { "message": "Backup fell back to a full" } ], "infos": [ { "message": "will delete snapshot data" }, { "data": { "vdiRef": "OpaqueRef:82b55a23-b13e-df37-c9f7-11373a42c40b" }, "message": "Snapshot data has been deleted" } ], "end": 1788430501071, "message": "backup VM", "data": { "id": "64476a1a-20f5-32a4-6352-47916b2162d8", "type": "VM", "name_label": "Salem UnifiOS", "progress": 0 } }, { "id": "0mtlcmo92-ezud8mmu26", "start": 1788429300806, "status": "success", "tasks": [ { "id": "0mtlcmoaf-ah3ohsdoy7r", "start": 1788429300855, "status": "success", "end": 1788429304315, "result": { "merge": false, "size": 0 }, "message": "clean-vm" }, { "id": "0mtlcmrdk-xm266uwj1ni", "start": 1788429304856, "status": "success", "end": 1788429307794, "result": "dd0d0918-efdd-1a1d-ce94-85afbf0fd25c", "message": "snapshot" }, { "id": "0mtlcmtn7-clidkdhy2ht", "start": 1788429307795, "status": "success", "tasks": [ { "id": "0mtlcs7g8-3k59s9tshcf", "start": 1788429558968, "status": "success", "end": 1788430829213, "result": { "size": 43868711424 }, "message": "transfer", "data": { "progress": 100 } }, { "id": "0mtldjhbz-rfnh54dr3y", "start": 1788430831487, "status": "success", "tasks": [ { "id": "0mtldjhd9-g6rihy05ec7", "start": 1788430831533, "status": "success", "end": 1788431285549, "result": { "size": 43857739776, "id": "e3215b6b-9b5a-0d49-3392-491cc39c19e4" }, "message": "transfer" }, { "id": "0mtldt7ox-r81abwrax4", "start": 1788431285553, "status": "success", "end": 1788431290565, "message": "vmstart" } ], "end": 1788431296314, "message": "health check" }, { "id": "0mtldtg0h-8kvnbox5dg3", "start": 1788431296337, "status": "success", "end": 1788431297610, "result": { "merge": false, "size": 0 }, "message": "clean-vm" } ], "end": 1788431297611, "message": "export", "data": { "id": "19270323-baaa-4a7b-bf1f-e152ae44f263", "isFull": false, "type": "remote" } } ], "warnings": [ { "message": "can't compute delta OpaqueRef:4b3d9930-d795-03f8-c887-f8b7d2a95524 from OpaqueRef:894ead1a-dae6-f156-d8c7-c7f5ba2200ef, fall back to a full" }, { "message": "can't connect through NBD, fall back to stream export" }, { "message": "Backup fell back to a full" } ], "infos": [ { "message": "will delete snapshot data" }, { "data": { "vdiRef": "OpaqueRef:4b3d9930-d795-03f8-c887-f8b7d2a95524" }, "message": "Snapshot data has been deleted" } ], "end": 1788431297611, "message": "backup VM", "data": { "id": "ddf296c8-20a0-6aa9-0d74-ebc029d0d1b3", "type": "VM", "name_label": "Salem UnifiOS", "progress": 0 } } ], "end": 1788431297621, "infos": [ { "data": { "vms": [ "0618e9fe-854e-7f01-1f22-6fb1667806d4", "64476a1a-20f5-32a4-6352-47916b2162d8", "ddf296c8-20a0-6aa9-0d74-ebc029d0d1b3" ] }, "message": "vms" } ] }
  • Everything related to Xen Orchestra's REST API

    87 Topics
    650 Posts
    A
    @poddingue Borrow away - "smoke alarm" is a better name for it than anything we had, so we might borrow it right back. Since you mentioned reading the matrix - here is the classification you would be reading, straight from the file: grep access: dadl/xen-orchestra.dadl | sort | uniq -c 49 access: admin 21 access: dangerous 122 access: read 75 access: write 122 of the 267 tools are plain read - that is the entire surface a review-capped agent gets. The other 145 exist in the same file, but for that agent they might as well not. The whole security taxonomy is greppable plaintext - which is rather the point of a declarative format. And if anything in the matrix looks wrong or missing, this thread is exactly the right place - real-world corrections are how it improves.
  • Terraform, Packer or any tool to do IaC

    51 Topics
    485 Posts
    CyrilleC
    @koushik you have to use the Helm controller addons for RKE2 to deploy autmatically the Helm chart for the Xen Orchestra CCM with the field spec.bootstrap set to true: Field | Default | Description -------------------------------------------------- `spec.bootstrap` | `false` | Set to True if this chart is needed to bootstrap the cluster (Cloud Controller Manager, etc) EDIT: I wrote a wiki page with what I've tested https://github.com/vatesfr/xenorchestra-cloud-controller-manager/wiki/Rancher-RKE2
  • Install and setup XOA with XCP

    4
    0 Votes
    4 Posts
    2k Views
    olivierlambertO
    In my previous post there's a link in the "contact us" words. Click on it to see a contact form.
  • 0 Votes
    6 Posts
    2k Views
    olivierlambertO
    Hang on then, tree view is coming
  • Will it Live Migrate...?

    4
    0 Votes
    4 Posts
    3k Views
    olivierlambertO
    Yes, in this case it will be "live storage motion" (ie migrating with the storage, because you don't have a shared storage). Note that you should add the server to the pool first, and then only add VMs on local storage. Because when you add a new host to a pool, all the existing storage/VMs will be removed (VMs on the new hosts)
  • Can't access NFS in XO

    Solved
    5
    0 Votes
    5 Posts
    3k Views
    okynnorO
    Thanks. I guessed that I needed to put the full path on FreeNAS as there is not masking when expose as NSF by FreeNAS. So I put the full path as "/mnt/MybooksVolume/VM_ISOs" and that seems to have fixed the problem.
  • ACL Network / Allowed IPs

    5
    0 Votes
    5 Posts
    2k Views
    pdoniasP
    It's an admin privilege.
  • VM is hanging during typing

    5
    0 Votes
    5 Posts
    828 Views
    S
    i don't use it cause i work only with mac. this is the reason why i get xoa. ... in the xencenter on windows it works normally. but i try this on different browsers. the problem is the same
  • Xen Orchestra ZFS issue..

    1
    0 Votes
    1 Posts
    698 Views
    No one has replied
  • create resource pool

    6
    0 Votes
    6 Posts
    4k Views
    olivierlambertO
    Migrate it to the host that will be the master (even local storage of the master). Then you can add any slave.
  • xoa-updater failing

    8
    0 Votes
    8 Posts
    5k Views
    olivierlambertO
    IIRC we have something in the pipes to solve this, but not yet. Please open a support ticket so we can continue discuss with more details related to your infrastructure
  • IP pool for IPv6

    feature in backlog
    6
    0 Votes
    6 Posts
    2k Views
    D
    @olivierlambert issue created https://github.com/vatesfr/xen-orchestra/issues/4515
  • unattached disk cannot be moved

    Solved
    8
    0 Votes
    8 Posts
    2k Views
    olivierlambertO
    Please refer to https://github.com/vatesfr/xen-orchestra/issues/4455
  • xoa-updater service not running

    4
    3
    0 Votes
    4 Posts
    1k Views
    olivierlambertO
    2GiB is enough. Please create a support ticket (yes you can with XOA Free) so our dedicated support team assist
  • XOA Full Backups consumes to much SR space.

    Moved Solved
    6
    0 Votes
    6 Posts
    2k Views
    B
    Yes, setting concurrency to 1 helps me. Will try to run concurrency >1 on th pool and see how it works. When concurrency > 1 it would be nice to split backups per-host (in case of pool) or per-SR (in case of multiple SRs)
  • Connecting servers after credential change

    15
    2
    0 Votes
    15 Posts
    6k Views
    jedimarcusJ
    @LEB-ID It's called Add new Server in XCP-ng Center too... old habits die hard. But Pools is not the right word either. It's hard coming up with something short and precise.
  • Backup concurrency within one VM with multiple disks

    6
    2
    0 Votes
    6 Posts
    1k Views
    ForzaF
    @julien-f Done: https://github.com/vatesfr/xen-orchestra/issues/4490
  • 0 Votes
    8 Posts
    2k Views
    julien-fJ
    @olivierlambert said in Backup-NG Error "invalid header checksum" after VM-Disk-Resize and reaching retention Limit.: So the issue appeared just when the oldest extended delta had to be merged in the full I suppose. This is exact, but we need to have a proper process to reproduce it. This might be related to: increasing the size of the disk above a certain threshold increasing the content of the disk above a certain threshold
  • 0 Votes
    7 Posts
    2k Views
    J
    After: mount 192.168.10.6:/mnt/raid/nfs /mnt/jan and i look with mount i get this: 192.168.10.6:/mnt/raid/nfs on /mnt/jan type nfs4 (rw,relatime,vers=4.1,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.211.55.19,local_lock=none,addr=192.168.10.6) So its working. After manual typing what XO tried: mount -t nfs 192.168.10.6:/mnt/raid/nfs/backup /mnt/jan -o vers=3 I get the same error: mount.nfs: access denied by server while mounting 192.168.10.6:/mnt/raid/nfs/backup So the “-o vers=3" option is the problem. Can i edit a file in XO to get rid of the “-o vers=3” option? SOLVED In XO i used the option -o vers=4 and this works.
  • XO not displaying any Storages

    Solved
    17
    2
    0 Votes
    17 Posts
    4k Views
    AnonabharA
    @badrAZ Gentleman, thank you very much.. I updated and recompiled and now I get all the storages on display. Thanks again, Peg
  • Old Backup

    13
    0 Votes
    13 Posts
    3k Views
    pdoniasP
    https://github.com/vatesfr/xen-orchestra/issues/4467
  • xoa vm export - "orphaned" snapshot

    8
    1
    0 Votes
    8 Posts
    2k Views
    olivierlambertO
    For example, xo-server crashed/interrupted/restarted during the export.