XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login
    1. Home
    2. benapetr
    B
    Offline
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 39
    • Groups 0

    benapetr

    @benapetr

    46
    Reputation
    5
    Profile views
    39
    Posts
    0
    Followers
    0
    Following
    Joined
    Last Online

    benapetr Unfollow Follow

    Best posts made by benapetr

    • New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      Hello,

      I know some people here will absolutely hate the idea of reviving that old-school thick client (yes I am talking about XenAdmin), but there are also some of us that just love it and can't get to like those web-based UIs 😄

      Despite running Xen Orchestra for many things almost everywhere (it's really handy) I just still prefer doing many things in the original thick client - especially setup of new pools and cluster, low level stuff like HA configuration, and so on (also - deploying that first VM with xen orchestra - hah).

      I already have experience with rewriting C# apps to Qt (I have many years of experience with both programming languages) and I had this idea in my head for a long time, but never felt like I could take such challenge on all by myself - since original XenAdmin is about 1715 files (files, not lines) of code, but then AI happened and it just seems it's really great at translating one language to another.

      But fret not, this is not some vibe coded AI slop, I was just using AI (for months) to help convert large pieces of code and then gave a manual review to everything and corrected most of stuff and I plan to do that until everything works completely.

      The project lives here for now: https://github.com/benapetr/XenAdminQt

      It's using exactly same license as original XenAdmin. I also took liberty of reusing the icons as I am terrible with graphics. If you have any problems with that (especially the rocket logo) let me know, I will have AI generate some slop logo instead, but I really would like to expand the xcp-ng open source world with this 🙂

      Here is a screenshot from Debian:

      13314316-bcce-4dcb-8bd3-209f6770395a-image.png

      (Now that I am looking at it, there are some visual artefacts in that bottom toolbar - but that's just because of that active dark mode, in light mode it looks fine :P)

      The client already works great on both macOS and linux (I use both platforms extensively - I don't do much Windows TBH) - if you don't have Windows and want to give it a try, you can compile it easily, assuming you have Qt installed you can just open the .pro file, compile it and run it. No tricks needed, it's very easy and straightforward - I purposefully decided to not add any 3rd party dependencies beside Qt itself to keep it very easy to port anywhere.

      In fact thanks to WASM this thing can probably even run in a browser, but networking stack would need some overhaul for that to work.

      Just keep in mind this is alpha - run at your own risk, I am myself only using it in my lab clusters, but it didn't break anything so far 🙂

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      I just released 0.0.4! Still an alpha, but it's becoming pretty usable - there was over 60 commits of code cleanup, polish and also limited testing of all visible features - pretty much everything that is now visible in the UI should be operational at this point, option pages, properties of hosts, pools, VDIs, configuration of NICs, even bonding and advanced stuff like pool password / secret rotation. All XAPI actions and commands were already ported over from C# variant, so my focus now is only on finishing it into a final usable product.

      We also have some features that original client doesn't have (such as XenCache explorer)!

      Next on my to-do is to add all features that are currently missing completely: HA, GPU, PCIe, VM import / export etc.

      Note: I will not be porting over any licensed or proprietary Citrix stuff. This tool may work with XenServer just fine, but I will not be porting over any of the proprietary features, because I will never use it and I have no way to test it either.

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      Version 0.0.5 alpha was just released.

      Tree view got major fix - it's now almost fully on-par with the C# version, all logic and missing icons and context menus were fixed.

      This is rather a quality of life release, from features only GPU support was added, rest were only bug fixes, but a lot of them. XenAdmin is now so stable now I am even using it on my production servers. It already feels same (even better in some aspects) as the C# version.

      I also added some new minor feature - all table views now support export to CSV via context menu (into clipboard), very handy if you need to export data from various views.

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      Here are some more screenshots from debian:

      df3b5fb0-c5e5-43cd-8b09-b3e78aa80b61-image.png
      255e428c-98a8-45ca-8d84-e4692e513a20-image.png
      347101c0-c303-4349-8b97-5d7ee922fbf8-image.png
      88000de7-bc1b-4137-9f5c-92960700b96e-image.png
      d822614e-603c-41a1-8bdc-ed4327bc6d35-image.png
      783a9005-c534-4c07-97c7-cefff3a59f89-image.png

      posted in News
      B
      benapetr
    • Native Ceph RBD SM driver for XCP-ng

      Hello,

      I am using CEPH for a very long time, I started back in the times of old Citrix Xen Server (I think version 6 maybe?)

      I was using RBD for a long time in a hacky way via LVM with a shared attribute, which had major issues in latest xcp-ng, then I migrated to CephFS (which is relatively stable, but has its own issues related to the nature of CephFS - reduced performance, dependency on the MDS etc.).

      I finally decided to move outside of my comfort zone and try and write my own SM driver for actual RBD and after some testing move it to my production cluster. I know there is already another github project wrote by another guy, that is unmaintained for many years and has various versions. I didn't want to bother trying to understand how that one is implemented - I already know how to use RBD with CEPH, I just needed to put it into a SM driver. So I made my own.

      I will see how it goes, there are drawbacks already to that "native" RBD over CephFS - while IO performance is superior, the "meta" performance (creating disks, snapshots, deleting disks, rescanning SR) is actually slower because it relies on native CEPH APIs and doesn't just use very fast low-level "file access" of CephFS. But I still think it could be a valuable addition to people who need raw IO performance.

      My driver is fully open source and available here - I currently target XCP-ng 8.2 and SMAPIv2, because that's what I use on my production cluster which I am primarily making this for. But eventually I will try to test this with XCP-ng 8.3 and when SMAPIv3 is finally ready, I might port it there as well.

      Here is the code: https://github.com/benapetr/CephRBDSR/blob/master/CephRBDSR.py

      There is also an installation script that makes the installation of the SM driver pretty simple, may need a tweak as I am not sure if manually adding SM modules to /etc/xapi.conf is really a good idea 🙂

      Please note it's a work in progress, it's unfinished, and some features probably don't work yet.

      What is already tested and works:

      • SR creation, unplug, plug, rescan, stat
      • Basic RBD / VDI manipulation - creating VDI, deleting VDI, openning VDI / mapping VDI, copying VDI

      It's really just managing RBD block devices for you and uses aio to map VDIs to them

      What is not tested yet

      • Snapshots
      • Cluster behaviour

      I only recommend for use on dev xcp-ng environments at this moment. I think within a month I might have a fully tested version 1.0

      Feedback and suggestions welcome!

      posted in Development
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      @bvitnik good catch, that form had multiple issues, I just fixed all of them - https://github.com/benapetr/XenAdminQt/commit/4847e85f2403f3c6fd328f17754c91df21c36502 this was one of them

      0 benapetr committed to benapetr/XenAdminQt
      refactor of new SR wizard
      
      fixed missing NFS version selector
      made Test Connection button appear only when we create new SR, not ISO,
      because xapi doesn't support probe on ISO objects
      
      implemented drop-in descriptions when nothing is provided
      
      cleaned up some qvariant scraping and invalid creation of XenLib objects
      (like Host) instead we retrieve them from the cache now
      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      Version 0.0.6 released - it mostly fixes many small things, most notable the console is now very stable, there was a bug in VNC protocol that resulted in randomly getting just a black screen, that was fixed + many other small fixes (unable to add more than 16 disks to VM, host pool join logic, pool creation logic, etc)

      There is now also experimental support for override of VM transfer network, following same logic as Xen Orchestra has (it checks if xo_migration_network host otherConfig key is set and if yes it follows it). There is also additional setting for it in pool properties.

      https://github.com/benapetr/XenAdminQt/releases/tag/v0.0.6-alpha

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      I just released 0.0.3 https://github.com/benapetr/XenAdminQt/releases/tag/v0.0.3-alpha it brings it even closer to the original client, with packages for macos, debian12, debian13, ubuntu 22, ubuntu 24, Fedora 43, windows

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      anyway I release most of my personal tools for XCP-ng as open source, so if I ever find a need for anything like rvtools and would start such a project (if nobody else does) I would also publish it as open source.

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      I also added windows build so that people can help with testing also on windows. It's a static build, no need for installer, just single zipped .exe file. No dependencies.

      posted in News
      B
      benapetr

    Latest posts made by benapetr

    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      @Tristis-Oris that's in management interface configuration, exactly same as in original C# client that had it same

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      @Tristis-Oris hello, setup what exactly? you can create bonds from physical NICs, but I don't think original C# client allows anything else either?

      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      @bvitnik good catch, that form had multiple issues, I just fixed all of them - https://github.com/benapetr/XenAdminQt/commit/4847e85f2403f3c6fd328f17754c91df21c36502 this was one of them

      0 benapetr committed to benapetr/XenAdminQt
      refactor of new SR wizard
      
      fixed missing NFS version selector
      made Test Connection button appear only when we create new SR, not ISO,
      because xapi doesn't support probe on ISO objects
      
      implemented drop-in descriptions when nothing is provided
      
      cleaned up some qvariant scraping and invalid creation of XenLib objects
      (like Host) instead we retrieve them from the cache now
      posted in News
      B
      benapetr
    • RE: New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client

      Version 0.0.6 released - it mostly fixes many small things, most notable the console is now very stable, there was a bug in VNC protocol that resulted in randomly getting just a black screen, that was fixed + many other small fixes (unable to add more than 16 disks to VM, host pool join logic, pool creation logic, etc)

      There is now also experimental support for override of VM transfer network, following same logic as Xen Orchestra has (it checks if xo_migration_network host otherConfig key is set and if yes it follows it). There is also additional setting for it in pool properties.

      https://github.com/benapetr/XenAdminQt/releases/tag/v0.0.6-alpha

      posted in News
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      @olivierlambert said:

      Hi @darthkitty8 !

      Thanks for the feedback and idea, can you create it at https://feedback.vates.tech and use the "XO 6" tag? Thank you very much!

      Another option would be to just mimic XenCenter design to make it more "Xen native" and have Objects view where you have separate tree node for "Hosts" and then "VMs" so you group all hosts and vms together.

      posted in Xen Orchestra
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      @MajorP93 yes it's running behind a reverse proxy (nginx) maybe that's the reason I will test it without proxy later

      posted in Xen Orchestra
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      @DustinB yes I am talking about xen orchestra. I built it following https://docs.xen-orchestra.com/installation it works just fine, but only XO5 version (I use it like this - built from yarn for like 5 years already maybe more... pretty much since it came to existence)

      posted in Xen Orchestra
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      I just tried with XCP-ng 8.3 and it's exactly the same, just spinning wheels, nothing ever opens, same in Chrome.

      I wonder how anyone even got this to work at all? 😄 or maybe I just chose some unlucky commit? I just built from latest master commit

      posted in Xen Orchestra
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      @pdonias XO5 is working just fine except settings -> logs never loads anything, other features seems to work OK

      I would send you logs but not sure where to look, in /var/log/orchestra.log there doesn't seem to be anything relevant, and in the UI, everything is just spinning

      6cf4f3b4-3438-4c63-8efc-9d450d93eae2-image.jpeg

      I didn't see anything relevant in browser either (I use firefox)

      posted in Xen Orchestra
      B
      benapetr
    • RE: 🛰️ XO 6: dedicated thread for all your feedback!

      @MajorP93 I built it yesterday from latest master version, it's maybe 3 commits behind today?

      I am wondering what is working differently in XO6? Could it be problem that there is no direct access to hypervisors? Eg. I have access to XO (port 443) and then the VM where XO is running has access to hypervisors, but there is no direct access to hypervisors themselves from my browser. If it's working similarly to xolite, which just downloads some JS to browser and then connects to Xen servers directly from browser, then that would explain this, but that would mean XO6 has much less secure design than XO5, so I hope that's not the case.

      posted in Xen Orchestra
      B
      benapetr