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.
- Added check for Clearwater SP1 or greater to the gpu capability on the New VM wizard
- On the GPU tab, draw the grid on the shiny bar only if the capacity is greater than one
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
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>
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
Correction following code review: When a host collection changes, update all rows containing the hosts changed. This will cover the case when the License Manager shows all members of a pool on separate rows for pre-6.2 versions of XenServer.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The problem was that the License Manager was listening to PropertyChanged events on the master only, not on slaves.
When the master's properties change (e.g. edition) we update the row in the license manager; but in some cases a slave (or more) hasn't been updated yet (as it may be updated in another event.from) and we think that the pool is partially updated.
Our solution is to listen to Host BatchCollectionChanged event, which is triggered once per cache update for the host collection (it any property changed for any of the hosts).
The sleep in the ApplyLicenseEditionAction is not needed anymore, nor is the extra call to update the cell after the action is completed, because the cell is getting updated correctly on the BatchCollectionChanged event.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The Free license never expires and is confusing to see "Unlicensed" or "Unsupported" hosts with expiry date "Never".
Added the ability to add "hidden" entries to the General tab sections and to update their visibility when needed without regenerating the whole section.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changes to the License Manager dialog:
- Summary panel: show smaller icons for warning and information messages
- Summary panel: show license entitlements for all Creedence hosts (not eligible for support, eligible for support, enterprise features enabled, etc)
- for free Creedence or Clearwater hosts, the license status is Free (it used to be Expired for ClearwaterOrGreater)
and the text displayed is "Unlicensed" for Creedence and "Unsupported" for Clearwater;
the warning message is "Not eligible for support" (instead of "Your support and maintenance has expired")
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
In some cases calling Control.Invoke() from a background thread causes that thread to go in a "sleep, wait, or join" mode, while waiting for Invoke to happen, although the UI thread is running normally.
If the Control is the MainWindow, it works as expected, but we've seen it happening while connecting or disconnecting from a large pool, on calling Invoke on controls like NavigationView, AlertSummaryPage, HistoryPage, etc.
To fix this, we call the Invoke on the MainWindow in all the places where we've seen the issue.
With this changes, the previous fix for CA-148245 (call RequestRefreshTreeView on CacheClearing event) is not needed anymore, so I removed that call.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
For issue 1, move the "labelStartDate" location to left with 4 points.
This would make the gap between "labelStartDate" and "StartDatePicker" larger than others under Windows EN.
For issue 2, would not extend the size of "StartDatePicker" and "EndDatePicker" since they would occupy other labels and comboBoxes' room.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
-I defined save and restore selection functionality in SelectionBroadcaster and implemented them in SelectionManager. The NavigationPanel now uses these to: 1) save the current Selection (context) when the user switches to the Notification view, 2) to restore previous selection when switching away from the Notifications view.
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>
For pool audit trail report, when click "Run Report",
reset "_endTime" so that the end time will be re-retrieved.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
-Reverted changes of CA-109242 (PR-62 on GitHub)
-Network tab: now to show '<None>' instead of '-' as Link Status (for pools: when the network has no PIFs; for hosts: when the network has no PIF )
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- In the Events view, offer a choice only to dismiss the visible ones instead of all
- Keep the filter buttons always enabled. This applies to all Notification views (Alerts, Updates & Events)
- Also refined the confirmation messages displayed when dismissing events
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
-According to the call stack this is the place where the exception can come. Although I was not able to reproduce the exception, this fix solves a possible argument (index) out of range exception. With this check, point merging is not going to be done if it would be unnecessary anyway when there were an empty list to be merged (count==0).
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
When the navigation panel is resized, we need to preserve the height of the bottom panel, by recalculating the splitter distance.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added a 'refresh grid' parameter to UpdateRow() which indicates if a sort and refresh of the grid is necessary.
- A sort and refresh is not needed when the user selects a server by pressing the space key or by mouse, but it is needed when the information displayed has changed, for example when the license has changed.
- Also solved a possible null reference exception in CheckableDataGridViewController.ReplaceStoredRow(), by returning -1 if the index is not within the rows range.
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>
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>
for the server, not the one for the secret pool
# HG changeset patch
# User Stephen Turner <stephen.turner@citrix.com>
# Date 1384881428 0
# Tue Nov 19 17:17:08 2013 +0000
# Node ID 030ebb6e2f6964a4dbf9d5602c69cb23fcc0cbdb
# Parent 370811ffe245c8ea57ebd6f406711f8e1fee5a05
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
the events page. This renders the old custom history controls obsolete, hence
removed them. Moved ActionBase extension methods to XenAdmin.Core namespace.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
events. Fixed display issue when moving between the notifications and the other views.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Preserve last selected node when switching between views. Added labelling to the
unit tests run post-build. Minor tidy.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1384254998 0
# Tue Nov 12 11:16:38 2013 +0000
# Node ID 6b3fc3d7a54e58e92ecfe714d19c8dc26b7a0565
# Parent 2cc90cb50e7ff2566f9d0833ad17735922d3f0c9
- Only close the inactive VNC consoles (not RDP) after an interval
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Gabor Apati-Nagy <Gabor.Apati-Nagy@citrix.com>
# Date 1383736103 0
# Wed Nov 06 11:08:23 2013 +0000
# Node ID f79a41a7c73e5555143a1f5cdf7bd3e8f27a8fba
# Parent 04c02de675af090f3171b6fbf3b21b023c645c24
GPU page:
5. put GPU page back at server level
7. Move Edit button of "Placement policy" closer to text and make the box smaller and fixed
8. Put Placement policy box within the scroll bar
VM properties dialog / New VM wizard:
9. gpu types should be shown in order 2-4-8
10. show types that are not allowed as disabled items in the combobox (instead of not showing at all)
11. increase the height of combobox (max no of items) so that all items are seen without scroll
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1383126814 0
# Wed Oct 30 09:53:34 2013 +0000
# Node ID 8af833de348d090a0126ad2f922ba7679739b654
# Parent 35673b51503006bbbb1e6647b1e0eb1938bd72ef
- added Max displays and Video RAM
- videoRAM needs TO BE REPLACED with max_resolution when this becomes available in the API
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1383045574 0
# Tue Oct 29 11:19:34 2013 +0000
# Node ID 35673b51503006bbbb1e6647b1e0eb1938bd72ef
# Parent bb05d6e143d7199359da1f555250d3a4ee126a5c
Overview tab completely redesigned and shown only on pool and standalone hosts.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This fix corrects the following behaviour: when you have a VM with no affinity and you go into its Properties dialog,
XenCenter believes that a VM on a standalone host has to have that affinity, and greys out the "no affinity" radio button,
which has the effect of forcibly changing the affinity to the host, which a VM Admin is not allowed to do.
The correct behaviour is that if a VM already has no affinity, we don't grey out the radio button.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Console tab: When entering full screen mode, make sure the screen is assigned before attempting to display the connection name.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
icon. Moved class OrganizationalView from XenModel back to XenAdmin as it is more
relevant to the latter. Updated relevant tests. Some code tidy.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
a autowrap-on-resize radiobutton. Also, removed badly aligned label and appended
its text to the radiobutton text.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377079306 -3600
# Node ID 170c7cbbbaefee729774ae21a3c417205708abee
# Parent 5bd4ebbd0553c160917192dd4546bb19a2a5a64d
CA-112226: Updated unit tests to reflect the changes in string measurement. Minor code tidy.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Mihaela Stoica <Mihaela.Stoica@citrix.com>
# Date 1377013845 -3600
# Node ID a47a556a4ebb1abda620cfe1d79bba4292eaff8f
# Parent cc0505085de1e5f19326e13d74ec5542ce006080
[CA-92517] , [CA-112376] & [CA-112387] : Fixed the truncation in the CustomTreeView control
caused by wrong font being used in the calculation of scrollbar width.
Added a call to recalculate scrollbox width after the font used for description is changed.
This fixes the truncation in the following dialogs: Move VM, Move Virtual Disk, New Pool, Server Status Report.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377010165 -3600
# Node ID 46350c8ef9df37a0c41d7a7245438948d261504b
# Parent a1c6bcf2b4d3119cff54d87fb97bd2491c9d8f67
CA-112226: Ellipsization should use TextRenderer.MeasureText (GDI) rather than
Graphics.MeasureString (GDI+) since the controls use the default UseCompatibleTextRendering
value (false).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377007835 -3600
# Node ID a1c6bcf2b4d3119cff54d87fb97bd2491c9d8f67
# Parent 41c2dfb11187cbc91b4f874b1df8c06524aad3c7
CA-113310: Corrected string measurement which was causing truncation on SC and a
lot of white space on EN and JA versions.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>