We observed that some threads can reach deadlock-ish state after they have Invoked into a control's UI thread. When it happens they are all in a waiting for join or in sleep state for very long time, although there should not be any deadlock situations.
It seems this has something to do with multiple parent controls and with which control we invoked on. This should not make a difference, because we have got one UI thread (for MainWindow) they should wait for, but we have seen it does.
The solution that fixed this issue was to invoke on the MainWindow instead of various controls (see a4fe507adf ).
This changeset is changing all our Invokes to invoke into MainWindow
instead of a control itself. (MainWindow's UI thread is the only UI thread
all Control is using in XenCenter)
This changeset should be in place until we have found the root cause or the exact reason for the above.
- When deciding whether to allow GPU configuration on a VM, check if the HA is enabled, not just the the VM's restart priority setting
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-We used to check host.RestrictVgpu instead of checking the API version when populating the dropdown on the GPU Settings page. This is not sufficient anymore as it depends on the license too, so changed the code to check version (vGPU was introduced in Clearwater SP1).
- changes following code review: simplified the code that determines the current state; and renamed some variables.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added a "Integrated GPU passthrough" section to the PoolGpuEdit page.
- This section is only visible for a host that has GPU capability and the enabling/disabling of integrated GPU passthrough is not restricted.
- With this addition, the GPU page can now be displayed for a pooled host as well (previously only pool or standalone host)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- 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>
New Page: Enlightenment on VM Properties Dialog, visible only for:
- VMs on Cream Or Greater hosts
- that can be enlightened, regardless of their power state
A VM can be enlightened if the key "xscontainer-monitor" exists in other_config.
A VM is enlightened if other_config:xscontainer-monitor if true.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Fix the following display issues:
1. Should leave more space upon pool granularity setting with XenCenter Chinese version.
2. "Close" should not be the default button when "Previous Section" or "Next Section" is enabled.
3. On WLB advanced settings page, the split line of pool audit granularity should extend and contract along with the size change of the form.
4. For large pool audit trail report, click "Next Section" till the report end, if change user/object/startdate/enddate, "Run Report" button is shown but disabled. Should enable it.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Enhance WLB pool audit trail report:
1). Update advance settings to control audit trail granularity.
2). Update pool audit trail report to add user and object lists for selection.
3). Display large pool audit trail report with sections.
4). Localization for Chinese version.
5). Compatibility with WLB 6.5 and 6.1 or before.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
- Suppress reporting of success and failure for sub-actions:
The suppress history flag is set when the action is created and if is false (by default) the action is added to the history (the Events list).
In order to suppress history for the subactions, we need change all actions used in Edit pages so their constructor can set the SuppressHistory flag and then use these constructors with suppressHistory = true on all the implementations of IEditPage.SaveSettings() where an action is created
(then we need to remember to do the same everytime we introduce a new page and / or "save" action).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The error has been caused by the shadow multiplier field on Advanced Settings page: XenCenter thinks that the values has changed, and tries to save it, but this is not allowed for VM Admin users.
The solution is:
- use -1 as the signal value for unparseable string, instead of 1.0, which is actually a valid value;
- display the existing value without formatting it to 2 deciaml places;
Also corrected the validation function, as the shadow multiplier has to be greater than or equal to 1, not 0.1.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added Topology drop-down box with available values for sockets and cores per socket, so that the number of vCPUs is divisible by the number of cores per socket.
E.g. if user specified 8 vCPUs, Cores per socket can only be 1, 2, 4, or 8.
- This updates VM's platform:cores-per-socket property.
- Can only be set when the VM is shut down (similar to number of vCPUs).
- Text on CPU page - changed to include topology.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- 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>
On the affinity picker, the "no home server" radio button is disabled if there is no shared storage, except on editing an existing VM that already has no affinity.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>