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>