Also: removed unused method; some property modernisation; removed class
LiveMigrateOptionsVmMapping which was rather complicating things.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Removed unnecessary abstractions. Replaced named delegates with anonymous ones.
Use pattern matching and avoid multiple casts. Be consistent in the properties
we check.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, moved code handling RBAC failure from the Failure class into the
PoolJoinAction because it is pretty specific to the latter action.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Simplified SudoElevationResult.
- Renamed SudoDialogDelegate to ElevatedSessionDelegate so that it makes more sense
for projects not referencing WinForms.
- Call directly the RoleElevationDialog within XenAdmin without using the ElevatedSessionDelegate.
- Minor modernisation in AsyncAction.
- Launch GraphDetailsDialog in a using block.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- It was not possible to apply different settings to multiple hosts
at the same time.
- Server calls were made on the UI thread.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, corrected the RBAC permission check after stopping using the conversion plugin.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Poll for the appliance version because the service may take a while to
start after an IP address is obtained.
- More flexible IP address look up.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- if a hotfix eligibility date field is invalid, then the hotfix eligibility warning does not include any reference to this date.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-30958: Initial implementation of the Conversion Manager in XenCenter.
* Corrections following review and improvements.
* Further corrections and improvements.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CP-31527: Add notifications in XenCenter for versions that are no longer eligible for hotfixes
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also, fixed issue where uploading a supp-pack resulted in a perpetually
pending action if the file had disappeared from the disk.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
If the tar contains huge files, this causes memory spikes, even OutOfMemoryException.
Instead, copy the file from the input to the output stream in chunks.
For this purpose the sanitisation code was moved to XenCenterLib to avoid
exposing the tar internals to the UI project.
Also, made some minor improvements in error handling, clean up, and logging.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
1. Update AddVGPUDialog title;
2. Add label above the combobox;
3. In the combobox, add text to the entry saying if multiple vGPU is supported;
4. When the dialog is open, focus on the combobox;
5. Preselect the vGPU type if there is only one option available;
6. Setup the Help ID for dialog;
7. Optimize vGPU adding and deleting in GpuAssignAction.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* CP-31063: Add support for multiple vGPU
(incomplete)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-31063: Add support for multiple vGPU
(part 2)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* AddVGPUDialog
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Update bindings.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* REQ-720: Initial implementation of AddVgpuDialog.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Improve the handling of buttons and combobox. Fix comments.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Fix comments.
Signed-off-by: Michael Z <michael.zhao@citrix.com>
* Refactored the VIFDialog to fix various problems:
- Launch the dialog in using blocks.
- Event GotFocus is not meant to be handled directly in the code.
- Populate the dialog in the OnLoad override instead of the constructor
as this causes problems at design time.
- Popping up an error message for duplicate MAC on combobox item
selection or textbox text change is not optimal UX. Perform this
check once when closing the form. Additionally the parent form of the
pop up should be the dialog, not the main window.
- The validation messages are not obvious to the user because they are
hidden in the tooltip of a disabled button. Show them inline instead.
- There is no need to create commands for VIF creation/change; use
the relevant actions instead.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Corrections as per code review plus some more code tidy and refactoring.
- Added option to suppress Create/DeleteVIFActions
- Use property RebootRequired to indicate hot-plugging is unavailable
(assigning various objects of different types to the Result of the action
during its run may cause confusion).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- On the dialog show the next run time in both the client's and the server's local time zone.
- On the VMSS frequency page allow the user to pick the schedule in the client's
local time zone and show then next run time in both the client's and the server's local time zone.
- Refactoring to fix workflow and class design, reduce amount of code and simplify logic.
- Various layout improvements.
Signed-off-by: Aaron Robson aaron.robson@citrix.com
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Refactored MeddlingAction and Task classes: moved the logic for building a MeddlingAction outside the Task class and switched to using the vm_operations enum to identify which tasks are suitable for MeddlingAction
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
of the hosts to be upgraded and not only on the first one in the list.
For this purpose, the test has been moved to the prechecks, and the
failures are now shown as a non-fixable problem.
Further, specification of the network location of the installer files
has moved closer to the upgrade mode selection.
Also, moved the hotfix and upgrade related checks immediately after the
host liveness check.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Moved these errors to the FriendlyNames, which is reserved for resources with
keys coming verbatim from the server.
Some code efficiency corrections to the page's workflow.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
because it only manages friendly names; moved it closer to the relevant resource files.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- removal of the SystemStatusAction launching the individual SingleHostStatusActions,
because the connection was set incorrectly to the last one of the selected
connections and, if an error occurred to that connection, the data collection
for all of them failed.
- proper handling of HTTP.CancelledExceptions.
- replacement of the FlickerFreeListBox by the more versatile DataGridViewEx.
- corrections to reporting progress for individual hosts as well as page totals.
- made collection of client side data more obvious.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Simplification: use auto-properties.
* Removed unnecessary null check. Converted private methods to linq method chain.
* Removed unused file. Added null check.
* Corrected property names as it was difficult to distinguish between the alert,
the patch and the filepath.
* Removed duplicate lock.
* CA-296490: Rewrote the logic uploading single updates so as to facilitate uploading to multiple pools in parallel.
* Corrections as per code review.
* Account for the case of uploading from disk legacy updates that do not correspond to an update alert.
Removed unfriendly error messages (the failure is written out in the logs anyway).
* Wizard test corrections and some modernising:
- Only call cancel on the last page if the test allows us to.
- Do finish the UpdatesWizard test.
- Finish the RunWizardKeyboardTests using key strokes instead of button clicks.
- Ensure the Cancel/Previous buttons do not have focus when sending an Enter stroke.
- Use optional parameters in the WizardTest constructor and string interpolation.
* Renamed badly named property.
* Improved code cloning VMs by assigning new opaque_refs to cloned VBDs.
Compacted test object provider: use optional parameters instead of method overloads.
* Modifications to prevent multiple update of enabled state and ensure the wizard
buttons are updated last.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CA-303516: Cannot change dom0 memory via XenCenter.
Allowing the user to proceed (not set the value and min/max to 0.0GB) even if the memory static min and max is in the wrong order.
Adding further detail to the error message in case an out of bounds value is sent to the API which could potentially happen due to the range widening that occurs if the min/max would invalidate the existing value.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
- Corrected folder selection; reduced clicks required to select folders;
improved text; added delete button.
- Moved FolderChangeDialogTreeView to the same folder as the other TreeViews;
- Added missing null checks to the MutliSelectTreeView and hid properties
HScrollPos and VScrollPos from VS's designer (the former was initialised
to zero every time the designer was updated, causing the treeview images
to disappear).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Stepping up the PercentageComplete manually is not required as PollToCompletion is doing this for us already.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
This fixes the bug in the Patching wizard, where the wizard does not show any error and does not notice the disconnection, so it is stuck in the Installing update phase.
The Patching wizard only uses the ApplyUpdateAction class, but I had also changed the ApplyPatchAction class to avoid similar problems in the RPU wizard, where this action is used to install the RPU hotfix during the prechecks.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also, simplified the logic selecting the single update when we leave the
SelectPatchPage so as to avoid ambiguities in which properties are to be set
and refactored the error handling methods to avoid duplicate checks and
provide the right error message (for example, the error message was misleading
for a non-existent path; or, the level of detail provided in the case of
invalid zip content was of lesser relevance to the user).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also, call the XenServerHealthCheckUpload in a using block; use the FileInfo.Open
method to open the zip file for upload.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
The changes included are:
- use a HttpClient object instead of HttpWebRequest
- use the same FileStream for all the chunk uploads
- retry the chunk upload if it fails (max three tries)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-14807: Delete OEM in ServerVersion
* CP-14807: Removing unused IgnorePatchAction and IgnoreServerAction classes (moving their constants to the Updates class).
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
* Correct out of range percentage and throw an assertion instead of silently
logging it so we can fix the causes of it. Compacted method logic.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Exception handling: prevent InvalidOperationException if the health check service
is not found on the computer (installation is optional).
Do not throw exception and handle if the task handle is invalid, but rather
throw it only for other cases of task.status being failure.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
do not show the upsell dialog; the user should be able to move the VDIs without
having to detach them first.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
1. Update the duplicated shortcuts on CPU&Mem Page
2. Default radio boxes invisible
3. Move hardcoded logic to VM.cs
4. BIOS boot should be always enabled
5. Move radio boxes to Installation Media page
6. Extract radio boxes as a user control
7. Update summary
Signed-off-by: Tim Liu <tim.liu@citrix.com>
* CA-293813: Patch pools in parallel when installing a single update/patch or supplemental package.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Corrections as per code review.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Show ellipsis on the join/leave button since it launches a dialog requirng user input.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
with references to the connection; pool or master can be resolved from the
latter. This among others prevents the AD page from crashing when the master
and the pool change after master's entering maintenance mode.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Also add a sleep to try and avoid getting a VDI_IN_USE exception when deleting the VDI after the upload failed or has been cancelled by the user
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
include the VM's name in the message to help the user identify it.
Also, we have more instances of "shut down" than "shutdown".
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
for both fully and partially attached SR. For ely and above the SR needs to
be visible from master, while for earlier versions we pick a list of a SRs
to cover all hosts.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
explicitly what the actions do. The previous description "updating" could be
confusing when seen out of context amidst other actions on the events page,
because updating also refers to server patching.
if they fail the user has no indication an error occurred.
Also, simplified the logging and error handling within the action body: failures
are logged anyway by the base class, so no special handling is necessary.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
are set unless the new value is actually different. Small efficiency improvements
to the DownloadPatch action and plan action.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
An exception is thrown by the ProcessXml function if the result is an empty string, which is the case when the action is run with the RbacCollectorProxy to collect the API calls
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added an action for the API call that retrieves the WLB VM recommendations
- removed the thread used for updating the menu items, so that we always access the menu items on the UI thread and do only the server calls on separate threads (for WLB, getting the recommendations now is done on the new action, for non-WLB we have the `workerQueueWithoutWlb`)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-287857: judge if the status of pifOnMaster before enable SR-IOV
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
* fix some comments
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
* fix comments
* fix comments
* CA-287856: Add new API calls and update SR repair
* CA-287856: changed setIscsiIQN and added try/catch
* CA-287856: correct method
* CA-287856: add else
- use the plan action's ProgressDescription property to display the steps in RestartHostPlanAction (evacuate host, reboot host, bring babies back);
- the plan action should not be visible if the restart is skipped;
- The change to the DownloadAndUnzipXenServerPatchAction is to ensure that the download progress description is updated on the wizard with the correct description (in automated updates mode, via DownloadPatchPlanAction); DownloadPatchPlanAction is using the ActionChanged event to update its description based on the action's DownloadProgressDescription property, but the ActionChanged event is called when the PercentComplete is updated, so this needs to happen after DownloadProgressDescription has been updated.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Move the scan for HBA devices after the Provisioning page
- Fix the device-config for HBA (removed uri)
- Add probe_ext in FibreChannelProbeAction and the method to process the result
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-286458: Fix latestcr XC requirement when apply CR update
Using minimum_xc_version attribute in xenserver version to
determine which xencenter version is required.
* CA-286458: change MinimumXcVersion type to Version
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CA-286342: SRIOV should be enabled on master when 2 NICs are not the same type
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
* set the ExpectDisruption as false after action finished
* CP-26363: Display the remaining VF numbers in NIC TabPage
* correct the link status of Networking TabPage
* show the warning when creating SR-IOV network
* fix some comments
* modify the action
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
* update the XenAPI according to the Jason-RPC
* CP-26362: Enable create SR-IOV network
* fix review comments
* fix the judgement on SR-IOV details page
* disable the finish button
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
* CA-284226: Reduce unnecessary CanExecute() calls.
* CA-284226: Optimize the performance of menu Migrate to Server and Start on Server.
* Fix an error in updating Migrate menu with WLB, which lead to crash.
* Clear the worker queue when menu is closed.
Signed-off-by: Michael Zhao <michael.zhao@citrix.com>
* Fix comments.
* CA-274082: Check status of SR uploaded updates during update installation
* fix review comments
Signed-off-by: Jisheng Xing <jisheng.xing@citrix.com>
it's obvious what it is. The Session's uuid will be deprecated from the API bindings.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This fixes the error thrown when importing templates with XenCenter 7.3 on servers earlier than 7.2
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When configuring the IP address on the cluster network, we need to temporarily unplug all GFS2 SRs and disable clustering.
This commit also includes a fix to the action progress calculation.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When trying to import a default template from xva, xapi notices that it is a default template, finds an existing one on the host and returns that one.
With these changes, XenCenter handles this case and displays an error, instead of waiting for the returned VM to be linked to the import task (which never happens).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CP-24412: Apply a filter before adding USBs to candidate list in Attach Dialog.
* CP-24333: Apply HA restraint.
* CP-24412: Fix a merge error.
* CP-24412: implement actions to attach/detach/passthrough.
* CP-24412: Add license check before making UI components visible.
* CP-24412: Change layout of new components to Dpi.
* Fixed all comments.
* Fix comments.
* fixed comments
server time (previously on the UI thread) and also update the message list
for each snapshot schedule. Preserve column sorting and multiple selection
when the list is rebuilt. Do not enforce minimum size on the form since it
is not resizable.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
it's not needed as it does not make server calls. Some more refactoring and corrections
here and there.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
CUs are available as both updates and upgrades, but they should be presented as updates where possible.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-249823 - Accept zip files in Updates Wizard
* CA-258326 - Improve implementation of CA-248823(Accept zip files in Updates Wizard)
* Small unrelated bugfix: Stop selectFromDiskRadioButton being checked when
restoring dismissed updates.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
- Add an empty string (instead of 'null') if the IP address is null
- Only include the XC uptime in the SSR produced in XenCenter
- Also changed the name of the metadata file that is included in the SSR
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- 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>
* 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>
- 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>