Commit Graph

146 Commits

Author SHA1 Message Date
mcintyre94
dd42394a25 CP-16922: Implement GUI for enabling PVS read caching (#1179)
* CP-16922: UI changes to PvsPage to replace the single configure button with a separate enable and disable one, per the design doc

* CP-16922: Intermediate checkin - command + dialog implemented, but PVS page has some layout problems.

* CP-16922:  Implement GUI for enabling PVS read caching and marking/unmarking VMs for prepopulation

Fix the broken layout by reverting MainWindow.resx (which shouldn't have changed) back to the previous commit. Also removed duplicate properties button code.

*  CP-16922: PVS Page changes, to properly display all VMs (not just ones with proxy), only populating proxy columns if there is a proxy set.

* CP-16922: Use a CommandButton for the enable button, connected to the same command as the VM main menu button, and using the table selection as its selection manager.

* CP-16922: Delete the old enable button click behaviour (because it now has a proper command), was causing the dialog to show up twice

* CP-16922: Properly list VMs by hiding those that should be hidden (in addition to non-VMs, also hide the __gui__ prefix and others covered by Show function). Also fixes a bug in NewVMGroupVMsPage discovered when fixing this - it would show VMs that should be hidden if you used the search bar.


* CP-16922: Use ButtonText on the Command to set the text on the PVS enable button

* CP-16922: Add the disable PVS read-caching command, and its associated proxy destroy action. Both based off enable equivalents (main difference is no dialog for now). Not used yet but will be in main window menu + disable button

* CP-16922: Add disable PVS read-caching to the main window menu (under enable), with the disable command attached to it


* CP-16922: Add support for disabling PVS read-caching for selected hosts via the PVS tab page by converting the disable button into a CommandButton in the same way as the enable button, using its own command + selection manager (because Selection Managers only bind to one control)

* CP-16922: Design - adding the "read caching enabled" column from the design, so that we display both whether caching is enabled and whether the VM is currently cached. If it's disabled all other values are missing.


* CP-16922: Add the PVS site column per the design to show the site a VM's PVS Proxy is on if it has a proxy


* CP-16922: Add an event handler for VMs changing so that newly provisioned VMs immediately show up in the PVS tab page


* CP-16922: Support for properly remembering the selection when the VM list is refreshed. A new method returns the list of VMs for the selected rows, and we can then check if the VM for the row being added is in this list. If there was no previous selection then we still select the first row by default.


* CP-16922: Remove prepopulate, which is being removed from the design. The next XAPI version will remove it, so just pass False as prepopulate for now, and remove the option from the dialog and PVS tab page.


* CP-16922: Improve UI appearance for a missing Storage Repository. Per the design, if there is no SR show the message None (memory only) instead of an empty cell

* CP-16922: Improved sorting behaviour. All columns (except VM name, which always uses it) use the VM tag as a sorting fallback (since they all have duplicates). New default sort which sorts by caching enabled first (yes before no), and then VM tag as a tiebreaker. Support for remembering the current sort on refresh, ie when a value changes.

* CP-16922: Refactoring to use a VM extension method to get the PVSProxy (or null if none exists) for a VM. This was used in the PVS Page + commands which are now much simpler.


* CP-16922: Move where the SelectionChanged event handler is set when refreshing the PVS table, so that the command buttons are updated correctly.

* CP-16922: Improvements to PVS read-caching dialog. Set accept/cancel buttons properly + adjust tab values, so focus acts as expected


* CP-16922: Remove the images from the menu for Enable/Disable PVS read-caching, most commands in the menu don't have one

* CP-16922: Sorting out the strings for the actions + ParallelAction calls, and moving them into the resx. Also reverting wrong MainWindow.resx changes.

* CAR-2184: XAPI changes. I've made the minimal possible changes to PvsPage to ensure it compiles, but it's had a lot of feature work (CP-16922) that supersedes this, these small changes should keep that merge painless.


* CAR-2184 XAPI: Reverse the unrelated changes, only keep the PVS ones.

* CP-16922: Merge latest XAPI changes, notably changes to Pvs_site.create

* CP-16922: Change tab show/hide logic for PVS tab, show it even if there are no PVS sites.

* CP-16922: Implement GUI for enabling PVS read caching

Design changes - remove the storage repo column and replace it with status, which is populated with a friendly version of the pvs_proxy_status enum. Also populate site list using site.name_label

Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>

*  CP-16922: Implement GUI for enabling PVS read caching

Adjusting the CanExecute of Enable PVS read-caching command to require at least one PVS site to be created. Since the PVS tab can show up without any sites, we need this because we can't create a proxy without a site.

* CP-16922: Code review changes.

Tidied up messages, and ensured actions run async properly, and without exiting before their task.

* CP-16922: Code review changes.

Update dialog resx, wider combobox on dialog, update action descriptions before setting RelatedTask, add friendly message body for PVS error notifications.
2016-09-22 15:08:15 +01:00
Mihaela Stoica
72be4e1141 CP-16935: Configure Control domain memory for a host
- Added Control Domain memory entry in the host memory control on Memory tab.
- Control domain memory is editable for Ely and greater hosts.
- Can be changed from a dialog that requires host to be in maintenance mode and triggers a host reboot after the memory is changed.
- This dialog is available from Server main menu and from the host memory tab.
- Also removed unused unit controls on host and VM memory bars.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2016-08-09 14:50:04 +01:00
Konstantina Chremmou
04ffdbadc5 CP-17756: Do not use the field VM.is_control_domain to find the console for the
host as it applies to other control domains too. Use the new Host.control_domain
field instead. Minor refactoring.
2016-07-04 13:22:08 +01:00
Konstantina Chremmou
5dd2873b72 CP-17866: Grey out the "Move" button on the VM storage tab if the storage does not allow mirroring. 2016-06-24 18:10:22 +01:00
Gabor Apati-Nagy
e5146db172 CA-213232: Helpers.OEMName(Host host) can throw NullReferenceException
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2016-06-13 13:12:19 +01:00
Mihaela Stoica
c8620e978f CA-191315: Storage motion from XenCenter should no longer be blocked on WLB-enabled pools
The restriction that Storage Motion was not possible in the presence of WLB has been removed in Dundee. This commit removes the check in XenCenter.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-12-16 12:58:24 +00:00
Gabor Apati-Nagy
d79351a8f4 CA-187909: Special characters should be UrlEncoded on HTTP calls
A bit of refactoring

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-11-23 14:47:28 +00:00
Stephen Turner
b587ab832e CP-14647: Intermediate check-in #1 2015-11-08 11:27:56 +00:00
Gabor Apati-Nagy
3abedfe3bd CA-184521: Removed unnecessary code
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-10-06 17:26:45 +01:00
Gabor Apati-Nagy
ef02590008 CA-184521: On the Storage page of New VM wizard, the SR selection is ignored
Fixed code after code review
2015-10-06 15:56:36 +01:00
Gabor Apati-Nagy
80f855b981 CA-184521: On the Storage page of New VM wizard, the SR selection is ignored
Fixed issues where total initial allocation for an SR was not calculated correctly. Also some minor improvements.

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-10-06 14:04:36 +01:00
Carmen Agimof
34024a7427 Removes the extra line in the Disk Space Allocation Message in the General Tab.
Creates a new function MemorySizeStringSuitableUnits that takes one more parameter that specifies the units that must be used when the number of bytes is 0.
2015-09-17 13:24:21 +01:00
Carmen Agimof
78c80a7887 CA-181440: Adds text that explains the bounds of the incremental allocation in the Thin Provisioning Parameters Control. 2015-09-07 17:45:57 +01:00
Carmen Agimof
549067f2d0 CP - Refactors Provisioning page in SR wizards to use the new control for allocations.
Adds tab indexing to the control for allocation and changes label names.
Corrects mistake that led to exception being thrown when the Disk Size is decreased in the the New Disk Dialog.
2015-08-28 16:44:22 +01:00
Carmen Agimof
06b7b66357 CP-13174: Change units used for initial_allocation and allocation_quantum to MB or GB instead of percentages.
Changes allocation type from "dynamic" to "xlvhd".
2015-08-26 17:14:01 +01:00
Gabor Apati-Nagy
934bceed5d Refactored AllocationBounds struct in Helpers 2015-08-25 15:51:58 +01:00
Carmen Agimof
f96379a3b9 CP:13174: Changes the default value for the SR quantum allocation to be the maximum of the minimum value and SR size / 10 000 for the cases when the latter is smaller than the minimum. 2015-08-25 15:17:14 +01:00
Carmen Agimof
1bb49737b2 CP-13174: Creates helper functions in the Helpers class that calculate the limits and the default values of the Initial and Incremental allocation NumericUpDowns(SR and VDI levels). Creates a struct that holds the values of the min, max and default value. 2015-08-25 14:50:41 +01:00
Carmen Agimof
5acaeb4ac1 CP-13667: [Thin-LVHD] XenCenter shall show the allocation_quantum and initial_allocation in General Tab. 2015-08-21 14:16:40 +01:00
Gabor Apati-Nagy
6f5bbbc64e CA-166093: Missing RRD label for vbd_xvda_io_throughput_total
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-04-23 17:38:40 +01:00
Mihaela Stoica
8d0c6e64ff CA-156200: HANDLE_INVALID shown on Rolling Pool Upgrade completed page
- while upgrading a host, throw a HOST_OFFLINE ("Server could not be contacted") exception if the host can no longer be resolved (instead of HANDLE_INVALID)
- also corrected the parameters of the HANDLE_INVALID exception, as an extra parameter is needed for the friendly error name.
- in the UpdateManualHostPlanAction class I replaced Host with the private property _host in several places, so we are no longer trying to resolve the host each time we want to write something into logs
- added some null checks, to avoid reporting null reference exception

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-04-17 14:56:40 +01:00
Gabor Apati-Nagy
92bc32b6aa CP-10889: XenCenter work for CAR-1720: Add support for NFS version 4
-Added NFS version selectors for NFS and NFS ISO SRs in the New SR Wizard

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
2015-03-09 20:05:31 +00:00
Mihaela Stoica
acc06f9803 CP-11159: Add CreamOrGreater check to the ContainerCapability function
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-02-23 17:48:35 +00:00
Mihaela Stoica
45405bb5c9 CP-11159: Only display the Cloud Config page if the "xscontainer" supp-pack is installed.
- this applies to the Cloud-config page on the New VM Wizard and VM properties dialog.
- same for the container enlightenment page on the VM properties dialog.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-02-23 11:01:39 +00:00
Stephen Turner
40aa9c7d14 Merge 2015-01-29 15:45:21 +00:00
Cheng Zhang
2238b0ac1f CP-10955: XenCenter: use "feature-ts2" to detect Windows RDP feature
1.Add xapi version check in cream since Cream and Creedence have the same platform version
2.Check feature-ts2 to see if turn on RDP feature can use on specific VM PV tool

Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
2015-01-27 14:27:42 +08:00
Mihaela Stoica
891ac941a3 Changed the CreamOrGreater function to use the API version
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-01-26 16:01:02 +00:00
Stephen Turner
f756339b0e Merge pull request #293 from MihaelaStoica/CA-157501
CA-157501: Fixing inconsistent GPU dialogs in XS "Standard" when compare...
2015-01-22 17:28:23 +00:00
Mihaela Stoica
a295ab0159 CA-157501: Fixing inconsistent GPU dialogs in XS "Standard" when compared with "Enterprise"
Changes following code review:
- Added VM.CanHaveVGpu function (at the moment just returns CanHaveGpu, but it will change in the future)
- Added vGPU_type.IsPassthrough function and used it everywhere we needed to test for passthrough (max-heads==0)
- Simplified code in Helpers.GpuCapability, Helpers.VGpuCapability, NewVMWizard (gpuCapability), MainWindow and GpuRow

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2015-01-21 10:04:47 +00:00
Mihaela Stoica
dbdd3cc02c CA-157501: Fixing inconsistent GPU dialogs in XS "Standard" when compared with "Enterprise"
New properties:
- Pool.HasGpu = Pool has at least one PGPU
- Pool.HasVGpu = Pool has at least one PGPU that HasVGpu
- PGPU.HasVGpu = PGPU has at least one supported_VGPU_type that is not pass-through

New or modified helper functions:
- Helpers.GpuCapability = GPU feature not restricted (by licensing) and Pool.HasGpu
- Helpers.VGpuCapability = vGPU feature not restricted (by licensing) and Pool.HasVGpu
- Helpers.ClearwaterSp1OrGreater = API version is 2.1 or greater

The GPU dialogs are displayed as follows:
- GPU page on VM properties dialog: Visible only if VM.CanHaveGpu and the GPU feature not restricted (by licensing)
- GPU page on New VM Wizard: Visible only if VM.CanHaveGpu and the pool has GPU capability (Helpers.GpuCapability)
- GPU page on Pool properties dialog: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- GPU tab: Visible only if the pool has GPU capability (Helpers.GpuCapability) and is Clearwater SP1 or greater
- On the GPU tab, the "Placement policy" panel: Visible only if the pool has vGPU capability (Helpers.VGpuCapability)
- On the GPU tab, the "Edit" button on the "vGPU types" panel: Visible only if the PGPU.HasVGpu and vGPU feature not restricted (by licensing)

Also:
- VM.CanHaveVGpu function renamed to CanHaveGpu
- On the GPU tab, renamed "Allowed vGPU types" to "vGPU types
2015-01-19 16:49:47 +00:00
Cheng Zhang
98992d3bd2 CP-10204: Rework comments
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
2015-01-12 17:27:31 +08:00
Stephen Turner
399d00991b CA-139913 Convert tests of AugustaOrGreater to CreedenceOrGreater where the feature is in Creedence 2014-08-05 17:16:50 +01:00
Mihaela Stoica
a6d7a7fea8 CA-121385 Allow creation of VLAN 0 in XenCenter. This applies to the New Network Wizard and the Network Properties.
- The VLAN can be set to 0 only for Creedence or greater hosts on the vSwitch backend.
- When VLAN 0 is selected, an info is shown next to the control, saying "VLAN 0 will receive all traffic not on any other VLAN"
- Also fixed an error on New Network Wizard, where the "VLAN in use" message was still visible when changing the NIC.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2014-05-20 12:38:03 +01:00
U-CITRITE\zhengc
736a8d4cb4 CA-135560: Fix Creedence version number check and make WLB tab behaviour same for 6.5 and 6.1.
Signed-off-by: Zheng Chai <zheng.chai@citrix.com>
2014-05-15 09:30:11 +08:00
zheng chai
5d19c679cf CP-7527: update version according to Creedence version number.
Signed-off-by: zheng chai <zheng.chai@citrix.com>
2014-04-29 11:12:53 +08:00
zheng chai
96dc014da9 CP-7527: Rework comments to handle CLearwater case specifically.
Signed-off-by: zheng chai <zheng.chai@citrix.com>
2014-04-28 15:17:21 +08:00
zheng chai
e10125fbce CP-7527: Restore WLB for Creedence XenCenter changes.
Signed-off-by: zheng chai <zheng.chai@citrix.com>
2014-04-22 19:14:53 +08:00
Konstantina Chremmou
1c3ecc281b CA-122834 Don't show GPU tab for non-vGPU servers
Also GPU page on Pool properties dialogs should not be shown for non vGPU pools.
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1385743406 0
#      Fri Nov 29 16:43:26 2013 +0000
# Node ID e28f9921a0a17efb1e3a8d185acf18b5b6e116b1
# Parent  59229250db34dd4cc1f34fbdab055467a1570f87

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-12-11 10:45:28 +00:00
Konstantina Chremmou
53d4686a7c CP-6234: Exposed new vGPU RRDs in XenCenter.
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1383576326 0
#      Mon Nov 04 14:45:26 2013 +0000
# Node ID 3d4184332520eac33f48dfe2c21706fd15193668
# Parent  20d8cfbaca8448b7aac43cc3640d35f536789c47

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-11-14 11:33:59 +00:00
Konstantina Chremmou
cab8dca36b CP-6083: Added vGPUs to the VM's property page.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-09-18 13:06:47 +01:00
Konstantina Chremmou
a134e1bb86 CA-113430: Importing from clearwater-lcm-staging: corrected the calculation of
the time remaining to the licence expiry date.

Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
2013-08-28 15:11:12 +01:00
Mihaela Stoica
3d8ccf29e3 Updated Helpers.AugustaOrGreater function to use Augusta platform version
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-07-19 16:30:27 +01:00
Adrian Jachacy
355d5e90dc CP-5352: PR-1634: Request and consume list of SRs required to recover a VM / vApp, and add Resolve All button.
1. Added AugustaOrGreater method to Helpers class (which is preferred method over MethodExists to check if a xapi call is available on a server). Also removed MethodExists method.
2. Utilized AugustaOrGreater method in GetDRMissingSRs method in both VM and VM_appliance classes.
2013-07-05 15:43:06 +01:00
Adrian Jachacy
8dc0908f92 CP-5352: PR-1634: Request and consume list of SRs required to recover a VM / vApp, and add Resolve All button.
1. Added MethodExists method to Helpers class: this method tests wheather given method exists already.
2. Utilized new Helpers method in VM and VM_appliance classes.
3. Fixed ACTION_MULTIPLE_DR_TASK_CREATE_ messages.

Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
2013-07-03 14:54:05 +01:00
Mihaela Stoica
15c02aa2c9 CA-90855: Allow Rolling Pool Upgrade wizard to be resumed when master has
been previously upgraded.

Introduced Host.LongProductVersion property which returns host's
product version and build number (e.g. 5.6.100.72258), or null if
product version can't be found. We use this property to check
if the master has been updraded and to decide which slaves need
to be upgraded or to skip hosts already upgraded.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-06-28 15:50:14 +01:00
Mihaela Stoica
bd36a85bff CP-4816: Initial commit to git repo
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
2013-06-24 12:41:48 +01:00