XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

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

    Scheduled Pinned Locked Moved News
    26 Posts 7 Posters 2.4k Views 11 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G Offline
      Greg_E @benapetr
      last edited by

      @benapetr
      Pretty cool project, might be handy to learn to work with this.

      Question: Will it run on a raspberry pi with a 1280x720 display? Specifically a Clockwork Pi uConsole with CM4 Rpi module with 8gb or ram.

      That's my emergency computing device for when things fail, only thing it is missing is a kvm to USB module to look at BIOS on a server.

      B 1 Reply Last reply Reply Quote 0
      • B Offline
        benapetr @Greg_E
        last edited by

        @Greg_E most likely yes, RAM wouldn't be problem, since it's a C++ app it only needs little of it. On macOS when connected to large cluster with many VMs and consoles it shows 110MB usage.

        It just needs X11 or wayland compatible environment to start

        G 1 Reply Last reply Reply Quote 0
        • G Offline
          Greg_E @benapetr
          last edited by

          @benapetr

          Thanks, I will have to play with this when I have time.

          B 1 Reply Last reply Reply Quote 0
          • B Offline
            benapetr @Greg_E
            last edited by

            I made a first "demonstrator" preview release for macOS, will upload .deb and .rpm packages as well: https://github.com/benapetr/XenAdminQt/releases/tag/v0.0.1-alpha

            B 1 Reply Last reply Reply Quote 1
            • B Offline
              benapetr @benapetr
              last edited by benapetr

              I just released 0.0.2 https://github.com/benapetr/XenAdminQt/releases/tag/v0.0.2-alpha

              The first version was really just a proof-of-concept demonstration, this second version is already pretty usable. It can handle all basic stuff, including provisioning of new VMs, VM control (start / stop / suspend / pause), force actions, parallel connections to multiple clusters etc. etc.

              Status of what is tested and works and what does:

              # Needs work
              * Menu items
              * Tree view - should show Virtual Disks, Networks in objects view
              * Pool HA tab missing
              * Actions and commands, see actions todo
              * Performance tab
              * Search tab has unfinished options panel
              * VM import / export
              * Folder and tag views
              * Network tab (host) - needs finish and test, especially wizards and properties
              * New pool wizard
              * New storage wizard
              * New VM wizard
              * VM deleting
              * HA tab
              * NIC tab - bonding
              * Clone VM
              * Create template from VM
              * Create VM from template
              
              # Needs polish
              * General tab - shows data, but access to data is weird (should use native XenObjects and their properties instead of scrapping QVarianMaps), overall layout is also not good
              * Memory tabs - they already work, but could look better
              * Console - it works most of the time, but there are random scaling issues during boot, RDP not supported
              * UI - menus and toolbar buttons sometime don't refresh on events (unpause -> still shows force shutdown)
              
              # Needs testing
              * VM disk resize
              * VM disk move
              * VM live migration
              * VM cross pool migration
              * Properties of Hosts, VMs and Pools
              * VM deleting
              * Options
              * Maintenance mode
              
              # Finished and tested
              * Add server
              * Connection to pool - redirect from slave to master
              * Connection persistence
              * Basic VM controls (start / reboot / shutdown)
              * Pause / Unpause
              * Suspend / Resume
              * Snapshots
              * VM disk management (create / delete / attach / detach)
              * SR attach / detach / repair stack
              * CD management
              * Grouping and search filtering (clicking hosts / VMs in tree view top level)
              * Tree view (infrastructure / objects)
              * Events history
              * Network tab (VM)
              * Host command -> Restart toolstack
              
              B 1 Reply Last reply Reply Quote 1
              • B Offline
                benapetr @benapetr
                last edited by

                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.

                B 1 Reply Last reply Reply Quote 0
                • B Offline
                  benapetr @benapetr
                  last edited by

                  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

                  1 Reply Last reply Reply Quote 2
                  • Tristis OrisT Offline
                    Tristis Oris Top contributor
                    last edited by

                    Wow, great news. Tried it with my pools.
                    Connected, basic functions is working, handled pool unavailability.

                    About UI usability:

                    • templates mixed up with disabled VMs at same root directory. Without any sorting.
                      I prefer to never see them, since it not important items.

                    fce4c8e4-9532-40cd-9e5f-d1231b627676-изображение.png

                    • After app restart all icons became yellow.
                      54aa5246-3aac-4ebd-87fc-146c770563cf-изображение.png

                    • looks like this option do nothing.
                      23583254-f68a-4980-9188-a23f162bc28b-изображение.png

                    How about portable mode? App mostly required for asap situations when XO is down.

                    B 2 Replies Last reply Reply Quote 0
                    • B Offline
                      benapetr @Tristis Oris
                      last edited by

                      @Tristis-Oris hello, the app is already somewhat portable. On windows it doesn't require any installation it's just a single .exe file

                      Regarding templates and sorting of tree view - that's being worked out but you can already hide the templates using View menu (just uncheck you want to display them, they will disappear).

                      Not sure about the yellow template icons, they is a debug console, you can check logs from it for more details.

                      Save and restore using encryption / master password isn't implemented in that version you have, it just always remembers all connections, but it's already ported over, see - https://github.com/benapetr/XenAdminQt/pull/15 this option will be available in next version (+ master password encryption)

                      benapetr opened this pull request in benapetr/XenAdminQt

                      closed Feature/mpw #15

                      Tristis OrisT 2 Replies Last reply Reply Quote 0
                      • Tristis OrisT Offline
                        Tristis Oris Top contributor @benapetr
                        last edited by

                        @benapetr yes, i'm about connections and credentials export\portable mode. Got it.

                        1 Reply Last reply Reply Quote 0
                        • Tristis OrisT Offline
                          Tristis Oris Top contributor @benapetr
                          last edited by

                          @benapetr said in New project - XenAdminQt - a cross-platform GNU/Linux, macOS, Windows native thick client:

                          you can already hide the templates using View menu (just uncheck you want to display them, they will disappear).

                          What is the criterion for custom templates?

                          7eb0ec2d-1968-471f-a4ad-d137ea36e05d-изображение.png

                          by default, the usual templates are disabled, but I see them. Disabling custom ones disables all templates.

                          B 1 Reply Last reply Reply Quote 0
                          • B Offline
                            benapetr @Tristis Oris
                            last edited by benapetr

                            @Tristis-Oris the logic was directly ported over from C# version, so it does the same stuff what it filters there. It just toggles this search scope:

                            QueryScope* TreeSearch::GetTreeSearchScope()
                            {
                                ObjectTypes types = Search::DefaultObjectTypes();
                                types |= ObjectTypes::Pool;
                            
                                SettingsManager& settings = SettingsManager::instance();
                            
                                if (settings.getDefaultTemplatesVisible())
                                    types |= ObjectTypes::DefaultTemplate;
                            
                                if (settings.getUserTemplatesVisible()) // these are custom
                                    types |= ObjectTypes::UserTemplate;
                            
                                if (settings.getLocalSRsVisible())
                                    types |= ObjectTypes::LocalSR;
                            
                                return new QueryScope(types);
                            }
                            

                            I assume it matches all user-defined templates, the defaults you see are "system defined" and part of xcp-ng .rpm packages. It's possible that this logic just wasn't ported correctly, I will look into it.

                            1 Reply Last reply Reply Quote 0
                            • B Offline
                              benapetr @Tristis Oris
                              last edited by

                              @Tristis-Oris just FYI I fixed all of those issues you had, also regarding portable stuff - I implemented CLI switch -c <path> where you can specify directory where you want to store config, so you can wrap the app in a .bat or .sh script that would start it to use local storage (like flash drive) for config files, that should achieve portability.

                              If you expected something more sophisticated let me know

                              Tristis OrisT 1 Reply Last reply Reply Quote 0
                              • Tristis OrisT Offline
                                Tristis Oris Top contributor @benapetr
                                last edited by

                                @benapetr Nice, great.
                                How about to implement a launch of CR backup VMs?

                                https://xcp-ng.org/forum/assets/uploads/files/1769679350079-677dfcbb-211b-452f-ad8f-db59e2860579-изображение.png
                                https://xcp-ng.org/forum/assets/uploads/files/1769679584572-3e39d799-a2fd-4cb0-8e2e-6b9c4312a2e6-изображение.png

                                B 1 Reply Last reply Reply Quote 0
                                • B Offline
                                  benapetr @Tristis Oris
                                  last edited by

                                  @Tristis-Oris There are many features missing since it's alpha now, but you can open bug tracker request on github if you want to keep track of progress for this particular feature.

                                  1 Reply Last reply Reply Quote 0
                                  • TeddyAstieT Online
                                    TeddyAstie Vates 🪐 XCP-ng Team Xen Guru
                                    last edited by

                                    @benapetr
                                    Consider making a PR to https://github.com/xcp-ng/xcp-ng-org (https://github.com/xcp-ng/xcp-ng-org/blob/master/docs/management/management.md) if you want to make your project more visible.

                                    B 1 Reply Last reply Reply Quote 0
                                    • B Offline
                                      benapetr @TeddyAstie
                                      last edited by

                                      @TeddyAstie good idea, thanks, I will do it once I get close to releasing first non-alpha version, right now it's still too immature for production use (although latest master version is so good and stable I already use it to manage most of my own clusters)

                                      1 Reply Last reply Reply Quote 0
                                      • olivierlambertO Offline
                                        olivierlambert Vates 🪐 Co-Founder CEO
                                        last edited by

                                        Note we already gave visibility on this project twice, with the last 2 XO blog post release and newsletter 🙂

                                        B 1 Reply Last reply Reply Quote 1
                                        • B Offline
                                          benapetr @olivierlambert
                                          last edited by

                                          @olivierlambert ok that's great, I didn't even notice, thanks!

                                          1 Reply Last reply Reply Quote 0
                                          • B Offline
                                            benapetr
                                            last edited by

                                            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.

                                            B 1 Reply Last reply Reply Quote 6
                                            • First post
                                              Last post