This commit changes the dropdown control to not only show the available
positions, but also mark the ones that are already being used.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-257574: Manage vApps dialog is unusable with a vApp containing a large number of VMs
- In the VMAppliancesDialog, change event handlers to reduce the number of refreshes when something changes: only reload the appliances when the VM_appliance collection change; if a relevant property is changed (in VM_appliance or VM), then update only the affected rows.
- Improve the way we assign VMs to a group (AssignVMsToVMApplianceAction and AssignVMsToPolicyAction): only update the VMs that really changed.
- Also improve the way we update the VM startup options and HA restart priorities on a set of VMs
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-257574: Manage vApps dialog is unusable with a vApp containing a large number of VMs: changes following code review
- reverted the changes to the AssignVMsToGroup actions that added the additional constructor
- changed the AssignVMsToGroup actions to calculate the set difference between two lists more efficiently
- added code to deregister PropertyChanged events on VM_appliances
- removed getCurrentSettings() method as it is not needed, GetChangedSettings can be used in all cases
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Ensure that the disk-space plugin functions are not called on Ely or greater hosts, except for the 'get_avail_host_disk_space' function, which is still needed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Removed rdpControl because it is always identical to rdpClient9
-Renamed rdpClient9 to just rdpClient because we use only one
client so there is no need to distinguish, and it can easily be updated
to future versions.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
Fixed build by removing unused fields that caused the Release build to fail. Removed more dead code.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
(The member 'CanExecute()' does not hide an inherited member. The new keyword is not required)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Network HB initially shown as error because it takes time for the status to be
read from xha by xapi. This adds a delay to allow the status to be updated
before XC displays it.
- Moved the top warning out of the filter toolstrip and into the same tableLayoutPanel
as the dataGridVew to avoid hardcoding the dataGridview location in the code.
- Corrected linkLabel colour for compliance. Changed icon to match the icon
of the bottom information label.
- When checking for updates disable the linklabel instead of hiding the whole
warning to avoid empty space or the dataGridView jumping up and down.
- The check button in the middle should be available when the check link is
available.
- Avoid toggling explicitly the enabled state of controls; it can be taken
care of within the check for updates event handlers.
- Other minor layout improvements (control positioning).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
thus solving the resizing issue of the Actions column. Also, register an action
before starting running it.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
General tab (Pool): In the list of updates, added a space after each comma
to let the control wrap the text into multiple lines. This way the text is
no longer cut, therefore no additional scrollbar is needed.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Changed the pre-check error message to refer to the absence of the Tools
when that is suspected to be the case.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- This is needed because this class is shared with the VNCControl solution which doesn't have access to the Helpers class
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
A bit of refactoring as requested by the reviewers
I decided not remove the NullReferenceExceptions and throw the Failures
immediately in order to avoid the additional error handling that seems to be unnecessary there. However, the reason I've decided to keep it as is is that it would change what gets logged and the performance gain would not be noticeable anyway. Furthermore, the current implementation (try-catchall) catches any other exceptions providing fallback to the default Failure.
Due to a regression (introduced by [1]), XenCenter will not run delayed actions in the correct host-order at all times. This can cause the master to be not the first host to be rebooted what may result in connections being lost to slaves should the API change between restarts/updates in a way that it would not be compatible to the previous version. This would make the wizard fail and users would have to restart their master host manually to make it connect to its slaves again.
This commit fixes the order of the hosts when executing the delayed actions.
[1]: 15827512e1
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- removed unused methods and properties from the NewPolicyWizard class
- made the wizard pages private in the NewPolicyWizard class
- removed unused constructor from the NewPolicySnapshotTypePage class
- removed unused property from the PolicyHistory class
- removed the public properties TreeView and DataGridView from the SnapshotsPage
- removed the PolicyType from the PolicyAlert class and the constructor that is no longer used
- removed unused property from the VMSS class
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-205187 - L10n: JA/SC: The websites are not shown as hyperlink on the “Health Check Privacy Statement” window
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
* CA-205187 - L10n: JA/SC: The websites are not shown as hyperlink
Fixed tab order
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
* CA-205187 - L10n: JA/SC: The websites are not shown as hyperlink
Added Japanese privacy policy
* CA-205187 - L10n: JA/SC: The websites are not shown as hyperlink
Fixed regression in tab order
Detect both VM_LACKS_FEATURE and VM_LACKS_FEATURE_SUSPEND, show proper error message on the pre-check page in the Install Updates Wizard
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-249849 - Using arrows to select license in license manager are the wrong way
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
* CA-249849 - Using arrows to select license in license manager are the wrong way round
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
* CA-249849 - Using arrows to select license in license manager
Reverted tab order for radiobutton groupbox as per review comments
In rare cases, the GetMaster could return null, causing the update progress to fail with "Pool_patch or Pool_update not found". (when the Cache hasn't been populated by the execution gets here)
This commit drops GetMaster and uses a pre-saved masterUuid instead of waiting for the Cache what would be the other way to solve this issue.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Moved "Legacy Windows" template to the bottom of the Windows templates
to discourage users from selecting it and avoid it being selected by default
at the top of the list as was the case.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
Reset the PrecheckPage.PoolUpdate property on leaving the SelectPatch page, because it needs to be null for the Automated Updates mode and for the single update mode it will be updated on leaving the Upload page.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Perform all the prechecks on applicable hosts only (i.e. the hosts that don't have the update applied already), with the following exceptions:
- The HA check, which is performed on the pool master
- The server-side precheck (PatchPrecheckCheck) which will still be performed on all servers in the pool and will show the warning if the update has already been applied on some servers
This commit also adds an override to the HAOffCheck.SuccessfulCheckDescription to show the pool name instead of the master's if the check is successful.
Also, in the PatchPrecheckCheck, I had moved the code that checks if the patch is already applied to the very beginning (before the host liveness check), so it will return the warning that the server will be skipped even if the server is not reachable
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
QEMU EXT_KEY_EVENT expects key symbol and key scan code to
be sent. This commit extends KeyEvent to supply translated key symbol,
as well as scan code.
Signed-off-by: Anoob Soman <anoob.soman@citrix.com>
* CA-249056: Add a unique ID to XenCenter Check For Update
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-249056: Add a unique ID to XenCenter Check For Update
Fixed the format of the User-Agent to comply with [1].
[1] https://tools.ietf.org/html/rfc7231#section-5.5.3
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-249056: Add a unique ID to XenCenter Check For Update
Changes following the code review
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-249056: Add a unique ID to XenCenter Check For Update
Changes following the code review
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-249056: Add a unique ID to XenCenter Check For Update
Changes following the code review
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Also ensuring that if the UpdateSessionDisplaySettings function (which we use for resize) is not supported, then we display the console centered in the parent window and with scrollbars if needed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- set managed=true, otherwise the network creation fails with the error "The network is not managed by xapi"
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also rearranged some code in PatchingWizard class, to keep all property assignments together for each wizard page
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Introduced the WizardMode enum and the WizardMode properties in several wizard pages (replacing the IsInAutomatedUpdates boolean property)
When in NewVersion mode, we show the same wizard pages as the AutomatedUpdates mode and we build the update sequence based on the selected update alert (which is an update to a new version)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
First step, this can return an upgrade sequence that will upgrade a pool to a version and will bring that version up-to-date right away. Untested skeleton yet.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
In the Updates wizard:
New versions that are available as updates will be listed in the "Download Updates from Citrix" section, before any other updates.
If XenCenter is not the latest version, these rows will be greyed out, with a tooltip.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
CP-21185: Show new versions of XS and XC on the top
...unless not sorted by name, date, or servers.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- On the Updates tab: for new versions, check that the version of XenCenter is at least the latest. If not, give an additional option to download a newer XenCenter (for both updates and upgrades), and not offer "Download and Install" (for updates).
- In the Patching wizard: if the update is a new version, we force the user to first update their XenCenter to the new version
- In the RPU wizard: if the server version is not the latest and their XenCenter version is not the latest from updates.xml, we assume that they want to upgrade to the latest XenServer version and we force the user to first update their XenCenter to the latest version.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
If a patch updates the server version, then save a reference to that version in the alert and display this alert as a "new version" alert
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Suppress updates to the status when the PureAsyncAction runs the action to populate the ApiMethodsToRoleCheck
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When a TargetInvocationException is raised, its InnerException property holds the underlying exception, which is what we should display.
Also ellipsise the action description (which could be an error thrown by the upload action) that is displayed on the Upload page.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Try to match the alerts by message type, not by title, because for pooled hosts the title contains the host name followed by the friendly name, while for standalone hosts the host name is not included
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This way XC will display the name attribute of the XC-version which is expected to contain the LTSR string for LTSR version.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- save multiple dismissed alerts as a comma-separated list in Settings.Default.LatestXenCenterSeen
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Add "latestcr" field to the XenCenterVersion class
- Change the Updates class to cope with multiple latest XenCenter versions
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added "Changes will apply to all hosts in a pool." to clarify the scope of these settings
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
In addition to adding scrollbars when content panel size is reduced using splitter,
I also fixed the teal top panel issue from the base class so that it is applied to all
VerticallyTabbedDialog implementations.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>