- The cloud config parameters page is only visible on a VM that already has a config drive.
- The cloud config parameters can only be changed when the VM is halted.
- In the New VM wizard, if a template is selected that already has a config drive, them the wizard will display the existing configuration, not the default one.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Remove “Remote access is not enabled on this guest” in cream in below condition:
1.RDP status is on
2.PV driver is cream or greater
Signed-off-by: Cheng Zhang <cheng.zhang@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>
-Added HostOutOfSpaceProblem to let the user to clean up disk space when getting PATCH_PRECHECK_FAILED_OUT_OF_SPACE error at precheck stage in the patch install wizard.
-A bit of refactoring of DiskSpaceRequirements class in order to be reused here
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@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>
New Page: Enlightenment on VM Properties Dialog, visible only for:
- VMs on Cream Or Greater hosts
- that can be enlightened, regardless of their power state
A VM can be enlightened if the key "xscontainer-monitor" exists in other_config.
A VM is enlightened if other_config:xscontainer-monitor if true.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- don't update the progress bar when checking disk space (only the description)
- the color used for "in progress" action description (above the progress bar) should be the system default font color, not black
- actions should throw ArgumentNullException, not NullReferenceException
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Before starting the upload to the master hosts, check if there is enough disk space (check only performed for Cream or greater hosts)
- If enough space available the upload starts automatically; otherwise an error is displayed
- If we can free up enough disk space then we offer the option to Clean up. Otherwise we provide the user with the information on required and available space and the user will have to manually free up required space.
- Also Disable the Upload page for oem updates
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
UploadSupplementalPackAction:
- use http-put with the default timeout
- throw current exception in RemoveVDI (instead of encapsulating it in a new one)
- add other_config key before uploading to make sure the vdi has this flag set from the beginning of its lifetime
- upload progress bar now shows the total progress per row
Also included a cosmetic rewrite of PatchingWizard_PatchingPage,GetUpdateName function
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1.Add xapi version check in cream since Cream and Creedence have the same platform version
2.Check feature-ts2 to see if turn on RDP feature can use on specific VM PV tool
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
- update the Patch property even when the selected update type is not "Existing patch". This will be set it to null if the selected type is supplemental pack.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Select a supp pack in the hotfix wizard
- Recognise that it's a supp pack not a hotfix
- Check if there's enough space on a SR to contain it: (1) default SR if shared or (2) any shared SR or (3) local SR on each host in pool
- Create a VDI to contain it
- Upload the supp pack to the VDI
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>
- Added check for Clearwater SP1 or greater to the gpu capability on the New VM wizard
- On the GPU tab, draw the grid on the shiny bar only if the capacity is greater than one
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changes following code review:
- Added VM.CanHaveVGpu function (at the moment just returns CanHaveGpu, but it will change in the future)
- Added vGPU_type.IsPassthrough function and used it everywhere we needed to test for passthrough (max-heads==0)
- Simplified code in Helpers.GpuCapability, Helpers.VGpuCapability, NewVMWizard (gpuCapability), MainWindow and GpuRow
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
Instead of showing just the name, this code is showing name with location information in title for all objects that appear in the tree view.
(A new property (NameWithLocation) with a getter accessor defined in IXenObject and has been implemented as virtual in XenObject and overridden at several child classes.)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Show pool (or standalone server) name on the Upload page.
Also corrected some resource strings.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added new page to the patching wizard, called "Upload" which displays the upload actions for each server and the progress of these actions
- MultipleAction: added the functionality to optionally stop the action on first failure
- Fixed the error where an existing patch downloaded from another server and then uploaded to a new one was not deleted on cancelling the wizard [CA-156788]
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Correction following code review: When a host collection changes, update all rows containing the hosts changed. This will cover the case when the License Manager shows all members of a pool on separate rows for pre-6.2 versions of XenServer.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The problem was that the License Manager was listening to PropertyChanged events on the master only, not on slaves.
When the master's properties change (e.g. edition) we update the row in the license manager; but in some cases a slave (or more) hasn't been updated yet (as it may be updated in another event.from) and we think that the pool is partially updated.
Our solution is to listen to Host BatchCollectionChanged event, which is triggered once per cache update for the host collection (it any property changed for any of the hosts).
The sleep in the ApplyLicenseEditionAction is not needed anymore, nor is the extra call to update the cell after the action is completed, because the cell is getting updated correctly on the BatchCollectionChanged event.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The Free license never expires and is confusing to see "Unlicensed" or "Unsupported" hosts with expiry date "Never".
Added the ability to add "hidden" entries to the General tab sections and to update their visibility when needed without regenerating the whole section.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changes to the License Manager dialog:
- Summary panel: show smaller icons for warning and information messages
- Summary panel: show license entitlements for all Creedence hosts (not eligible for support, eligible for support, enterprise features enabled, etc)
- for free Creedence or Clearwater hosts, the license status is Free (it used to be Expired for ClearwaterOrGreater)
and the text displayed is "Unlicensed" for Creedence and "Unsupported" for Clearwater;
the warning message is "Not eligible for support" (instead of "Your support and maintenance has expired")
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
To to determine if the feature is restricted we use:
- "restrict_export_resource_data" license flag for Creedence hosts
- license edition and expiry date for pre-Creedence hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
In some cases calling Control.Invoke() from a background thread causes that thread to go in a "sleep, wait, or join" mode, while waiting for Invoke to happen, although the UI thread is running normally.
If the Control is the MainWindow, it works as expected, but we've seen it happening while connecting or disconnecting from a large pool, on calling Invoke on controls like NavigationView, AlertSummaryPage, HistoryPage, etc.
To fix this, we call the Invoke on the MainWindow in all the places where we've seen the issue.
With this changes, the previous fix for CA-148245 (call RequestRefreshTreeView on CacheClearing event) is not needed anymore, so I removed that call.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Changes following the code review: To minimize the distance between the OK button and the "View Legal Notices" link, the latter has been aligned to the Bottom-Left and the height of its container row has been set to 100% instead of Auto.
-Changed Location to Server or Server/Pool in the views contained by the Notifications View
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Showing link to CTX page if StorageLink problem was found at pre-check (in RPU Wizard)
-Enable the Resolve All button on the pre-check page only when there is at least one problem found and all the problems have solution/fix - minor refactoring
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Based on the discussion of CA-144708, when error happens or the Current Server is listed and disabled
in the recommendation host list, there is no rating score and star actually, so it is good to hide the
zero star to avoid confusing.
This fix hides the zero star indication on XenCenter GUI.
Signed-off-by: Zheng Chai <zheng.chai@citrix.com>
- If XenCenter node or a disconnected host is selected, show the default search.
- Otherwise, find the top-level parent (= pool or standalone server) and show the search restricted to that.
- In the case of multiselect, if all the selections are within one pool (or standalone server), then show that report.
- Otherwise show everything, as on the XenCenter node.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Fixing issue as per Mihaela's review: "when an object and its parent (i.e. the group) are selected, the search result should be the search on that group"
-Fixed search on Objects view when multiple items were selected. If one item is selected the behaviuor is unchanged. If multiple items are selected the common ancestor's search is displayed if there is one, otherwise we display the search view that belongs to the root node (Objects by Type).
For issue 1, move the "labelStartDate" location to left with 4 points.
This would make the gap between "labelStartDate" and "StartDatePicker" larger than others under Windows EN.
For issue 2, would not extend the size of "StartDatePicker" and "EndDatePicker" since they would occupy other labels and comboBoxes' room.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
-I defined save and restore selection functionality in SelectionBroadcaster and implemented them in SelectionManager. The NavigationPanel now uses these to: 1) save the current Selection (context) when the user switches to the Notification view, 2) to restore previous selection when switching away from the Notifications view.
Fix the following display issues:
1. Should leave more space upon pool granularity setting with XenCenter Chinese version.
2. "Close" should not be the default button when "Previous Section" or "Next Section" is enabled.
3. On WLB advanced settings page, the split line of pool audit granularity should extend and contract along with the size change of the form.
4. For large pool audit trail report, click "Next Section" till the report end, if change user/object/startdate/enddate, "Run Report" button is shown but disabled. Should enable it.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Fix the display issues of Chinese version XenCenter/WLB:
When WLB Configuration Dialog size is changing,
1. OK and Cancel buttons are truncated,
2. OK and Cancel buttons do not keep at the bottom/right corner of the dialog.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Fix the display issues when WLB Configuration Dialog size is changing:
1. OK and Cancel buttons are truncated.
2. OK and Cancel buttons do not keep at the bottom/right corner of the dialog.
3. The height of the SplitContainer does not track the change of the height of the dialog.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
The reason for the error dialog appearing behind License Manager dialog was that we used MainWindow as parent of the Licensing Error dialog (in ShowLicensingFailureDialog method in ApplyLicenseEditionCommand)
and there were already 3 other modal dialogs displayed one on top of each other: License Manager, Apply License and Action Progress.
Fixed by calling the ShowLicensingFailureDialog from the command, on action.Completed event (instead of action.Run) and passing the Parent as a parameter, so that we can use the correct parent when displaying the error dialog.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
For pool audit trail report, when click "Run Report",
reset "_endTime" so that the end time will be re-retrieved.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
- Show the page and grey out the irrelevant options (i.e. the installation media if the template has no CD drive).
- Only disable the Installation media step if the template has no installation media and we don't show the boot options (because is HVM).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Updates view: on pressing Download and Install, open the wizard at "Servers" page, select all the servers that the patch applies to, and disable all the others.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Modified layout to avoid overlapping and dynamic movement of input fields/buttons when an error message is being displayed.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Reverted changes of CA-109242 (PR-62 on GitHub)
-Network tab: now to show '<None>' instead of '-' as Link Status (for pools: when the network has no PIFs; for hosts: when the network has no PIF )
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- In the Events view, offer a choice only to dismiss the visible ones instead of all
- Keep the filter buttons always enabled. This applies to all Notification views (Alerts, Updates & Events)
- Also refined the confirmation messages displayed when dismissing events
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Fixed by removing all the (redundant) tooltips from all the buttons in Alerts, Updates, Events view.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Fixed by removing all the (redundant) tooltips from all the buttons in Alerts, Updates, Events view.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Enhance WLB pool audit trail report:
1). Update advance settings to control audit trail granularity.
2). Update pool audit trail report to add user and object lists for selection.
3). Display large pool audit trail report with sections.
4). Localization for Chinese version.
5). Compatibility with WLB 6.5 and 6.1 or before.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Changes to the DeleteAllAlertsAction:
- when the dismiss operation fails with INVALID_HANDLE we need to remove the alert from our alert list (XenCenterAlerts) and trigger the CollectionChanged event so that the alert count gets updated.
- the action title now says "Removing <n> alerts" when dismissing all/selected alerts and "Removing alert" when dismissing single alert (instead of "Removing all alerts" in all cases)
- move the initialization of Dismissing flag outside the action (see below)
This fix also includes changes so that the Dismissing flag works as intended: to be able to hide the dismissing alerts in the Alerts view immediately, rather than one by one when they were actually deleted, causing a large number of refreshes.
On dismissing alerts we do:
1. set dismissing to true for all alerts
2. rebuild alert list (this will filter out the dismissing alerts)
3. dismiss alerts - run the DismissAllAlerts action
Also, the action buttons on each row should only apply to the clicked row (not multiselect).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- The problem was the Summary page was displayed before the lists of succeeded and failed actions have been populated (on the Completed event of each action).
- To fix it, we populate these lists after all the actions are completed, and on the event thread.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- cannot remove completely because of the plugin specification, but it is not be visible even if they were plugins trying to use it
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Set the pool details in the action to allow proper filtering by location on the Events page
- Also, when possible, set the Host property: when setting the SR in the action, we also set the Host to SR.Home
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Suppress reporting of success and failure for sub-actions:
The suppress history flag is set when the action is created and if is false (by default) the action is added to the history (the Events list).
In order to suppress history for the subactions, we need change all actions used in Edit pages so their constructor can set the SuppressHistory flag and then use these constructors with suppressHistory = true on all the implementations of IEditPage.SaveSettings() where an action is created
(then we need to remember to do the same everytime we introduce a new page and / or "save" action).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-According to the call stack this is the place where the exception can come. Although I was not able to reproduce the exception, this fix solves a possible argument (index) out of range exception. With this check, point merging is not going to be done if it would be unnecessary anyway when there were an empty list to be merged (count==0).
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Fixed Home server's commands to try to use both versions of migration when deciding to enable or disable the menu item
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Added three Warning classes (HAEnabledWarning, WLBEnabledWarning, HostNotLiveWarning), used in the Pre-checks page of the Install wizard (also in the Rolling Pool Upgrade wizard) to indicate that a check was skipped and the reason why.
- If HA or WLB is on, we show this as an error in the "HA and WLB status" check and the "VM migration status" checks will be skipped (with a warning displayed) for all the hosts in the pool.
- Similarly, if a host if unreachable, we show this as an error in the "Host liveness status" check and the following checks for that host will be skipped (and warning displayed).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Make "Reclaim freed space" a CommandButton (will appear as disabled if the command cannot execute)
- Add tooltip to "Reclaim freed space" button to show the reason it is disabled
- Hide "Reclaim freed space" button on old servers
- Allow multiselect
- "Reclaim freed space" button enabled if at least one SR can be trimmed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Register a PIF CollectionChanged event, so the page is refreshed when a bond is added / deleted.
- Register the PIF PropertyChanged event to each PIF when the grid is populated; this ensures that all the PIFs displayed will be refreshed when their properties change.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This fixes the following problem:
When the main window is resized, we set the minimum width of the right side panel (Panel2MinSize) to half the size of the window so that the tab contents are visible. This is fine on most situations, but on a higher screen resolution (e.g. 1920x1080) the following problem occurs:
- starting with the main window at minimum size, when the window is maximized, the Panel2MinSize is set to half window's size (e.g. 960)
- when the main window is restored back to the minimum size, the split container is not resized because there is a conflict between Panel2MinSize and the size of the window itself (Panel1MinSize + Panel2MinSize > window's width)
- therefore the navigation panel is not visible and also the content of the tab control may appear out of scale.
To fix this, we set the Panel2MinSize to half of the window's minimum width. This way the right side panel will always fit in the window, including when it is restored to minimum size.
This also fixes [CA-137956] - Restoring Maximised XenCenter does not resize the main panel properly.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When the navigation panel is resized, we need to preserve the height of the bottom panel, by recalculating the splitter distance.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added a 'refresh grid' parameter to UpdateRow() which indicates if a sort and refresh of the grid is necessary.
- A sort and refresh is not needed when the user selects a server by pressing the space key or by mouse, but it is needed when the information displayed has changed, for example when the license has changed.
- Also solved a possible null reference exception in CheckableDataGridViewController.ReplaceStoredRow(), by returning -1 if the index is not within the rows range.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Force an update of the selected tab when switching back from Notification view, as some tabs ignore the update events when not visible (e.g. Snapshots, HA)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- When clicking the action button on the grid, execute the action on the item that has been clicked, instead on using the grid's selected item, which may have not been updated yet.
- On multiselect (if the multiselect is allowed for the action), if the clicked item is in the grid's selection list, then execute the action on the whole list, otherwise on the clicked item only.
- This applies to both Updates and Alerts windows.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The error has been caused by the shadow multiplier field on Advanced Settings page: XenCenter thinks that the values has changed, and tries to save it, but this is not allowed for VM Admin users.
The solution is:
- use -1 as the signal value for unparseable string, instead of 1.0, which is actually a valid value;
- display the existing value without formatting it to 2 deciaml places;
Also corrected the validation function, as the shadow multiplier has to be greater than or equal to 1, not 0.1.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added check for null for sm.features in SR.SupportsTrim;
- Better error messages;
- Moved error messages from Messages to FriendlyNames;
- Removed the check for actions in progress from TrimSRCommand.CanExecute().
-
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The operation applies to an SR. The button is on the Storage tab of the host/pool, and is entitled "Reclaim freed space".
It comes between the New SR and Properties buttons.
If the SR does not support TRIM , the button is invisible and the Properties button moves left to close up the gap.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Reverted "CP-4951: CAR-100: Remove Rdp2 console" because Rdpclient 6.0 is not included in Windows Server 2003 SP2;
- Redone the fix for CA-123779 (Unhandled exception in Console Tab View), by moving RDPSetSettings() call inside a try..catch block, so we handle any exception thrown while setting the rdp client properties.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- XS60E009 has been replaced by XS62E006 and that the latter applies to all 6.x releases;
- 5.x hotfixes have changed, even though the version numbers are unchanged.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>