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
    16 Posts 4 Posters 1.3k Views 8 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

      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 1 Reply 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

                  open 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
                        • First post
                          Last post