VMstorage page uses the default colours of the controls, hence we only need to set
them on the VNCTabView and the linklabel does not need to be public.
Refactored to hide/show error controls instead of adding/removing them. Removed duplicate null check.
Do not use a second list to track active VM consoles.
The last pGPU's row was stretching to the bottom, causing the lowest select box to fill its space and go down too much.
Changed the select boxs' dock style and margin.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
* CA-210732: XenCenter VM properties GPU always shows "None"
The error occurs when there is a gpu group with only one vgpu type: When setting the selected item in the vGPU combobox, XenCenter tries to select the group header instead of the vGPU type; because the group header is not selectable, we then default to "None".
With this fix, we ensure that two items are not equal if one is a group header and the other is a subitem.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-210732: XenCenter VM properties GPU always shows "None"
Changes following code review: Added the reverse case in the Equals function
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-210732: XenCenter VM properties GPU always shows "None"
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Now we set Increment exactly as on other pages
when the unit is MB: the increment it will be calculated dynamically (1, 2, 4,...)
when GB, increment will be 1 GB for values >=10GB, 0.1GB otherwise
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- changed the licenseStatus_ItemUpdated event handler to invoke on the main thread, as this is the only case when a background thread needs to update the storedRows list..All the other reads and writes are taken place on the main (UI) thread
- removed the storedRowsLock as it is not needed since we do all the updates to storedRows on one thread.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changes following code review:
* Disabled MTU control and added info label when MTU cannot be changed (due to Min==Max)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Fixed how we set the Maximum for the dropdown controls on:
* Creating External network,
* Creating Bonds
pages on the New Network Wizard
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- when the user changes the disk size (or initial allocation), the selection in the SR list should not change and the list should not be automatically resorted
- users should not be allowed to create disks larger than the SR size (the SR is disabled and an explicit reason is displayed)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Removed PV_DRIVERS_NOT_INSTALLED=0 from the VirtualisationStatus [Flags]enum - 0 will mean the same (to avoid bugs with enum.HasFlag(0) is always true)
Extracted common code to VMLifeCycleCommand.GetCantExecuteNoToolsOrDriversReasonCore() method (instead of defining overridden GetCantExecuteReasonCore() method at this level, because not all child classes need this...)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Removed Optimized state and using I/O & Management instead (even for old VMs)
Changed messages to be different for old and new VMs instead of saying Tools or I/O drivers for instance
Removed the extra enum property from the VM class that had been added for search
Fixed code in GroupingTypes class (possible KeyNotFoundException)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Extended the enum, aimed for minimal changes, also using Flags on the enum now
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
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.
Created ThinProvisioningParametersControl user control using existing code to have the thin provisioning settings at one place. It needs to be initialized by providing an SR and it will expose its internal state via NewSMConfig property that we need at other places.
This does not include refactoring of existing code or replacing existing code to use this new control, but the new Conversion dialog is using this. Next step would be to remove existing code and start using this new ThinProvisioningParametersControl instead.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Memory Tab uses GB units for values greater or equal to 1 GB, otherwise show in MB;
- Search Tab displays values in GB or MB in the same as the Memory Tab (e.g. 512 MB of 1 GB, 256 MB of 512 MB, 2.5 GB of 16 GB).
- The shiny bar present in the Memory Tab and in Memory Settings dialog shows the scaling in the following way: If smaller than 1 GB, then show as before, else show only labels with values multiples of half a GB.
- The units used in Memory Setting Dialog are set depending on the static_max. If it is greater or equal to 1 GB, then the units are GB, else MB. The user does not have the possibility of changing them.
The unit of VBD IO throughput is changed to MiB after merged all
VBD related data sources from xcp-rrdd to rrdp-iostat,
Signed-off-by: Kaifeng Zhu <kaifeng.zhu@citrix.com>
Add New Virtual Page (VDI):
By default, the SR's default initial size allocation percentage (that may be different for different SRs) is used.
Once the user has changed the initial allocation rate, the page would only use the custom value from that point.
New SR Wizard:
Minimal change in if statement and added comment in RunNextPagePrecheck
method for LvmoHba.
- add the option on the destination page of the wizard
- for authentication purposes, MyCitrix credentials are required.
- these credentials are only used to obtain an upload token that will be used for the upload.
- the upload token expires in 24 hours and is not saved in the xapi database.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Check call home enrollment status on connecting to a pool: If status is unknown it means that the pool is not enrolled (enabled) and has never been (disabled). If that's the case, then show the Health Check Overview dialog with the pool selected
- "Enroll now" on Health Check Overview will try enroll the selected pool into call home using existing token authentication. If this is not possible, then a dialog will be presented for the user to perform the initial authentication.
Using ShowDialog() instead of Show()
Also removed unnecessary code that displayed the popup again
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
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.