Passing suppressHistory=false in the MultipleAction's constructor (so no action item will be displayed in the Event view for the MultipleAction itself)
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.
- With these changes, a stopped or suspended VM can be moved across pools; this is performed as a vm migrate operation.
- The intra pool move will continue to be a vdi.copy + destroy operation for stopped VMs, but for suspended VMs we need to do it a as vm migrate operation.
- We use the Cross Pool migrate wizard for both intra and cross pool move operations, but introduced a wizard mode parameter in order to adapt the wizard to the specific operation we want to perform (migrate, move or copy)
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>
- The cloud config parameters page is only visible on a VM that already has a config drive.
- The cloud config parameters can only be changed when the VM is halted.
- In the New VM wizard, if a template is selected that already has a config drive, them the wizard will display the existing configuration, not the default one.
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>
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
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>
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>
-Changes following the code review: To minimize the distance between the OK button and the "View Legal Notices" link, the latter has been aligned to the Bottom-Left and the height of its container row has been set to 100% instead of Auto.
Fix the display issues of Chinese version XenCenter/WLB:
When WLB Configuration Dialog size is changing,
1. OK and Cancel buttons are truncated,
2. OK and Cancel buttons do not keep at the bottom/right corner of the dialog.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Fix the display issues when WLB Configuration Dialog size is changing:
1. OK and Cancel buttons are truncated.
2. OK and Cancel buttons do not keep at the bottom/right corner of the dialog.
3. The height of the SplitContainer does not track the change of the height of the dialog.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
-Modified layout to avoid overlapping and dynamic movement of input fields/buttons when an error message is being displayed.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Set the pool details in the action to allow proper filtering by location on the Events page
- Also, when possible, set the Host property: when setting the SR in the action, we also set the Host to SR.Home
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
- 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>
- Renamed “Checking can evacuate host status” precheck group to “Checking VM migration status”
- Prechecks page – check that all VMs have valid vCPU settings (i.e. number of vCPUs is a multiple of number of cores per socket).
- This check is included in the ‘Checking VM migration status” group
- If a VM has invalid vCPU settings, the precheck will display the problem with a solution to “Fix vCPU configuration” which opens the VM Properties dialog on the CPU page.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
of XenCenter and tasks started from outside and cancelling the former when exiting
or disconnecting from the pool.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
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>
no forms are open. Since there is no event notifying about the Application.OpenForms
changing, created a new base class for all XenCenter dialogs and wizards with a
static event to which the main windw can subscribe.
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>
this by susbstituting the FlickerFreeListBox with a DataGridView, which also fixes
the selection bug, plus we don't have to do custom drawing or costly string
measurements. This change will also aid the fix of CA-20870.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377019978 -3600
# Node ID 7674677d207c53d4a1207a88d0f1aa82c68b22fe
# Parent a1940814a129b5fd75703a5aa541783a73b7cca5
CA-112234: Layout corrections on the LicenseManager. Increased dialog height in
the SC version to avoid control overlappin on the Summary panel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1377011213 -3600
# Node ID a1940814a129b5fd75703a5aa541783a73b7cca5
# Parent 46350c8ef9df37a0c41d7a7245438948d261504b
No need to set UseCompatibleTextRendering to true.
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 1376923571 -3600
# Node ID d2220b2b5c232e6f070c02d82a9a6283595eebf0
# Parent 4ccecd98746c40c5b1850f28c3e557e803102939
CA-113230: Fixed issue where surrogate characters were not displayed properly on
the DeleteVM dialog (this was actually a microsoft bug). Also some refactoring and
button text improvement.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1376915592 -3600
# Node ID 4ccecd98746c40c5b1850f28c3e557e803102939
# Parent cc14bc84973e1dd7e07ee6d90a2bac2cdd7baf79
[CA-112396], [CA-112304], [CA-112241]: Increased the width of the middle column
of the ActionProgressDialog TableLayoutPanel by 40px to reduce occurrance of text
wrapping. Ellipsized pool name in the GetHeartbeatSRsAction.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1375792166 -3600
# Node ID 2f3f7203b7a8c8c8d470534c0cf6554b9bf75a39
# Parent 6c08708f799c879557426b1aba48063b7ee9f877
CA-112444: Removed the ability to have link areas in the label of the ThreeButton
dialog because it's not always working for languages other than English. It was
used only in one place anyway, therefore I provided a dedicated dialog.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
text on the page button depending on the number (1 vs many) of the plugins available.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
to export all or only the shown alerts (functionality similar to the DismissAll button).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
succeeded, failed; cancelled at the moment counts as failed, we may need to distinguish
in future). As a consequence the filter checkboxes from the top of the Log tab
were removed and some temporary changes were made to the drawing of action rows
(the controls will change completely in a subsequent commit).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
NewAction to use the Action<ActionBase> delegate instead of EventHandler. Thus
there is no need to fire them with Empty or null EventArgs and on several occasions
we avoid casting objects in the event handlers.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
expiry dates that are more than 30 days apart (not ideal, but safest solution for
the case of a mixture of free and free but expiring soon hosts.)
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
1. Added additional check to DownloadAndInstall method in ManageUpdatesDialog.cs: will proceed to the prechecks page in the Install Update Wizard only when there are selected servers on the previous page.
2. Modified code to allow hotfix installation when the host is in maintenance mode; however the host cannot be upgraded when in maintenance mode.
3. Modified test to reflect changes described above.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
- Changed the condition under which we show pool members as individual hosts in the License Manager dialog, from ALL to ANY,
meaning that if any of the pool members can be activated, then we split the pool.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- split the pool members out when they're free, as the activation keys can only be applied to one XenServer host at a time
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
in the General Tab.
When master and slave(s) are licensed with different editions, the pool
license edition is not the master's edition, but the lowest license in the
pool.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>