Subcategories

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

    472 Topics
    4k Posts
    johnnezeroJ
    UPDATE: Tag-Based-Automation Plugin WHAT: The xo-tag-automation plugn is a native xo-server plugin that enforces VM performance tiers, manages group permissions, and synchronizes VM metadata -- all driven by VM tags and NFS-hosted CSV files (see below for more details). FEATURES PERFORMANCE SYNC Automatically applies CPU weights and IO priorities (sched-pri) based on VM performance tier tags: 0-core -- CPU weight: 2048 IO priority: 7 1-high -- CPU weight: 1024 IO priority: 7 2-normal -- CPU weight: 512 IO priority: 5 3-low -- CPU weight: 256 IO priority: 2 All tier weights and IO priorities are fully configurable in the plugin UI. An optional pool-specific tag suffix (e.g. -1=POOL1, -2=POOL2, etc.) allows you to manage multiple pools from a single XO instance without tag collisions. PERMISSION SYNC VM tags ending in -Admin, -Operator, or -Viewer automatically trigger XO Group creation and ACL assignments. CSV PERMISSION MANAGEMENT FILES Two CSV files on your NFS share drive the workflow: current-vms.csv A live export of your entire VM inventory. Contains UUID, Name, CurrentTags, NewTags, CurrentNotes, and NewNotes columns. Edit the NewTags and NewNotes columns and run the plugin (e.g. push the [Test plugin] button) to apply changes in bulk. The CSV auto-refreshes after each run. A staleness warning fires if the CSV has not been updated within a configurable number of days. preload-vms.csv Pre-stage tag and notes configurations for VMs that do not exist yet -- before they are migrated or created. The moment a VM matching a preload entry appears in XO, the plugin applies (on next scheduled interval) its tags and notes automatically and removes the entry from the preload file. PERMISSION AUTOPILOT Designed for active migration and onboarding projects. Automatically applies permission settings on scheduled interval, based on preload-vms.csv contents. Note: Should be disabled when not actively involved in migration projects. DRY-RUN / EXPORT-CSV MODE When Dry-Run is ON (the default), the plugin previews all changes in the XO logs without applying any changes, and simultaneously exports a fresh copy of all VM metadata to current-vms.csv with blank NewTags and NewNotes columns ready to fill in. Turn Dry-Run OFF to apply changes for real. RUN NOW (e.g. The [Test plugin] button) Trigger a full enforcement cycle instantly from the XO plugin UI without waiting for the next scheduled run. NFS LOGGING All activity is written to structured log files on your NFS share: xo-tag-automation.log -- full run log (auto-rotates at 2MB) xo-tag-automation.log.1 -- previous log backup xo-tag-automation-summary.log -- run summary entries only daily-summary.log -- nightly VM count and new VM report Logs are also available via xo-cli API methods (see below). LEGACY MIGRATION If you have an existing vm_metadata.csv from an older version, the plugin automatically renames it to current-vms.csv on first run. No manual migration needed. SECURITY -- PLEASE READ CAREFULLY This plugin automates infrastructure changes. Security is not optional. Please take both of the following seriously before enabling Permission Sync or Autopilot. -- REST API SERVICE ACCOUNT -- The plugin uses the XO JSON-RPC API internally. Use a dedicated service account -- never your personal admin credentials. Recommended setup (generic -- adapt to your environment): Create a dedicated XO user account for the service (e.g. a non-admin account with only the minimal access permissions required) Generate a scoped API token via xo-cli: xo-cli --register xo-cli token.create Store the token securely -- treat it like a password! Refer to the official Vates REST API documentation for full token management guidance: https://xen-orchestra.com/docs/restapi.html -- NFS SHARE SECURITY -- The NFS share hosts your CSV files and logs. Anyone with write access to the share can modify VM tags and permissions. STRONGLY RECOMMENDED Run the NFS share from a dedicated VM -- not a general-purpose NFS server. Restrict NFS exports to the XOA IP address only: /srv/nfs/share<XOAIP>/32(rw,sync,no_subtree_check,no_root_squash) Do NOT expose the NFS share to the general network or to end-user access. Admins who need to edit CSV files can SCP them to/from the XOA: EXAMPLE: Download CSV from XOA to your workstation scp <xoa-user>@<xoa-ip>:/path/to/current-vms.csv ./ Upload edited CSV back to XOA scp ./current-vms.csv <xoa-user>@<xoa-ip>:/path/to/current-vms.csv Use firewall rules to enforce NFS access at the network level in addition to the exports configuration Failure to secure the NFS share is a serious security risk. UPGRADING FROM THE STANDALONE SCRIPT If you installed the old standalone set-performance.sh script, you can remove it before enabling the plugin as follows: Remove the script: sudo rm /usr/local/bin/set-performance.sh Remove the crontab entry: crontab -e (delete the line referencing set-performance.sh) Note: The plugin handles its own scheduling via the XO UI. No manual cron configuration is required. INSTALLATION Download the latest airgap release tarball from GitHub: https://github.com/johnezero/xo-tag-automation_plugin/releases SCP the tarball to your XOA: scp xo-tag-automation-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-tag-automation Extract directly into the plugin directory: sudo tar -xzvf /tmp/xo-tag-automation-airgap-vX.X.X.tar.gz -C /usr/local/lib/node_modules/xo-server-tag-automation/ --strip-components=1 Restart xo-server: sudo systemctl restart xo-server Verify registration: sudo journalctl -u xo-server -n 100 --no-pager | grep -A3 "tag-automation" You should see: [INFO] xo-tag-automation: Plugin factory called -- xo context: YES [INFO] xo-tag-automation: Plugin loaded -- waiting for core started. xo:plugin INFO successfully register tag-automation Enable and configure the plugin options in XO: Settings -> Plugins -> tag-automation -> Enable XO-CLI API METHODS The plugin exposes several API methods accessible via xo-cli: xo-cli xo-server-tag-automation.exportCsv Export current VM inventory to current-vms.csv xo-cli xo-server-tag-automation.downloadCsvApi Print CSV content to stdout xo-cli xo-server-tag-automation.uploadCsvApi content@./current-vms.csv Push an edited CSV back to the NFS share xo-cli xo-server-tag-automation.getLog lines=100 View the last N lines of the plugin log xo-cli xo-server-tag-automation.getDailySummary View the nightly VM count summary xo-cli xo-server-tag-automation.getFilePaths Show all configured file paths LINKS GitHub: https://github.com/johnezero/xo-tag-automation_plugin Vates REST API docs: https://xen-orchestra.com/docs/restapi.html 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 tags assigned (e.g. untagged VMs are never modified). Use Dry-Run mode to preview all changes (via log file output) before applying them. That said, as always - your mileage may vary... [image: 1780884996846-johnezero-logo.jpg]
  • ACLs, Self-service, Cloud-init, Load balancing...

    104 Topics
    863 Posts
    laszlobortelL
    @florent Thanks for your reply! We have started to migrate thousands of VMs, so disk transfer speed is important for us.. We will also do our detailed tests soon with different threads setting and publish it here. I think threads=1 is a good and logical default, but not efficient. Others might complain if you set it to a higher value. Configuration option would be a real good solution.
  • All XO backup features: full and incremental, replication, mirrors...

    509 Topics
    5k Posts
    A
    @florent Ubuntu LVM file restore is working! (commit 38931) Now for another important issue I noticed with file restore (not directly LVM). Symbolic links don't show up. They should be restorable alone, but more importantly you need to be able to see and follow them for directories. For example. In Ubuntu, /bin is a link to /usr/bin. It is important to be able to click on /bin as a link to /usr/bin so files can be found in the backup. Another example is /vmlinuz that is a link to boot/vmlinuz-5.10.0-44-amd64. At worst the file restore should show a link (and it's destination), even if I can't restore the link. This is not just a LVM issue.
  • Everything related to Xen Orchestra's REST API

    85 Topics
    642 Posts
    1
    @poddingue Confirmed working, thank you so much for the heads-up, this made my day! Got it wired into the n8n flow and it's running perfectly. One gotcha for anyone else landing here, name_description gets rejected with a 422 "excess property", it has to be nameDescription. Working body: { "nameDescription": "nginx, app-1, app-2 | 2026-06-01" }
  • Terraform, Packer or any tool to do IaC

    50 Topics
    470 Posts
    CyrilleC
    Kubernetes CSI Driver for XO new release v0.3.0 Stable CSI Volume Identity: This decouples Kubernetes volume identity from backend storage lifecycle events (e.g. VDI migration between Storage Repositories) Topology-Aware Volume Provisioning: Dynamic provisioning now supports topology-aware pool selection. ️ Migration required from v0.2.0 to v0.3.0 Full release note: https://github.com/vatesfr/xenorchestra-csi-driver/releases/tag/v0.3.0
  • 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
    1k 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
    3k 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 pdonias created this issue in vatesfr/xen-orchestra closed Hide legacy backup menu entry #4467
  • xoa vm export - "orphaned" snapshot

    8
    1
    0 Votes
    8 Posts
    1k Views
    olivierlambertO
    For example, xo-server crashed/interrupted/restarted during the export.
  • 0 Votes
    20 Posts
    5k Views
    onurO
    @olivierlambert said in Continuous Replication fails with VDI_IO_ERROR(Device I/O errors) on fresh XOA install after XenServer 7.2 -> XCP-ng 8.0 upgrade: To your config file, yes. Where this config file is depends on where do you installed Xen Orchestra (I suppose from the sources, so I can't guess where do you installed, could be anyware ) edit: I think it's fixed now and integrated by default in the config Great, this fix already is in the new version. I was having this problem (Error: VDI_IO_ERROR(Device I/O errors)) and was not be able to do CR of my VMs but now CR works. Thank you PS: BTW that was my config file
  • iso smb library - how to create it in XOA?

    Solved
    14
    1
    0 Votes
    14 Posts
    10k Views
    AddeA
    @akurzawa OK then I know
  • Clean up "old version of guest-tools.iso"

    4
    0 Votes
    4 Posts
    2k Views
    H
    @axiom00 Thank you for your answer, this worked great. Was able to clean the entire list of old versions this way.
  • Number of cores in stats is incorrect for VMs

    10
    1
    0 Votes
    10 Posts
    2k Views
    B
    @olivierlambert xcp-ng Center displays it properly, so yeah, it must be the way XO is pulling data. [image: 1565959684237-cpu.jpg] Oh well. Not a big deal. Just was curious. Thanks Olivier!
  • Two Delta-Backups on the same host

    4
    3
    0 Votes
    4 Posts
    933 Views
    olivierlambertO
    When you click on the link of the error message it should send you to the official documentation, explaining what it means: https://xen-orchestra.com/docs/backup_troubleshooting.html#error-messages I'm not sure to understand the UI question, can you post a screenshot?
  • vm visible in console not in xen-orchestra

    4
    2
    0 Votes
    4 Posts
    1k Views
    akurzawaA
    @jedimarcus You were right [root@XCP02 ~]# xe vm-list is-a-snapshot=false | grep 29_ name-label ( RW): 29_Hades @Danp [root@XCP02 ~]# xe vm-list params=name-label,uuid,other-config uuid=c2ae0376-b164-1d63-5c9a-e90a6be4cfbc uuid ( RO) : c2ae0376-b164-1d63-5c9a-e90a6be4cfbc name-label ( RW): 29_zeus-file-archive_2019-08-08T13:36:58.771Z other-config (MRW): base_template_name: Debian Stretch 9.0; import_task: OpaqueRef:c1020902-7587-47fd-9035-ad97d0f82c99; mac_seed: 06e28f1e-e6b0-3a82-1d50-33414ceea41e; install-methods: cdrom,nfs,http,ftp; linux_template: true ok thank You guys.
  • Disaster recovery - wrong network in destination

    Solved
    7
    2
    0 Votes
    7 Posts
    2k Views
    olivierlambertO
    Yeah I would say that's the more logical solution in the end
  • cloud-init Network configuration

    4
    0 Votes
    4 Posts
    2k Views
    fohdeeshaF
    Do you mean to say when you edit the network config box, and fill it out with your own network info (adhering to this standard: https://cloudinit.readthedocs.io/en/latest/topics/network-config-format-v1.html) that cloudinit in the vm gives a yaml error? This indicates the way you filled out the entry box is not properly formatted. Keep in mind to pass networking info, your cloudinit install in your template VM needs to be set to use nocloud data sources, and keep in mind the network configuration passed via cloud-init is added to the template VM, not replaced, so you need to properly configure your template VM to not already have adapters configured with IP addresses etc
  • XO does not show all VMs on a particular xs 6.2 node and other

    8
    0 Votes
    8 Posts
    1k Views
    B
    Yes, you are right infact the old instances are halted and are temporarily kept till I am not sure the imported ones are perfectly working on new node. Unfortunately in the meantime I need a way to manage boths and it means xencenter or cli. Thanks for having pointed my attention to the duplicated uiids problem.
  • XO from source - no plugins, no config import

    5
    0 Votes
    5 Posts
    2k Views
    DanpD
    See me previous post here -- https://xen-orchestra.com/forum/post/5072 I'm guessing that you were missing the symlinks for the plugins, otherwise they should have been present in XO.
  • Question About Multiple Remotes on XOA Backup-NG

    5
    0 Votes
    5 Posts
    2k Views
    A
    Thank you, @olivierlambert, for all you do here.
  • Migrate or export XOCE

    3
    0 Votes
    3 Posts
    1k Views
    bnrstnrB
    I think the simplest way to just do this once is to go to Settings > Config, there you can export the backup. Once you create your new instance of XOCE, you can import the backup using the same page, then just logout of the default user, and you can login using your old credentials. Make sure to delete the admin@admin.net account after.
  • Full XOA

    6
    0 Votes
    6 Posts
    3k Views
    olivierlambertO
    So you can't create a backup with XOA Free. This edition is meant for all usual administrative tasks, like XCP-ng Center if you like. If you want backup features, 2 choices: going for XOA Starter, Enterprise or Premium depending on your backup needs. See each edition features here: https://xen-orchestra.com/#!/featuresmatrix (each edition comes with pro support, updater and remote SSH access if needed) install XO from the sources on a system you like, following our guide: https://xen-orchestra.com/docs/from_the_sources.html
  • XO and Debian10

    9
    0 Votes
    9 Posts
    2k Views
    DanpD
    @axel I just ran the installation script on a Debian 10 VM and it worked as expected. Even when using the "official" way, sometimes the installation can fail due to things like -- issues with recent commit to github repo issues with upstream dependency etc This is why the pre-built XOA appliance exists. Feel free to open an issue over on the script's Github repo if you continue to encounter issues.
  • How to detect when Backups fails in XOA!?

    4
    0 Votes
    4 Posts
    1k Views
    olivierlambertO
    This is a 3rd party container not validated nor endorsed by XO devs. We don't know what's inside, if you have questions on it, ask on the Github repo of the maintainer Backup reports will answer your initial question/requirement (reports can be sent by email, Slack etc.) There's also a Nagios plugin, or you can use XO API to make request to be support in any software of your infrastructure Monitoring a Docker container is outside scope of XO, I would suggest to ask Docker community. Regarding XO and how backup are done, any fresh XOA deployed (or from the sources) will be able to find all the previous backup done by an old XOA, because we store every info on the remote.