Commit Graph

619 Commits

Author SHA1 Message Date
Konstantina Chremmou
0598e6342d Merge remote-tracking branch 'upstream/master' into feature/REQ-797 2021-01-19 11:01:02 +00:00
Konstantina Chremmou
9a5c664eb0 CA-350574: Corrections to signing an appliance.
Also, removed listing of CryptoServiceProviders from the settings.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2021-01-12 12:14:31 +00:00
Konstantina Chremmou
501cca2ffb CA-350410: Ensure we set the certificate before checking it's null.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2021-01-04 16:23:11 +00:00
Konstantina Chremmou
542a329a27 Fixed failure to start a VM after it was imported as an XVA package.
Regression introduced by the changes for CA-64500. Since we initiate a VMStartAction
we need to ensure that the VM object passed to the action has a non-null Connection.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-18 01:34:25 +00:00
Konstantina Chremmou
1c4178c7fe CA-347480: Improved ability to cancel an import/export while compressing/uncompressing the files, or packaging into/extracting from an OVA file.
Also, remove another couple of unused methods from the OVF class.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-18 01:34:25 +00:00
Konstantina Chremmou
e325548a75 CA-349836: Reworked handling of manifest and signature for appliance import/export.
- Moved the code to the ExportApplianceAction so it's easier to modify the
  action's description.
- Fixed issue where the user's option for adding signature/manifest to a plain
  OVF package was ignored.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-18 01:34:25 +00:00
Konstantina Chremmou
8d004401fb CA-343280: Removed metadata entry.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-07 15:57:26 +00:00
Konstantina Chremmou
3e0d982631 CA-347849: No need to keep track of the VIF.device numbers across all VMs of the imported appliance.
Reset to 0 for each VM.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-07 15:57:00 +00:00
Konstantina Chremmou
84d0a2b8ae Bad application of the code reusability principle in VMDestroyAction.
Destroying a VM does not disrupt the connection, hence the use of the BestEffort
method is not warranted. After this correction, BestEffort is only used in the
DestroyedBondAction, hence I removed it completely and replaced it with simpler
exception handling in the latter class's Run method.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-03 14:56:11 +00:00
Konstantina Chremmou
94024f99a9 CA-347481: Clean up the disks of the destroyed VM if import is interrupted due to cancellation or failure.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-03 14:55:38 +00:00
Konstantina Chremmou
2469c947c9 Increased precision in displaying progress of transferred disk data.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-01 12:07:13 +00:00
Konstantina Chremmou
719d6b5e45 CA-347487: Fixed error formatting.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-01 12:07:13 +00:00
Konstantina Chremmou
07ae413e15 CA-349194: Prevent crash when initialising a disk image import.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-01 11:03:49 +00:00
Konstantina Chremmou
d7512d14c7 CA-347479: Added more cancellation points.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-12-01 11:03:49 +00:00
Konstantina Chremmou
80119e9411 CP-15790: Implementation improvement aimed to make manual testing easier.
- Ensure we read the updates.xml location anew from the registry, otherwise the
application has to be relaunched to pick a registry change. Look in both hives
HKCU and HKLM. To avoid performance impact on the UI, move the operation into
the action's Run() body.
- Some refactoring to improve OOP design and fix XmlReader leak.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-11-12 11:04:33 +00:00
Konstantina Chremmou
c1375c51ed CA-347407: Handle exceptions when failing to unprotect saved proxy credentials.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-11-03 11:34:06 +00:00
Konstantina Chremmou
fbb25c7970 Minor modifications to task polling:
- Consolidated Action.PollToCompletion overloads, among others, to reduce precision loss.
- Logging the environment's stack trace is not very useful in the case of an API failure.
- Log the task's opaque_ref so it's easier to trace errors in the server side logs.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 15:02:31 +01:00
Konstantina Chremmou
e895bc4168 CA-339353: SrProbeAction should run its RBAC checks explicitly instead of inheriting from PureAsyncAction.
The fix for CA-337280 moved the parsing of the probe result in the Run body of
the action, causing it to fail when the dry-run for the RBAC checks is performed.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 15:02:31 +01:00
Konstantina Chremmou
4f564979e1 CA-345349: Verify the exported disk using DiscUtils and fail the whole export if one disk export failure occurs.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 14:34:15 +01:00
Konstantina Chremmou
d23c40c543 CA-324350: When the OVF files are compressed, create manifest and signature on the final package after the compression.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 14:34:15 +01:00
Konstantina Chremmou
f24a81bd28 CA-89896: Enabled cancellation during OVA packaging/extraction and file compression/decompression.
Also removed some more unused methods.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 14:34:15 +01:00
Konstantina Chremmou
38c88b5692 CA-64500: Offer the option to start the vApp or VM automatically after an OVF/OVA import.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-13 14:34:15 +01:00
Konstantina Chremmou
1e6197022e
CA-339233: Do not allow selection of networks while they're locked. (#2733)
* Hid properties from the designer and renamed them because they give the wrong impression.
* Fixed some inefficiencies around the NetworkComboboxItem.
- Move NetworkComboBoxItem into the NetworkComboBox class.
- Moved XenAdmin.Dialogs.NetworkComboBoxItem into the VIFDialog class and made it
  private to avoid ambiguousness with the public XenAdmin.Controls.NetworkComboBox.NetworkComboboxItem.
- Create a NetworkComboBoxItem only if needed and assign its name at construction time.
- Add method to select a NetworkComboBoxItem and property to return the SelectedNetwork.
* CA-339233: Do not allow selection of networks while they're locked.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:34:03 +01:00
Konstantina Chremmou
6f44821e40 Import refactoring 4: Simplifications and corrections, including:
- Improvements to progress reporting (CA-65894).
- Added some logging.
- Use the connection cache instead of making server calls.
- Moved some methods to the string utilities and added unit tests.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:22:33 +01:00
Konstantina Chremmou
42b06251bc Export refactoring 4: Some improvements to progress reporting (CA-65894). Added some logging.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:22:33 +01:00
Konstantina Chremmou
23892df15d Moved the OVF actions to XenModel and removed what was left from XenOvfTransport.
Previously this was not possible due to XenModel-XenOvfTransport cyclical references.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:22:33 +01:00
Konstantina Chremmou
bf9f5b1308 Ensure all the CommandLib classes are defined in this namespace so as to avoid conflicts with homonymous classes from other namespaces.
- Automatic indentation fix as a consequence.
- Use proper xml doc for the various methods and classes.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:22:33 +01:00
Konstantina Chremmou
e3d6db3a80 Removed support for long retired XVA v1 packages.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-07 13:22:33 +01:00
Konstantina Chremmou
d93e40065a Various fixes on the EvacuateHostDialog (includes CA-292642, CA-284126, CP-34862).
- CP-34862: Do not allow nomination of new master if a pool secret rotation or
  other pool operations are in progress.
- CA-292642: Fixed button enablement after resolving VM problem.
- CA-284126: Added button to rescan running VMs on the server.
- Removed annoying, focus stealing, modal action progress dialog. When scanning
  for VMs show a spinner on the control instead.
- Fixed crash when the host combobox was updated due to cache changes.
- Logging in an elevated session was happening on the UI thread.
- Show the role elevation dialog before launching the host evacuation dialog or
  we end up with showing the user an unpopulated control.
- Stop deriving from animated progress dialog because it makes it difficult to
  get the resizing right when adding more controls.
- Stop using the progress bar for the VM solution actions; rely simply on the
  action's description and the VM's icon in the gridView.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-10-06 11:27:32 +01:00
Konstantina Chremmou
e3896239df CA-339305: XenCenter was hanging when update alerts were removed very fast, and other issues:
- Use a plain list to store update alerts and, where possible, fire a collection
  change event only after a bulk change and not every time a single object is added
  or removed.
- Fixed issue where dismissed updates were stored in the config of all connected
  pools, even of those where the update did not apply.
- Corrected RBAC checks for update dismissal.
- Fixed enabled state of dismiss buttons.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-08-21 16:08:20 +01:00
Konstantina Chremmou
2e66ec9133 Merge remote-tracking branch 'upstream/master' into feature/REQ-819
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

# Conflicts:
#	XenAdmin/Dialogs/OptionsPages/SecurityOptionsPage.cs
2020-08-11 13:35:39 +01:00
Konstantina Chremmou
c244d8d4db CA-339584: Include CD VDI in the storage mapping for intra-pool migration
Also: removed unused method; some property modernisation; removed class
LiveMigrateOptionsVmMapping which was rather complicating things.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-08-11 08:46:42 +01:00
Konstantina Chremmou
e30ea433c7 Refactoring to simplify the code and make calculations more efficient:
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>
2020-07-30 10:42:20 +01:00
Konstantina Chremmou
9d7cf72c78 CP-33781: Added admin exit procedure warnings.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-07-17 16:04:10 +01:00
Konstantina Chremmou
f3c5e74dae CP-33892: Audited the use of First() and replaced with FirstOrDefault() where appropriate.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-06-25 11:17:11 +01:00
Konstantina Chremmou
db041099ef CA-339271: Improved action description. Also:
Added cancelling ability to MoveVM action; made some simplifications.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-06-19 14:04:59 +01:00
Konstantina Chremmou
acd3094b48 CA-314005: Proceed to setting the memory if the issued shutdown has been interrupted by a different shutdown task.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-06-10 23:48:54 +01:00
Konstantina Chremmou
c9449b9914 CP-33153: Added friendly title and description for GFS2_CAPACITY alert. Corrected scan action description.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-06-05 11:50:49 +01:00
Konstantina Chremmou
ec7fc14c18 Typo.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-06-05 11:48:54 +01:00
Konstantina Chremmou
4f4217a2b1 CA-339685: Corrected calculation of completion percentage and added checks for division by zero.
Also, some simplifications and removal of unused variables and fields.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-05-22 00:25:56 +01:00
Konstantina Chremmou
64aa4e730b CA-339237: Show more information in XenCenter's logs on why a patch or update may have failed to apply.
Also, ensure the Failure.ErrorDescription property is always initialised.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-05-22 00:19:40 +01:00
Konstantina Chremmou
166fe0ecc5 CA-333443: Use the master's address instead of the connection name when joining a pool.
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>
2020-05-19 23:03:45 +01:00
Konstantina Chremmou
8a478011d9 CA-339370: Assign the new VM's name at a late stage to reduce duplicate names. Some simplifications.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-05-19 07:49:23 +01:00
Konstantina Chremmou
d1c9e7ddd1 CA-337323: Attempt finding the right owning form for the RoleElevation dialog. Also:
- 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>
2020-05-04 14:30:24 +01:00
Konstantina Chremmou
8d6686b63f CA-337280: Creation of GFS2 SRs with CHAP authentication is not supported.
This is also a better fix for CA-335356.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-05-01 15:27:18 +01:00
Konstantina Chremmou
436ffe4a37 CA-338003: The action's Sessions is set once the action has started to run. Added missing help references.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-04-27 10:36:51 +01:00
Konstantina Chremmou
17b6c28978 Merged master into feature/REQ-453 and resolved conflicts.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>

# Conflicts:
#	XenAdminTests/UnitTests/TimeUtilTests.cs
#	XenCenterLib/TimeUtil.cs
2020-04-26 04:11:14 +01:00
Konstantina Chremmou
0188fdc69b Corrections as per code review.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-04-08 13:55:35 +01:00
Konstantina Chremmou
e9acde0b64 Try handling a connection interruption.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-04-08 13:55:35 +01:00
Konstantina Chremmou
8fc258420d CP-32699: New dialog for certificate installation on a server.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2020-04-08 13:55:35 +01:00