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 plugin 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). In general only apply one performance and/or permission action tag per VM. Currently XO only allows one ACL assignment per VM (e.g. assigning "Dept1-Operator", and" Dept3-Admin" to the same VM does not work). 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. Note: Under normal conditions these performance settings do not affect anything. It's only when system resources are under high-load that the tiering levels ensure important VMs get priority over non-critical workloads, etc. PERMISSION SYNC VM tags ending in -Admin, -Operator, or -Viewer (e.g. "Dept1-Operator", "Dept2-Admin", etc.) automatically trigger appropriate XO Group creation and ACL assignments for the designated VM. 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
  • Today's build fixed all my "certificate" issues! Great job

    Solved
    2
    0 Votes
    2 Posts
    227 Views
    olivierlambertO
    Message for @julien-f who both broke and fixed it
  • XO slow to display stats

    Solved
    9
    0 Votes
    9 Posts
    1k Views
    olivierlambertO
    It's not that I'm not happy, I'm just explaining why it makes more sense to post issues on the GitHub repo that you used to install XO in the first place What if a 3rd party installed is installing XO in the incorrect way? We have already many messages to deal with, adding potential 3rd party installer would make it even harder for us regarding our community support
  • Importing vm from VMware ESXi fails

    Solved
    7
    2
    0 Votes
    7 Posts
    2k Views
    A
    Solved by 583c728
  • continuous replication problems

    Solved
    17
    2
    0 Votes
    17 Posts
    3k Views
    GheppyG
    And I confirm this, the problem has disappeared. Thank you
  • XOA does not mount CloudConfigDrive

    5
    0 Votes
    5 Posts
    891 Views
    olivierlambertO
    This can happen since using the sources means also experiment some bugs, while on XOA, you should be safer because we do QA before each release. If you want stability and a production grade solution, go for XOA Anyway, the bug is now fixed, get the latest commit on master and try again, it should work!
  • 404 not found importing from VMware to XOA - workaround

    4
    0 Votes
    4 Posts
    948 Views
    florentF
    @paulorrockgit thanks paul for the bug report and exploration I propose this bugfix : https://github.com/vatesfr/xen-orchestra/pull/7504 and can deploy it on your XOA fbeauchamp opened this pull request in vatesfr/xen-orchestra closed fix(vwmare-explorer): handle raw cdrom #7504
  • OVA Import

    6
    0 Votes
    6 Posts
    2k Views
    B
    @olivierlambert I was able to get the import working by importing into vmware workstation, exporting to ovf and then converting to ova with vmwares command line tool.
  • SMB ISO share can't upload

    4
    0 Votes
    4 Posts
    1k Views
    M
    @Tristis-Oris said in SMB ISO share can't upload: @mohammadm looks like Truenas related issue. Check the account permissions. if it stop working after XO update, try to rollback previous commit. User – xcp-ng Read | Write | Execute For now I upload the ISO's through Windows SMB. Because it is accessible from XOA. Only uploading is not working.
  • Accessing XCP host outside of private network

    13
    0 Votes
    13 Posts
    5k Views
    U
    I'm using ZeroTier and access works, except for the console view.
  • How to install Windows Server 2022 with XO?

    9
    0 Votes
    9 Posts
    3k Views
    M
    @ckargitest You need to run: fs0: cd \efi\boot and then run the program which is in this folder. It took me a while as well to figure it out.
  • How to import from VMware when VM has RDM

    1
    0 Votes
    1 Posts
    492 Views
    No one has replied
  • self signed cert

    4
    0 Votes
    4 Posts
    1k Views
    M
    I'm also getting the "self-signed certificate" error sinds the last update. I get it while trying to import/upload ISO. From source, commit e52b1 8.3 beta
  • 1 Votes
    3 Posts
    5k Views
    stormiS
    I added a big warning in step 3 which should never be done outside a test host that you are ready to reinstall afterwards. @codycrypto's comment is another workaround which replaces it without any impact on the host, but weakens the security by accepting weaker key types.
  • Guest console copy / paste`

    14
    0 Votes
    14 Posts
    14k Views
    S
    @TodorPetkov thanks, and apologies for the (very basic) off-topic questions. Also first time using server-core.
  • A question for the creators of XO

    31
    -1 Votes
    31 Posts
    17k Views
    J
    @jasonnix said in A question for the creators of XO: Hi @john-c, Thank you for your great tips. As I said, I've heard that Java and JavaScript are insecure, but they also have some advantages that you and others have pointed out. For example, they have a large community of users and developers. Sorry, but I think that sometimes we don't choose the right path. For example, I'm sure that a professional PHP or Ruby developer can convince you that JavaScript is not the right choice for some projects. If PHP or Ruby were not good programming languages, then they would not have so many fans and everyone would use JavaScript. One of the reasons why JavaScript is so popular is that this language can be run by browsers. Something like a standard for the web. In my opinion, JavaScript like Windows operating system. It has capabilities and features, but the most important reasons for its popularity are its large number of users and ease of use. My other question is, why is there no program under the operating system to manage XCP-ng? If you are talking about directly on XCP-ng operating system there are. In this case there's two options:- XO Lite xe Though XO Lite is new and still being developed its designed to be hosted (embedded) on the currently beta XCP-ng version 8.3. It's aim is to provide a features consistent with a single host or single pool environment. It's aimed at home lab users mostly so they can perform basic tasks, without having to install any extra software on client computers. Though technically it's viewed and invoked remotely but the commands are done directly on the pool master XCP-ng host. The remote viewing and invoking is done on a client device through the web browser or if installed as PWA the browser engine. The other option is xe its command line based so everything you wish to do needs to be typed out in the right syntax. Even tasks as basic as creating a new VM require multiple commands, several of which are from xe to perform a part. To manage XCP-ng remotely you have the option of:- Xen Orchestra XCP-ng Center Xen Orchestra - XO CLI Xen Orchestra - REST API A bit off topic are you any good with PowerShell? If so how about reading up on the relevant documentation about XAPI and/or XO's API so that a PowerShell commandlet can be developed?
  • Unsure how to link an external server for backup

    3
    0 Votes
    3 Posts
    438 Views
    T
    @Danp yes, I'm getting this error on the settings > remotes page. As you can imagine, I'm confused why NFS works on the main SR page, but not the settings > remotes page EDIT: never mind, discovered that I have to put the full share path, not just the share name. Example: \\10.69.50.31:Port:/mnt/user/UnraidBackup/XCPNGBackups
  • SSL Inspection Certificates

    4
    0 Votes
    4 Posts
    3k Views
    J
    @jqueiroz said in SSL Inspection Certificates: Don't you love to find the answer by yourself just after asking in the community forum? Create directory '/usr/local/share/ca-certificates' Copy the needed certificates this place Run /usr/sbin/update-ca-certificates [seems not be on the path]. @john-c said in SSL Inspection Certificates: Also for future reference if you ever re-do a server note that XCP-ng's certificates can be done through the XO application. Thanks. But, just for clarification, it wasn't the XO/XOA server certificate, was the certificates that sign all the HTTPS pages we visit. I uncovered a much more effective and supported method that that one you done. Follow the steps in the documentation for the XCP-ng hosts, utilising a certificate chain to include you custom CA certificate. Not forgetting setting up a custom extra CA for xen orchestra via an additional configuration file documented in the documentation for XO VM. Also by the way the method you did in the post above will be lost on upgrade, as well as likely not included in the backup feature process of XO application. However the links below will get included in the backup feature and the backup of XO configuration. Plus your method will potentially interfere with software update package which comes from the official repository, that updates the certificate authority certificates and their trusts. https://xen-orchestra.com/docs/configuration.html#custom-certificate-authority https://xen-orchestra.com/docs/configuration.html#https-and-certificates https://docs.xenserver.com/en-us/citrix-hypervisor/hosts-pools.html#install-a-tls-certificate-on-your-server https://docs.xcp-ng.org/guides/TLS-certificates-xcpng/
  • XO Deployment

    1
    0 Votes
    1 Posts
    202 Views
    No one has replied
  • Adding OS Logos

    21
    0 Votes
    21 Posts
    15k Views
    J
    @john-c well, me too. But since it gets neither at the moment. And being realistic in that they can't be excpected to keep up with every distro in existance. I'll take what I reasonably can get Update: Let me clarify. If there could be Distro specific logos, then that would be awesome. However, if we could get a generic Tux for Linux in general. Then that would cover a large part of the variants out there.
  • Slower performance on XO than XOA

    Unsolved
    1
    0 Votes
    1 Posts
    278 Views
    No one has replied