• DevOps Megathread: what you need and how we can help!

    Pinned
    65
    4 Votes
    65 Posts
    19k Views
    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
  • 4 Votes
    6 Posts
    836 Views
    dalemD
    @afk I’ve got two draft nixpkgs for libvhdi and Xen orchestra from sources respectively, I’ll look into submitting them upstream soon but take a look and feel free to share any feedback xen-orchestra-ce libvhdi.
  • OpenTofu - create VM from named template in the configured pool

    3
    0 Votes
    3 Posts
    151 Views
    G
    @hoerup Dang, how did I miss that. Thanks and my apologies! Graham
  • Xen Orchestra Container Storage Interface (CSI) for Kubernetes

    19
    5 Votes
    19 Posts
    2k Views
    jmaraJ
    @Cyrille
  • Feedback: XO Cloud Controller Manager (CCM)

    6
    2
    1 Votes
    6 Posts
    480 Views
    T
    @nathanael-h I have not yet tried the XO CSI driver, if I do I will leave feedback on the relevant thread. (I found the one started in 2025 November)
  • Xen Orchestra OpenMetrics Plugin - Grafana Dashboard

    7
    5 Votes
    7 Posts
    1k Views
    DustyArmstrongD
    Edit: For anyone with this issue, stopping and starting the Openmetrics plugin after saving the password in XO fixed it. I keep getting the {"error":"Query authentication does not match server setting"} problem, is there something I'm missing? I run XO proxied through Nginx with HTTPS, is there some additional config required to get it working? I have set the key with openssl rand -hex 32 and have verified that is saved correctly in the plugin, and that I am using the same key for curl. I am able to obtain the /health endpoint as expected, I just cannot obtain the full metrics, only returns that error. Command: curl --insecure -H "Authorization: Bearer mytoken" https://xo.mydomain.local/openmetrics/metrics XO commit: 91c5d I should note that running the command inside my Docker container returns only the error, including the health endpoint. Do I need to expose 9004?
  • Ansible Role - Install XO from source - Now available

    7
    3 Votes
    7 Posts
    1k Views
    P
    @majorp93 I've updated and added a node.js-installation to the role. Targeting the LTS-24 version. I hope you find it to your liking.
  • fun fact ? create a VDI in an ISO SR is possible

    1
    5
    0 Votes
    1 Posts
    183 Views
    No one has replied
  • 0 Votes
    2 Posts
    569 Views
    S
    Starting from Other install media with BIOS (not uefi) is the only combo that is working with Terraform
  • Terraform Creating VM from my Windows Templates No Bootable Device

    6
    1
    0 Votes
    6 Posts
    2k Views
    S
    UPDATE Now on XCP-ng 8.3 and XO from sources I had no problems with Windows 11. Had problem Ubuntu Noble Numbat 24.04 base template failing to boot from disk when cloned using Terraform. Changing the base template to "Other install media" resolved the issue, and the Terraform-cloned VMs work fine. EDIT: Also has problems with base template Windows Server 2025.
  • Ansible and XAPI first playbook (Ansible)

    8
    0 Votes
    8 Posts
    1k Views
    S
    @bvitnik Thank you for the great response. I have had great success with Terraform - great work. I'm not touching ocaml myself. And yes, Citrix... they are still above VMware/Broadcom on my list. But SMH. I keep promoting XCP-ng hoping some large companies take advantage of it. It's much more valuable to me than nautobot, for example.
  • destroy_cloud_config_vdi_after_boot

    9
    0 Votes
    9 Posts
    1k Views
    CyrilleC
    Can you share how you created the template? And copy here the template object from xo-cli or the rest api: xo-cli list-objects type=VM-template id=<your_template_id>?
  • Unable to configure Network IP inside the VM throgh API

    Moved
    13
    0 Votes
    13 Posts
    2k Views
    C
    What is the output of the following command: cloud-init schema --system
  • Terraform and disk migrations

    4
    0 Votes
    4 Posts
    619 Views
    C
    This approach isn’t entirely foolproof since I can’t use a wildcard, and I don’t know how many disks will be attached to the VM. For now, it will never exceed two disks, so I can explicitly include both in the ignore_changes statement. That’s an acceptable solution for us. Thanks for your support.
  • Better / more flexible way to add and edit CloudInit templates in XO ?

    6
    0 Votes
    6 Posts
    884 Views
    HolgiBH
    @sid It seems I have to get my hands dirty and take a deeper look into Terraform / OpenTofu. I am not shure how well the other folks at work partially will have fun working with commandline versus the easy to use XO web GUI. Tailoring down the CloudInit files used is not really the basic idea behind this. I was rather going the oposite way and install / configure the stuff we usually bake into our templates on the fly while generating the VM via CloudInit. Thanks a lot for all the responses !
  • Script suddently stop working (TLS error)

    Solved
    5
    0 Votes
    5 Posts
    1k Views
    olivierlambertO
    Excellent news! Thanks for the feedback
  • CPU topology (sockets/cores) for new VMs deployed via Terraform

    5
    2 Votes
    5 Posts
    1k Views
    CyrilleC
    I created a GitHub issue to track this feature request: https://github.com/vatesfr/terraform-provider-xenorchestra/issues/378 gCyrille created this issue in vatesfr/terraform-provider-xenorchestra open CPU topology (sockets/cores) for new VMs deployed via Terraform #378
  • Pulumi Xen Orchestra - News

    10
    1
    1 Votes
    10 Posts
    2k Views
    CyrilleC
    Release v2.2.0 This new version introduces a new field, 'memory_min', for the VM resource and makes a slight change to the 'memory_max' field, which now sets both the dynamic and static maximum memory limits and providing better control of VM memory. What's Changed feat: Update TF provider to get VM memory improvements by @gCyrille in https://github.com/vatesfr/pulumi-xenorchestra/pull/420 Full Changelog: https://github.com/vatesfr/pulumi-xenorchestra/compare/v2.1.0...v2.2.0 JavaScript/TypeScript: @vates/pulumi-xenorchestra Python: pulumi-xenorchestra Go: github.com/vatesfr/pulumi-xenorchestra/sdk .NET: Pulumi.Xenorchestra gCyrille opened this pull request in vatesfr/pulumi-xenorchestra closed feat: Update TF provider to get VM memory improvements #420
  • Packer / Pulumi examples for Ubuntu and Windows VMs

    packer pulumi python windows linux
    3
    0 Votes
    3 Posts
    925 Views
    CyrilleC
    Hi, thank you for the example! We will take a look. It could be a good idea to have a dedicated documentation/web page with usage examples of 'DevOps' tools
  • VM UUID via dmidecode does not match VM ID in xen-orchestra

    23
    0 Votes
    23 Posts
    5k Views
    TeddyAstieT
    @deefdragon said in VM UUID via dmidecode does not match VM ID in xen-orchestra: Out of curiosity, I dumped the DMI into a bin and opened it up in a hex editor. I am seeing ASCII of the ID, but also a variant encoded in binary. In both cases, its formatted as 0b08f477-491a-a982-23c4-d224723624ea. I believe the ASCII version is the one that gets populated into the serial number as it comes after ASCII encoded versions of the 3 lines above it in the decode. In SMBIOS 2.8, the UUID is supposed to be encoded in little endian (i.e Microsoft GUID). Yet it is put as big endian instead. So when Linux generates the UUID string from the SMBIOS table, it is considered as little endian which causes this mismatch. SMBIOS 2.4 is supposed to be used (which appears to be using big endian UUIDs), but for some reason, something in XCP-ng UEFI supports forces it to be SMBIOS 2.8. So the binary UUID is the same, just that it is interpreted with a different endianness due to accidental format change.