Commit Graph

321 Commits

Author SHA1 Message Date
Konstantina Chremmou
ada6f7dac7 CA-296490: Upload single update to multiple pools in parallel. (#2338)
* 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>
2019-01-10 13:24:42 +00:00
Mihaela Stoica
42054964cd
Merge pull request #2361 from xenserver/feature/REQ-396
Merge feature/REQ-396 to master
2019-01-08 10:48:36 +00:00
Konstantina Chremmou
01369b4af1 Merge remote-tracking branch 'upstream/master' into feature/REQ-715
# Conflicts:
#	XenAdmin/MainWindow.cs
#	XenModel/InvisibleMessages.Designer.cs
2019-01-04 18:21:55 +00:00
Mihaela Stoica
d90340efbe CP-30251: Check version number to determine feature availability.
- In the New VM wizard, the boot mode control is only visible for Naples or greater hosts
- In the Import wizard, I had moved the boot mode options to a separate page, added after the target selection page, to allow the version check. The new "Boot options" page is only added for Naples or greater hosts.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-12-18 15:44:23 +00:00
Mihaela Stoica
703630ea36 Merge remote-tracking branch 'upstream/master' into feature/REQ-396
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

# Conflicts:
#	XenAdmin/Alerts/Types/MessageAlert.cs
#	XenModel/XenAPI/Message.cs
#	XenModel/XenAPI/VM.cs
2018-12-12 16:02:03 +00:00
Konstantina Chremmou
16c88cc7b7 CA-302791: Rewrote the ChangeFolder dialog to fix usability issues.
- 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>
2018-11-26 10:29:39 +00:00
Konstantina Chremmou
3f64c26d87 Added .vs and .vscode to .gitignore. Reverted control subtype change introduced
inadvertently with commit c1256c7734 before the
issue was fixed in commit 2a575b01a5.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-11-13 11:08:10 +00:00
Konstantina Chremmou
2a575b01a5 Fixed issue whereby VS kept toggling between SubType Component and User Control
for some custom controls.

In the case of DoubleBufferedPanel I removed the Designer attributes from
the class definition.
In the case of the EnableableComboBoxEditingControl I moved it to a new
file because the other classes it was sharing the old file with did not
derive from Component.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-11-09 16:23:29 +00:00
Konstantina Chremmou
c1256c7734 Removed redundant code from GradientPanel and made it more object oriented;
also moved it out of the containing folder as it was its only resident.
Corrected the TitleBar fore colour as it was hard to read due to small contrast
with the bar's backround colour; normalised the code setting the other colours
so it's more unambiguous.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-11-09 16:20:52 +00:00
Aaron Robson
6353043b15 CP-27819: Switch to Visual Studio 2017 (into master) (#2305)
* CP-27819: Manually setting the ToolsVersion to 15.0 (VS2017) in all .csproj files for consistency and to attempt to enforce consistency of dev environments with the explicitness of the msbuild scripts as used in the build environments.
Auto updated as many of the .sln and .csproj files as VS2017 was willing to do https://docs.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2017 and included changes to the gitignore to ensure that the update report and backup files are not included in the repo.

* CP-27819: Tidying up by removing FileUpgradeFlags, OldToolsVersion and UpgradeBackupLocation nodes from the .csproj files as they are produced as hints for how to revert project upgrades for which we can use version control.

* CP-27819: Removing redundant "ManifestCertificateThumbprint" and "ManifestTimestampUrl" nodes from project files "mk\sign.bat" has been used for this purpose for some time now.

* CP-27819: Updated readme to reflect that VS2017 is now in use.

Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
2018-11-09 11:23:32 +00:00
Konstantina Chremmou
5b79b1dc94 Removed the label from the SrPicker because in half of the occasions it was
hidden and in all other cases it was set by the implementing control, i.e.
the label was not reusable, hence no reason to have it in the control and risk
layout issues. This means that the SrPicker does not need to be a control
encapsulating a CustomTreeVIew, but simply derive from the latter.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-24 12:49:31 +01:00
Aaron Robson
525034d233 CP-14807: Delete OEM in ServerVersion (#2270)
* 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>
2018-10-22 14:34:31 +01:00
Konstantina Chremmou
e8ff04d671 Removed HostMaintenanceModeCheck; simplified logic by having the HostLivenessCheck
verify, if required, whether the host is enabled.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-22 14:23:29 +01:00
Aaron Robson
fbb8864a51
Merge pull request #2276 from xenserver/master
Merge master into feature branch
2018-10-18 15:08:54 +01:00
Konstantina Chremmou
2b9bc8e3b6 Renamed resource to fix Visual Studio warning. Stop copying stray images into
the build output folder and removed one of them as it's now unused. Included
some left out images into the project. Updated README.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-15 09:44:06 +01:00
Ji Jiang
6a421173cc CP-29276: Implement update/supp pack application in RPU wizard
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-10-08 12:32:01 +01:00
Ji Jiang
c31778c3fe CA-298913 CA-297215: Fix restartHost and restartXapi bugs after patching
With this change, following are working:
1) After applying XS75E003-5 only restart host, no restart toolstack
2) After applying vGPU driver on 7.4, restart host happens

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-10-05 15:45:05 +01:00
Konstantina Chremmou
cf49ee9063 CA-299064: Fixed wrong image size and tooltip typo.
Also, removed unnecessary comments from index.html because they were making
the file illegible. Included new logo in the project file.
Added localised html files so we can generate the mht files from them
(localisation should not happen in the mht files, but rather in the source html).

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-10-04 10:17:37 +01:00
Aaron Robson
a36d16ebcd CP-29474: Use online help (#2229)
* Using web help instead of local Proof of Concept working.
Please note that some of the HelpIDs in the HelpManager had a mapping to the web page name.
Some are not used anymore, but they should be checked.

* Removing the help files (.chm) from the project, will require changes to the installer scripts.

* Setting the locale in the HELP_URL.

Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
2018-09-25 16:31:31 +01:00
Konstantina Chremmou
04b37092a6 CA-297020: Do not download imported appliance on a modal dialog (#2200)
* CA-297020: Do not download imported appliance on a modal dialog, but rather
asynchronously on the ImportSourcePage, so that the rest of XenCenter is usable
while the download is taking place; used the page's progress bar for this purpose
and removed the DownloadApplianceDialog.

* Corrections to the validation of the import source.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-09-14 15:55:05 +01:00
Konstantina Chremmou
a1033de3a4
Merge pull request #2206 from xenserver/master
Merging from master into feature/REQ-396 to fix broken tests
2018-08-29 15:17:44 +01:00
Tim Liu
f0b1e6b3af CP-28676: XC: Allow choosing boot options during new VM wizard
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>
2018-08-28 12:46:36 +01:00
Konstantina Chremmou
b36534c157 CA-293813: Patch pools in parallel when installing a single update/patch or supplemental package. (#2183)
* 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>
2018-08-17 12:05:16 +01:00
Konstantina Chremmou
6885c21b5e Removed unnecessary control VMMemoryControlsBase and moved the logic of the VMs
property to the derived classes (they don't share much of it anyway) and the method
CalcMemoryUsed to the VMShinyBar class where it is needed. Also made the latter's
property Increment non-browsable.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-08-17 08:23:04 +01:00
Konstantina Chremmou
c67f85ebaa CA-210190: Fixed various layout and truncation issues on the VM/template memory
setting controls. Also removed the various types of ballooning dialogs since
the only thing changing was the contained memory settings control.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-08-17 08:23:04 +01:00
Mihaela Stoica
8b2ab5f79d Removed some unused classes and messages
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-08-16 11:38:34 +01:00
Konstantina Chremmou
c8c2ea448a CA-156828: Do not uncompress imported appliance on a modal dialog, but rather
asynchronously on the SelectImportSourcePage, so that the rest of XenCenter
is usable while the unzip is taking place; for this purpose a progress bar
was added on the page and the DecompressApplianceDialog was removed.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-08-16 10:59:35 +01:00
Mihaela Stoica
8230315f76 CA-286882: Shutting down large number of VMs causes XenCenter to hang
Created a new base class for the Notifications pages (Alerts, Updates, Events). This can be used in the future to host more of the common code between these pages. For now, it implements a common mechanism for showing/hiding the page and ensures that the event handlers are deregistered when the page is hidden (i.e. when the user switches to a different view) and registered again when the page becomes visible

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-08-13 17:18:53 +01:00
Mihaela Stoica
9accb3c69f Merge branch 'master' into REQ-672
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

# Conflicts:
#	XenAdmin/Wizards/RollingUpgradeWizard/RollingUpgradeWizardPrecheckPage.cs
#	XenAdmin/XenAdmin.csproj
2018-07-13 13:14:36 +01:00
serencorbett1
63d09dd117 CP-28431: Block updates/upgrades from Kolkata if clustering enabled (#2124)
* CP-28431: Block updates and upgrades from Kolkata onwards if clustering enabled
* CP-28431: Rename files and change from Pool Check to [Host] Check
* CP-28431: Change description message

Signed-off-by: Seren Corbett <seren.corbett@citrix.com>
2018-07-09 10:59:09 +01:00
Konstantina Chremmou
6b2a9c3944 CA-293153: Moved the logic calculating the resolved precheck actions to be
reverted to the new class UpdateUpgradeWizard which serves as base for the
Patching and the RPU wizards. Pass the list of resolved problems to the
automated updates page and not the actions, so as to prevent premature (i.e.
on creation as opposed to on start) addition to the global list shown on
the Events page.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-07-02 17:37:52 +01:00
Ji Jiang
2edacbf43f CA-293092: Add HostCheck class to fix check.Host null exception
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-29 14:27:10 +01:00
Konstantina Chremmou
d3f761b070 Reworked the logging for the plan actions. (#2109)
* Deprecate set but unused Status property in favour of ProgressDescription.
* Deprecate set but unused TitlePlan property.
* Deprecated property Title in favour of ProgressDescription.
* Removed unused plan RebootHostPlanAction.
* Updated event declaration.
* Removed property Visible. The plan is to have the actions log their history as soon as some is available.
* Reworked the logging for the plan actions. The main change is the replacement of
the ProgressDescription with a stack where all the steps of an action are stored,
i.e. the action is responsible for its history, not the worker running it.
* Lock the progress history before accessing it.
* Better handling of error logging and user cancellation.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-26 14:04:51 +01:00
Ji Jiang
41e358a8fa CP-28583: Remove host-level selection in Update wizard
1) Always pool level selection of hosts, except uploading sup pack file
from disk.
2) Revert homogeneity precheck change recently. It won't happen in new version
update any more.
3) User can never update slaves to a higher version than master, so delete
master_version_not_compatible_problem.

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-26 12:45:59 +01:00
Mihaela Stoica
a99ae50f57 CP-28279: Change the upgrade page of the RPU wizard to inherit from the class AutomatedUpdatesBasePage
- Methods have been added to the base class to deal with the manual upgrade mode

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-25 11:31:18 +01:00
Konstantina Chremmou
907e991745 Renamed file to match class name.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-06-22 17:40:53 +01:00
Ji Jiang
6d070d3cfc CP-28425: Add automated updates license precheck in RPU wizard
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-22 17:20:11 +01:00
Ji Jiang
9ae8340913 CP-28280: Add CFU availability precheck to RPU wizard
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-22 12:02:19 +01:00
Mihaela Stoica
73f6ebdf5c CP-28279: Add a base class for Automated Updates (this will be later used for the RPU as well)
The base class contains all the code for creating and starting the background workers, displaying the progress of the actions, handling failures and retries.
The derived classes override the property for label at the top of the page and the method that generates the plan actions.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-06-20 11:15:35 +01:00
Joey
abe97def1e CP-28286: Support resume from a partially upgraded pool via Update wi… (#2095)
* CP-28286: Support resume from a partially upgraded pool via Update wizard

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>

* CP-28286: Fix comments of the previous commit

Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
2018-06-18 10:46:41 +01:00
Mihaela Stoica
cab6a051b8 Merge branch 'REQ-477' into master
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

# Conflicts:
#	XenModel/XenAPI/PCI.cs
#	XenModel/XenModel.csproj
2018-04-04 09:59:29 +01:00
Konstantina Chremmou
4452318d1d Moved the classes FibreChannelDevice and FibreChannelProbeParsing to XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-04-03 11:24:40 +01:00
jishengx
b2c74ff261 CP-25982: add wizard to enable SR-IOV network (#1887) 2018-03-23 14:24:10 +08:00
Mihaela Stoica
f7b27ec222
Merge pull request #1994 from xenserver/REQ-477
Merge REQ-477 into master
2018-03-19 13:23:19 +00:00
Konstantina Chremmou
d69f2ddda3 Enforce treating warnings as errors in Debug mode too as it is going to save
us a lot of broken builds. Fixed bug where the HostPlanAction.CurrentHost was
always null (as the private field was never set).

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-09 11:22:26 +00:00
Konstantina Chremmou
4b6e826ed3 CA-284125: Prioritise a pending host restart over a mandatory toolstack restart.
For this purpose, the evacuate-reboot-bringbabiesback triplet was replaced by a
new RestartHostPlanAction, which allows fallback to toolstack restart if live
patching has succeeded. Also, created new abstract class HostPlanAction to
reduce code duplication.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2018-03-06 15:12:04 +00:00
Mihaela Stoica
ff05fb698c Merge remote-tracking branch 'upstream/master' into REQ-477
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

# Conflicts:
#	XenModel/XenAPI/Auth.cs
#	XenModel/XenAPI/Blob.cs
#	XenModel/XenAPI/Bond.cs
#	XenModel/XenAPI/Console.cs
#	XenModel/XenAPI/Converters.cs
#	XenModel/XenAPI/Crashdump.cs
#	XenModel/XenAPI/DR_task.cs
#	XenModel/XenAPI/Event.cs
#	XenModel/XenAPI/Feature.cs
#	XenModel/XenAPI/GPU_group.cs
#	XenModel/XenAPI/Host.cs
#	XenModel/XenAPI/Host_cpu.cs
#	XenModel/XenAPI/Host_crashdump.cs
#	XenModel/XenAPI/Host_metrics.cs
#	XenModel/XenAPI/Host_patch.cs
#	XenModel/XenAPI/JsonRpcClient.cs
#	XenModel/XenAPI/LVHD.cs
#	XenModel/XenAPI/Maps.cs
#	XenModel/XenAPI/Message.cs
#	XenModel/XenAPI/Network.cs
#	XenModel/XenAPI/PBD.cs
#	XenModel/XenAPI/PCI.cs
#	XenModel/XenAPI/PGPU.cs
#	XenModel/XenAPI/PIF.cs
#	XenModel/XenAPI/PIF_metrics.cs
#	XenModel/XenAPI/PUSB.cs
#	XenModel/XenAPI/PVS_cache_storage.cs
#	XenModel/XenAPI/PVS_proxy.cs
#	XenModel/XenAPI/PVS_server.cs
#	XenModel/XenAPI/PVS_site.cs
#	XenModel/XenAPI/Pool.cs
#	XenModel/XenAPI/Pool_patch.cs
#	XenModel/XenAPI/Pool_update.cs
#	XenModel/XenAPI/Role.cs
#	XenModel/XenAPI/SDN_controller.cs
#	XenModel/XenAPI/SM.cs
#	XenModel/XenAPI/SR.cs
#	XenModel/XenAPI/Secret.cs
#	XenModel/XenAPI/Session.cs
#	XenModel/XenAPI/Subject.cs
#	XenModel/XenAPI/Task.cs
#	XenModel/XenAPI/Tunnel.cs
#	XenModel/XenAPI/USB_group.cs
#	XenModel/XenAPI/User.cs
#	XenModel/XenAPI/VBD.cs
#	XenModel/XenAPI/VBD_metrics.cs
#	XenModel/XenAPI/VDI.cs
#	XenModel/XenAPI/VGPU.cs
#	XenModel/XenAPI/VGPU_type.cs
#	XenModel/XenAPI/VIF.cs
#	XenModel/XenAPI/VIF_metrics.cs
#	XenModel/XenAPI/VLAN.cs
#	XenModel/XenAPI/VM.cs
#	XenModel/XenAPI/VMPP.cs
#	XenModel/XenAPI/VMSS.cs
#	XenModel/XenAPI/VM_appliance.cs
#	XenModel/XenAPI/VM_guest_metrics.cs
#	XenModel/XenAPI/VM_metrics.cs
#	XenModel/XenAPI/VTPM.cs
#	XenModel/XenAPI/VUSB.cs
#	XenModel/XenModel.csproj
2018-02-27 17:42:18 +00:00
Mihaela Stoica
babf201d2a CA-276678: Add "Buy licenses" link in the patching wizard when the precheck fails with license restriction
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-01-19 13:11:00 +00:00
Mihaela Stoica
5fb9709b8a Merge master into REQ-477
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>

# Conflicts:
#	XenModel/FriendlyNames.resx
#	XenModel/Messages.resx
#	XenModel/XenAPI/ApiVersion.cs
2018-01-15 14:41:40 +00:00
Mihaela Stoica
6cefd4d202 CA-276976: Add a new precheck in the Update Wizard
- The new "server selection" precheck is added for Inverness or greater pools and checks if all the servers in the pool are selected (if update not already applied) when applying an update that has the "enforce-homogeneity" flag set to true

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2018-01-12 14:34:50 +00:00