Changed the tree builder so that the tree nodes rely on the TreeView's font. If the nodes have their NodeFont != null, then a tree update causes new fonts to be generated for each node and when fonts are being created faster than they could be cleaned up, we reach the GLI handles limit of 10000 (which causes the Out of Memory exception).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Instead of using VCPUs_max, use VCPUs_at_startup, which is the value set when we change the VCPUs count on the VM. Note that despite its name we don't need to restart to see this value change.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
Moved from BuildList method to the GraphHelpers class. Since they're only used in this class for this search, and there's similar but broader Regex objects in the Helpers class that are used for parsing, I think it's better to keep them in this class to avoid confusion.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
We have some new RRDs - read, write, read_latency and write_latency. This adds support for them by adding a friendly name and using it to display them. It also adds some filtering (see GraphHelpers.cs) because for backward compatibility io_throughput_read and io_throughput_write (which differ from read and write only in scale) are still available, but shouldn't be displayed in XC. If the new read or write are available, we filter these old datasources out.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
- Renamed Add/Remove PVS Site buttons
- Added a note on the PVS Cache configuration page, regarding the recommended cache size and the allowed size for "memory only"
- Added a warning about the Site configuration not being complete until the PVS part is done as well (only visible if PVS_uuid is not set for a PVS_site)
- Added PVS Read Caching status on the VM's general tab
- The absolute maximum allowed for a cache size is 2TB
- Changed the rubric on the Enable PVS read caching dialog
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- For the PVS cache space utilization the multiplying factor should be 1 (the default value) because its values range from 0 to 100
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- If the PVS site cannot be removed (it has running proxies) then popup a dialog stating the reason, instead of starting the action and failing there. We still have the same check in the action, just in case the situation changed in the meantime.
- Removed unused controls
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
PVS Tab:
- Move the "View PVS sites" button inside the "Configure PVS Cache" dialog (next to Remove button) and make it per-site (showing only the PVS servers from that site)
- Remove "Currently attached" column from the VMs section
- Rename "Status" column to "Read caching status"
Configure PVS Cache" dialog:
- Make sure there is a scrollbar to accommodate all hosts in a pool
- Add a confirmation dialog when a site is removed. The action is executed when the Remove button is pressed.
- When Memory SR is selected, set the maximum value to the dom0-extra-memory..
- Allow empty configuration (but see next point): The OK button should only be disabled if the PVS site name is empty
- Add an extra option in the "Cache storage" combobox, with text "Not configured", selected by default on a new site. When this is selected, we will remove the existing entry in pvs_cache_storage and will not create a new one.
- When a PVS site is deleted (forgotten), we first delete all the associated PVS_servers, otherwise the site cannot be deleted.
home host from a shared to a local storage (while it was possible from the CLI).
Minor refactoring.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Allow move of multiple VDIs
- CA-187659: show better messages when batching move/migration of multiple VDIs.
- Show different tooltips for single vs. multiple VDI move/migration/deletion.
- Refactored the MoveDiskDdialog. Removed the inherited class VDIMigrateDialog and
the batching manager as it was not very different from its parent, it was registering
the events twice, and was batching migration of even single VDIs.
- Tidied up the Move- and MigrateVirtualDisk commands so they're easier to compare.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- new image for PVS_site
- added cache size restrictions based on the SR selected
- added button to remove the PVS site on the page
- fixed the error where the subtext for a new PVS sites showed as "Not configured" even after it has been configured
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* 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.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
* CAR-2184 XAPI: Reverse the unrelated changes, only keep the PVS ones.
Signed-off-by: Callum McIntyre <callumiandavid.mcintyre@citrix.com>
- The value of the spinner control is rounded to the nearest, while the minimum is rounded up and the maximum down (or, in some cases, min and max are not rounded at all).
In most cases this is fine, but if the current value (in bytes) is equal to one of these ranges, by rounding this way we might end up with a value that is outside of the control's ranges (causing ArgumentOutOfRange exception).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Expose both the HIMN network and any VIFs associated with the HIMN
network using XenCenter when the "View->Show Hidden Objects" option
is displayed. However the shown HIMN should not be able to autoplug,
edit or delete.
The truncating of the custom field name by space (instead of ellipsising) seems to be a Windows default, but it's not ideal. This change edits the text displayed in the dropdown when an item is selected so that if a custom field is selected it is ellipsised to an appropriate length. It doesn't affect the dropdown itself, which continues to display the full custom field name.
other than strings. Moved settings of the FullScreenForm from the VNCTabView to
the former class. The FullScreenFormof the VNCTabView is only initialised as
FullSCreenFrom so no casts are necessary. The FullScreenForm is responsible for
updating the connection bar text with the value obtained from the vncScreen everytime
the name of the connection changes. Also reduced visibility of certain members.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- 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>
Removed unused properties.
Added new string resource to set the pvs farm dialog's title.
Extended XenAPI's PVS_farm class to override Name property to allow for simpler sorting code.
Removed embedded icon in resource file; dialog now inherits the application's icon.
Signed-off-by: Frezzle <frederico.mazzone@citrix.com>
Even though the correct row have been selected by the time the grid becomes visible, it is not displayed properly. This change set fixes the problem by selecting the row again.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Also fixed a similar issue, where the broken SR was selectable (Create new virtual disk from the SR Storage tab)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
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>