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>
This fixes the following issue: event.from fails with "The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.".
It happens because we end the connections to the slave hosts only after all hosts have joined the pool and in the meantime event.from on a slave fails.
We fix this by ending the connection to each host immediately after the host has joined the pool.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
To to determine if the feature is restricted we use:
- "restrict_export_resource_data" license flag for Creedence hosts
- license edition and expiry date for pre-Creedence hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Showing link to CTX page if StorageLink problem was found at pre-check (in RPU Wizard)
-Enable the Resolve All button on the pre-check page only when there is at least one problem found and all the problems have solution/fix - minor refactoring
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- If XenCenter node or a disconnected host is selected, show the default search.
- Otherwise, find the top-level parent (= pool or standalone server) and show the search restricted to that.
- In the case of multiselect, if all the selections are within one pool (or standalone server), then show that report.
- Otherwise show everything, as on the XenCenter node.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The reason for the error dialog appearing behind License Manager dialog was that we used MainWindow as parent of the Licensing Error dialog (in ShowLicensingFailureDialog method in ApplyLicenseEditionCommand)
and there were already 3 other modal dialogs displayed one on top of each other: License Manager, Apply License and Action Progress.
Fixed by calling the ShowLicensingFailureDialog from the command, on action.Completed event (instead of action.Run) and passing the Parent as a parameter, so that we can use the correct parent when displaying the error dialog.
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
Changes to the DeleteAllAlertsAction:
- when the dismiss operation fails with INVALID_HANDLE we need to remove the alert from our alert list (XenCenterAlerts) and trigger the CollectionChanged event so that the alert count gets updated.
- the action title now says "Removing <n> alerts" when dismissing all/selected alerts and "Removing alert" when dismissing single alert (instead of "Removing all alerts" in all cases)
- move the initialization of Dismissing flag outside the action (see below)
This fix also includes changes so that the Dismissing flag works as intended: to be able to hide the dismissing alerts in the Alerts view immediately, rather than one by one when they were actually deleted, causing a large number of refreshes.
On dismissing alerts we do:
1. set dismissing to true for all alerts
2. rebuild alert list (this will filter out the dismissing alerts)
3. dismiss alerts - run the DismissAllAlerts action
Also, the action buttons on each row should only apply to the clicked row (not multiselect).
Signed-off-by: Mihaela Stoica <mihaela.stoica@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 'Host:' to HTTP headers for all the HTTP GET and PUT requests sent by XenCenter.
This change will presumably fix network issues occurring when going through certain corporate firewalls/proxies.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Added three Warning classes (HAEnabledWarning, WLBEnabledWarning, HostNotLiveWarning), used in the Pre-checks page of the Install wizard (also in the Rolling Pool Upgrade wizard) to indicate that a check was skipped and the reason why.
- If HA or WLB is on, we show this as an error in the "HA and WLB status" check and the "VM migration status" checks will be skipped (with a warning displayed) for all the hosts in the pool.
- Similarly, if a host if unreachable, we show this as an error in the "Host liveness status" check and the following checks for that host will be skipped (and warning displayed).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Calling new overload of the session.login_with_password() XAPI function (+originator field). This lets XenServer to group all sessions from a given XenCenter instance.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
If a VM is created from snapshot which has a vGPU and "No" vGPU is selected then the newly created VM shouldn't have a vGPU.
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 check for null for sm.features in SR.SupportsTrim;
- Better error messages;
- Moved error messages from Messages to FriendlyNames;
- Removed the check for actions in progress from TrimSRCommand.CanExecute().
-
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The operation applies to an SR. The button is on the Storage tab of the host/pool, and is entitled "Reclaim freed space".
It comes between the New SR and Properties buttons.
If the SR does not support TRIM , the button is invisible and the Properties button moves left to close up the gap.
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>
- Text on CPU page - changed to include topology.
- Summary page on the New VM Wizard – changed to include topology
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>
Made the radio button invisible for Creedence or higher XS hosts.
Removed previous StorageLink-related upgrade pre-checks and added (strict) check to prevent upgrade when StorageLink is used.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@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>
Renamed "Delete Pool" to "Make into standlone server"
Made sure it can never work with a multi-server pool
Removed confirmation dialog, as it is not destructive
Removed from context menu, as it is not important/common enough
The Heartbeat would log out the session after the first missed heartbeat.
This worked fine when the Heartbeat was on its own session, back in George
and earlier versions. However, when it was changed to use just a
DuplicateSession() instead of a new Session(), this broke the main session
of the connection. This caused a first heartbeat failure to break the
connection, and also caused the expectDisruption flag to be ignored.
This patch restores the old behaviour by not logging out the session until
the second failure.
XAPI (from 1.7) destroy destroys suspend VDIs as well (code is here: xapi: ocaml/xapi/cli_operations.ml). Depending on actual race conditions, this can lead to a situation when we try to destroy a Suspend VDI that has just been deleted.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
existing or due to the host being a slave. Use the action description instead of
the action title to construct the error for failed connection results. Indentation.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@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>
Changed the way the dependency patches are fetched, to avoid getting an exception if
requiredpatches/conflictingpatches node has at least one child that has no uuid attribute,
also checking the child name
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- setting the ConnectionGroupName causes all the new sessions to be on their own set of TCP streams.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- group names are not cached when the other user details are cached (in the constructor), but only when the UserDetails.GroupMembershipNames property is first used.
- also optimized the code for getting user details.
is downloaded and stored every time an update is performed (if manual all updates
are downloaded, if automatic only as per the user's choices). If there are available
updates, update alerts are generated if there are connected hosts and disappear
when the hosts are disconnected.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
it was only used when logging and only for the updates; using the Description in
its place should be adequate. Fixed bug in the formatting of XenCenterUpdateAlert.Description
and removed duplicate logging when dismissing an alert.
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>
applies to the latter. Converted methods from AlertSummaryPage to one Alert and
one String extension method so they can be used more widely. Code simplification
on the Updates page.
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>
used to access the alerts list. The list itself should be private as there is a
risk to access it and forgetting to use the lock.
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 1384179387 0
# Mon Nov 11 14:16:27 2013 +0000
# Node ID 4c0609731471aec95b153843469b00811c123c0b
# Parent 6e77f45144cb01c9eba99be74ad9ffd056eeb110
- show the message about connecting with RDP only if is pass-through
- changed the current message to say "pass-through GPU" instead of "dedicated GPU"
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
GPUs are available on the server.
# HG changeset patch
# User Konstantina Chremmou <Konstantina.Chremmou@citrix.com>
# Date 1382711930 -3600
# Fri Oct 25 15:38:50 2013 +0100
# Node ID 20d8cfbaca8448b7aac43cc3640d35f536789c47
# Parent addf480a5eeb1c2bfc1a2756fee55dfa966d1751
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>
sortable; substituted balloon warning with tooltip; moved privace statement link
to the bottom of the page; reordered select/clear all buttons.
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>
When creating an SR, if XenCenter creates new secrets, then they should be destroyed
after the SR creation is complete. This is safe since any secrets in the device-config
are duplicated and unique ones are used for each PBD creation.
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 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 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 1376062101 -3600
# Node ID e9a03389b4dfd447a4034b55d74827d30e3950be
# Parent d0a3fa6db59fcaea186f0909053866153d15d450
CA-112877: Set the description text of the transfer VM network page when the export/import
mode is set ratehr than when the page is populated to avoid refreshing issues. Also,
fixed string formatting issue which could potentially cause problems with the word
order in languages other than English.
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>
removed uninitialised streams which we were taking care to close. Solution-wide
style: use string.IsNullOrEmpty method instead of checking separately for null
and zero length.
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>
The error occurred when user specified a second wrong password. If the same wrong password was specified again and again, it didn't trigger it. This was due to an error in code where we didn't use the updated password in the second connection attempt.
Fixed by changing the code to use the updated username and password combination for every login attempt.
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
a Save button in the Searcher panel. Moved collapse Searcher panel functionality
from the SearchOptions dropdown menu to a Close button in the panel. Use new
Expanded property to query the state of the Searcher panel (instead of Visible).
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
New info dialog displayed when the user cancels the last page (Apply Upgrade page) of the Rolling Pool Upgrade wizard.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
1. Changed definition of IsDetached property in SR.cs: SR is detached when it has no PBDs or when all its PBDs are unplugged.
2. Added bool HasPBDs property in SR.cs (replaced previous IsDetached property definition).
3. Reviewed all usages of sr.IsDetached property.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
- Changed the synchronous call to VDI.copy to an async one in VMMoveAction and MoveVirtualAction;
- Corrected the calculation of action step in VMMoveAction.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added Summary page to the New SR Wizard for HBA SRs. This page will display how many SRs were created successfully and how many failed to create.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
1. Added AugustaOrGreater method to Helpers class (which is preferred method over MethodExists to check if a xapi call is available on a server). Also removed MethodExists method.
2. Utilized AugustaOrGreater method in GetDRMissingSRs method in both VM and VM_appliance classes.
1. Added MethodExists method to Helpers class: this method tests wheather given method exists already.
2. Utilized new Helpers method in VM and VM_appliance classes.
3. Fixed ACTION_MULTIPLE_DR_TASK_CREATE_ messages.
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@citrix.com>
These will cover the following two cases, for XenServer v6.2.0 and later:
1) a licensed host cannot be added to an unlicensed pool;
2) an unlicensed host cannot be added to a licensed pool.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1. Updated XenModel.csproj following update to XenAPI.
2. Host.apply_edition requires three parameters now: pass false in the last parameter (_force parameter).
Signed-off-by: Adrian Jachacy <Adrian.Jachacy@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>
been previously upgraded.
Introduced Host.LongProductVersion property which returns host's
product version and build number (e.g. 5.6.100.72258), or null if
product version can't be found. We use this property to check
if the master has been updraded and to decide which slaves need
to be upgraded or to skip hosts already upgraded.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1. Resized columns on the LOcate Mirrored SRs page in the DR Wizard.
2. Changed wording of DR_WIZARD_STORAGEPAGE_DESCRIPTION_FAILBACK and
DR_WIZARD_STORAGEPAGE_DESCRIPTION_FAILOVER messages.