- fixed issue where the context menu with add/attach items was not available
for empty list or when empty space was clicked; in the latter case I also clear
the selections
- added ability to launch the context menu by using the windows properties button
- moved context menu to the designer; changed code to show/hide the relevant menu
items instead of adding new ones each time the context menu opens
- added icon to the context menu item Properties
- fixed button layout (part of CA-100083), then removed separators between buttons
because when they wrap it looks a bit strange
- fixed some weird cross-threading exception (could not reproduce reliably)
- renamed one or two class members and tidied up the button event handlers
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Making the requested changes: Name is now sorted by the generic CompareTo method (which uses name with opaque ref as tiebreaker), and Description also uses opaque ref as tiebreaker for consistency.
Change the sorting on the Name and Description columns to use StringUtility.NaturalCompare, which correctly sorts strings with numbers at the end (eg name, name0, name1, name2, name10 will now sort correctly while alphabetic sorting is incorrect). Also added a tie break on uuid to make sorting behave predictably with duplicates in these columns.
Now using the EscapeAmpersands string extension method. Also resolved the custom fields display issue in the same way.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
The ticket said the character after the & became a hotkey (like labels etc do with UseMnemonic enabled) but I couldn't reproduce that - & symbols were simply removed from the string. The fix is to replace them with &&, so the string.format prints a single & as it should.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
Generalising to also support pools. New CheckHostPatchesRequiringReboot method with the same behaviour as old method (return list of KeyValue warning messages). Pool updates on Ely use the union of messages from this method instead of the old one. Also localised the "{hotfix} on {server}" string per todo (hence resx changes).
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
For servers running Ely or greater we now produce messages for patching requiring reboot using the host.patches_requiring_reboot field. The Pool_patch objects resolved are sufficient to produce the same messages. Note that some patches produce a message in the old API but not the new, this is intentional. Still to do: update pool updates in the same way,
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
in the calculation of the never-expiring licence ("greater than 3653 days" in
LicenceAlert and LicenceStatus vs "greater than or equal to 3653 days" elsewhere).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Changes following code review
- Made PVS tab localizable and added Chinese and Japanese resources
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- tab visible on pool or standalone server if the feature is not restricted and the pools has at least one farm
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
VMstorage page uses the default colours of the controls, hence we only need to set
them on the VNCTabView and the linklabel does not need to be public.
Changed heading from Recommended Updates to Required Updates following further discussions around wording
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Showing recommended* hotfixes for servers when the data is available (Check For Updates xml has been downloaded and has minimalPatches node in it for the given server version). *:Not applied ones from the minimal set.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Localized the url of the Home Page. Globalization team can now reference different files per localization in InvisibleMessages.resx. (Eg. HomePage.ja.mht) The file then has to be added to XenAdmin.csproj, similarly to HomePage.mht.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* Changed the installer to use the (yet) manually generated MHT file that encapsulates all the source files of the HomePage, so we don't have to have the installer to deploy every single file, so have changed the installer as well. This also makes branding easier.
* Added the license to the LegalNoticesDialog
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Tried to keep changes at one place while not abstracting things too much as we have don't need any complex functionality yet.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
1. Run 'docker attach' if user clicks 'View Console' button.
2. Run 'docker logs' if user clicks 'View Log' button.
3. Make IPAddressForSSH a property of VM for common usage.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
1. Add "View Console" and "View Log" on general tab of docker container.
2. Grey the two buttons if the container is on Windows (Server 2016) VM.
3. Enable the two buttons when the container is running on Linux VM.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
- InvisibleMessages.resx contains the default value for the saved search (xensearch), which can be overwritten in Branding.cs
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Cherry-picked from cream-indigo:
CP-14857: Add "premium" license edition
CP-14857: Add premium license edition for CN version
CA-190342: Add friendly name for "basic" edition
- also hide the Status field from the License Details section if the license is basic
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
There were times when "HasUpgradeSupportInManagementAgent" was needed, but not anymore, so this commit is changing code to use only VirtualisationStatus.MANAGEMENT_INSTALLED again.
Show "Able to receive Updates via Windows Update" or "Able to receive Updates via Windows Update" for Windows VMs
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Fixed the exception that was caused by a missing null reference check and also the fact that the license status had to be watched only for pools and hosts, so added a check before starting watching the license status of the IXenObject (on GeneralTabPage)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- display the Provisioning entries in the General Tab only for iSCSI and LVM SRs
- also changed the checks in the ConvertToThinSRCommand to use SR.IsThinProvisioned property instead of SR.Provisioning
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Removed PV_DRIVERS_NOT_INSTALLED=0 from the VirtualisationStatus [Flags]enum - 0 will mean the same (to avoid bugs with enum.HasFlag(0) is always true)
Extracted common code to VMLifeCycleCommand.GetCantExecuteNoToolsOrDriversReasonCore() method (instead of defining overridden GetCantExecuteReasonCore() method at this level, because not all child classes need this...)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Extended the enum, aimed for minimal changes, also using Flags on the enum now
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Not applied updates do not appear anymore in the General Tab of a pool. (Related to CA-180577)
- If we apply a patch that was already applied (happens when we take a file from disk that is not in the updates list taken from the Citrix website -> no metadata), on cancel we are now removing the uploaded patch from the host.
- Memory Tab uses GB units for values greater or equal to 1 GB, otherwise show in MB;
- Search Tab displays values in GB or MB in the same as the Memory Tab (e.g. 512 MB of 1 GB, 256 MB of 512 MB, 2.5 GB of 16 GB).
- The shiny bar present in the Memory Tab and in Memory Settings dialog shows the scaling in the following way: If smaller than 1 GB, then show as before, else show only labels with values multiples of half a GB.
- The units used in Memory Setting Dialog are set depending on the static_max. If it is greater or equal to 1 GB, then the units are GB, else MB. The user does not have the possibility of changing them.
Improves the centering of the warning messages in the Updates Tab, making the picture align with the text.
Corrects bug related to the visibility of the warning about automatic checks for updates.
CA-157785: Hotfix wizard forgets which servers should be greyed out.
When clicking Download and Install update in the Updates Tab, instead of opening a new dialog, it opens the Updates Wizard on the Select Servers Page and download the file in the Upload Page.
Fixes issue regarding the upload of the update every time that the user gets to Upload Page. Now it only uploads it if it has not been uploaded before.
Fixes issue regarding the download of the update every time the user goes back to the Select Patch Page. If the user goes back, but does not change the choice of the update, the download will not be done again.
- Added "FCoE Capable" column, showing FCoE capability as Yes/No values in the NICs grid
- This column is only visible for Dundee or higher hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added this information on the VM's general tab, and it could be one of the following:
- Operating mode: Paravirtualized (PV)
- Operating mode: Fully virtualized (HVM)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Fixed the bug by subscribing to events of all actions and not only to the
ones that are displayed in the grid.
Besides this, the visibility of the row is being used instead of removing and
re-adding rows on status changes.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.
The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).
This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
- Show ports as: Address: 0.0.0.0; Public port: 8088; Private port: 8088; Protocol: tcp (multiple lines if more than one set)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Implemented changes as follows (copied from ticket):
"I'd suggest the following use-ability/homogeneity fixes for the new container management tabs, if they are quick and easy:
Combine "Docker Version" and "Docker Information" on the VM-General-tab into "Container Management - Docker Status" with the following fields only:
API version
Version
Git Commit
Driver
Index Server Address
Execution Driver
IPv4 Forwarding
In the "Processes" tab, change the name from "Docker Processes" to "Container Processes"
In the "Details" tab, change the name from "Docker Detail" to "Container Details"
In the "Details" tab, drop the top level element "docker_inspect" (XML requires a single root-node, afaik the Windows form treenode does not), or alternatively open the root node by default and rename it to "Inspect Result"
In the "Details" tab, add the "Details"-headline in black on white - just like on the "Processes"-tab
Also, on the container's General tab, show Properties button disabled, instead on hiding it (to be consistent to other cases, e.g. disconnected servers)
"
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Disable the Refresh button while a refresh is in progress.
- Introduced ExecuteContainerPluginAction - an action that stores the container it was called for, so that on completion we can decide whether to update the view or not (if the container displayed has changed, then we shouldn't update the view with the results from a previously selected container).
These changes apply to container Processes and Details tabs.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- also made Refresh buttons the same size on Details and Processes page and changed Details tab caption from "Detail" to "Details"
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Show a “Read Caching” section on the General Tab of a VM when the VM is running on a Cream or greater host
- When the Read Caching is enabled, the “Read Caching” section will contain two entries: Status and Disks (list of disks with RC enabled)
- When the Read Caching is disabled, the “Read Caching” section will contain two entries: Status and Reason
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Instead of calling the plugin on the UI thread, we call it through an action that we execute asynchronously and on completion update the UI.
- Pause the refresh timer on leaving the page and resume it when entering the page again.
- We do this for both Processes and Details page.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Showing all detailed information from a docker_inspect call
- The information refresh/polls every 20s while it's open
- Button “Refresh” add, so user can refresh the result. Also shows time when the last refresh happens.
- Add TabPageDetails as value 9903 in HelpManager.resx
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
This fixes the following issue: when displaying the General tab of a container, the Properties button is hidden, but not made visible again when switching to another object type (e.g. VM)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1.Add ports and command in DockerContainer object
2.All labels in General box are internationalized.
3.Add UUID, command, ports in General box
4.Export DockerContainer in ICache
5.Modify tab title to "Container General Properties"
6.Remove properties button
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
The 'Updates' section on host's General tab displays which packs have been installed onto a host, including the version number
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- In the case that there are two hosts in a pool, one with GPU and one without, then the one without will display a text saying "There are no GPUs on this server".
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
New properties:
- Pool.HasGpu = Pool has at least one PGPU
- Pool.HasVGpu = Pool has at least one PGPU that HasVGpu
- PGPU.HasVGpu = PGPU has at least one supported_VGPU_type that is not pass-through
New or modified helper functions:
- Helpers.GpuCapability = GPU feature not restricted (by licensing) and Pool.HasGpu
- Helpers.VGpuCapability = vGPU feature not restricted (by licensing) and Pool.HasVGpu
- Helpers.ClearwaterSp1OrGreater = API version is 2.1 or greater
The GPU dialogs are displayed as follows:
- GPU page on VM properties dialog: Visible only if VM.CanHaveGpu and the GPU feature not restricted (by licensing)
- GPU page on New VM Wizard: Visible only if VM.CanHaveGpu and the pool has GPU capability (Helpers.GpuCapability)
- GPU page on Pool properties dialog: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- GPU tab: Visible only if the pool has GPU capability (Helpers.GpuCapability) and is Clearwater SP1 or greater
- On the GPU tab, the "Placement policy" panel: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- On the GPU tab, the "Edit" button on the "vGPU types" panel: Visible only if the PGPU.HasVGpu and vGPU feature not restricted (by licensing)
Also:
- VM.CanHaveVGpu function renamed to CanHaveGpu
- On the GPU tab, renamed "Allowed vGPU types" to "vGPU types