- Added more items to the metadata; the content is now slightly different between the SSR produced in XenCenter and the one from the HealthCheck;
- Encode the metadata string before sending it to the Health Check;
- Always suppress history for the action that sends the proxy settings;
- Renamed some of the new classes;
- Also refactored the actions that send data to the HealthCheck service.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- XenCenter sends its telemetry info to the HealthCheck service
- The HealthCheck service saves this metadata in its settings file and includes it in the health check upload
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changed the text (on the checkbox) to make it clear that, after a version upgrade, XenCenter will apply updates only on licensed pools. This way it should be clear that servers of a partially licensed pool will not be updated. (The previous text suggested that any licensed server would be updated in general.)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
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>
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.
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>
- 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>
- restore the "empty credential" test and update HealthCheck to ignore null or empty username and password
- also update XenCenter so it doesn't send null or empty username and password
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
XenCenter specific and it is not retrieved from the SDK any more. Renamed
EventNextBlockedException to EventFromBlockedException since event.next() is now removed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>
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>
The error was happening because of the Pool.sync_database call (when HA is enabled and the VM has a saved restart priority other than DoNotRestart) which requires pool admin or pool operator roles.
This call is not needed, so removing it.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Use the NewSession function which returns a session using the elevated credentials if they exist, otherwise using the connection's credentials
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
* CA-249845: Compiling the server status reports sometime fails with System.IO.IOException: The process cannot access the file because it is being used by another process
Add a retry mechanism around the File.Move, because the operation sometimes fails when there is an anti-virus running on the XenCenter machine (we are doing the move immediately after we finished writing the file and the anti-virus software might be checking the file at that point)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-249845: Compiling the server status reports sometime fails with System.IO.IOException: The process cannot access the file because it is being used by another process
Extract the move with retry into a separate function
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>
- Reset the action's Session after the PureAsyncAction is run to collect the RBAC method list.
Also fixes the bug where AD users cannot do multiple operations on the VMs [SCTX-2517]
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1. Added pool.management_reconfigure to RBAC check
2. Time out is enhanced to check host.IsLive metric()
3. Assert for down management and null check for new management is added
4. Updated comments in the code as suggested by Mihaela Stoica
Signed-Off-By: Sharath Babu <sharath.babu@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>
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>
- 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>
Improved the ReadHttpHeaders function, by making sure that a chunk is read fully from the stream (the number of bytes read by the Stream.Read function can be less than the number of bytes requested, so we need to continue reading until the required number of bytes is read)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-19605: Improve the performance of the CreateNewRootNode function
Make GroupKey a class and override GetHashCode and Equals
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-19605: Remove debugging lines
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also changed ApplyPatchAction and ApplyUpdateAction to install a single update to a single host, so that the appropriate action title can be displayed if an action fails. And replaced 2 hardcoded strings with resource strings.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
raises XenCenter error on XS 6.1
When Text is null error is raised by split() function, we
need to handle that case.
Signed-Off-By: Sharath Babu <sharath.babu@citrix.com>
When working on this ticket (see previous commit), I noticed that the WebClient object used in DownloadAndUnzipXenServerPatchAction did not use XenCenter's proxy settings. This commit fixes this issue. By default (with no proxy being set) the proxy variable will be null as expected.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Using standard .NET Framework functionality instead of the custom implementation of the HTTP stack. (To download a single file.)
Note that this .net class WebClient is already being used to download hotfixes. However, in that code the proxy is not set, I am fixing that in a new commit on the same ticket.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
A wrong api was being tested against the RBAC roles. Removed
vmss.protect_now and added vmss.snapshot_now.
Signed-Of-By: Sharath Babu <sharath.babu@citrix.com>
Disabled the ability to select unreachable hosts and in addition
added a try/catch block to hide error message resulting from trying
to clean up an unreachable host.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
For ElyOrGreater hosts, we try move the existing VIFs to the desired networks. We will only destroy and create new ones for older hosts or when a corresponding VIF cannot be found in the network mapping.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added "VM.pool_migrate" to the list of tasks suitable for meddling actions.
Removed the usage of MeddlingActionTitle other_config key, because it wasn't working as intended for two reasons:
- If XenCenter starts an action that does multiple async api calls, so multiple tasks, the action's title is assigned to all tasks as MeddlingActionTitles, so the second XenCenter instance would create multiple meddling actions with the same title.
- When a second XenCenter instance tries to see if a task is suitable for a meddling action, the MeddlingActionTitle is not yet present in the task's other_config, so the task is ignored in most of the cases.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When getting the control domain VM, we should use the control_domain only if it is not null. there is no need to check the version (which was, however, looking at the API version of the master)