List in order to enforce the order of checks (the Dictionary is not guaranteed to
keep the order the items are added). Also, extra null check.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
in the Host extensions. Moved method TryResolveWithTimeout to the Connection class
where it is more relevant. Removed wrapper methods WaitForReboot and WaitForAgent
as they were not particularly useful.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
alongside the wizard progress buttons. For this purpose, the separate UpdateControls
method was removed and the logic was moved in the EnableNext method. The OnPageUpdated
method that fires this is now called every time the checks start.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- no need to register the XenObjects events with the ArchiveMaintainer since
what the handler does is not specific to this class; this can be done on the
Performance page where the events are also registered.
- set directly the ArchiveMaintainer's XenObject to the new value without
setting it intermediately to null as this causes a full data download event
if the object has not changed.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
calculating the AfterApplyGuidanceActionsForPatch twice when the patch had
mandatory guidance.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
it's obvious what it is. The Session's uuid will be deprecated from the API bindings.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-280329: Fix CrossPoolMigrateDestinationPage with Current Server showing
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CA-280329: Refine usage of CreateTargetServerFilterList
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CA-281646: Do not download the update again when using an update from disk
When applying a "new version" update, XenCenter starts an automated updates sequence that by default downloads all the updates. However, when using an update from disk, we shouldn't download it again.
With these changes, when an update from disk is used we save the [update, path] mapping, which we then use in the automated updates sequence, so we don't download that update again.
Also fixed a bug where a zipped update file from disk is not identified as a new version.
* CA-281646: Remove unused directive
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Also, changed the access modifiers of several members to private, because they don't need to be exposed outside the parent class.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-280287: Fix the null reference exception on the Import wizard
- Added a check so that we don't attempting to show the license warning if the wizard is open without a preselected host/pool.
- The license warning is now updated whenever the host selection changes; plus, we are not attempting to show it if the wizard is open without a preselected host/pool.
- Also a minor refactoring in the GlobalSelectHost page to fix this issue: when the wizard is open with a pre-selected host, we pass this to the page by assigning SelectedHost property, which in turn sets the m_selectedHost. The getter for SelectedHost resets m_selectedHost to the selected item in the host list. If the getter is used before the host list selection is updated, then the desired pre-selection is lost, because m_selectedHost is reset to null.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-280287: Corrections following code review
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- The new "server selection" precheck is added for Inverness or greater pools and checks if all the servers in the pool are selected (if update not already applied) when applying an update that has the "enforce-homogeneity" flag set to true
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Reserved space for the warning message that is displayed if the XC machine is running an older version of the RDP control
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-25564: Changed clusteringEnabled variable
* CP-26026: Added a link to enable clustering on SR Wizard
* CP-26026: Tweaked according to PR feedback
* CP-25967: Added license restriction for GFS2
Signed-off-by: serenc <seren.corbett@citrix.com>
- the dialog had no minimum size
- although resizable, the dialog had no grip
- one of the labels was not autosized
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CA-272131 Added messages to show status of autostart
* CA-272131 Tidied Disable and Enable Autostart Messages
* CA-272131: Changed parameter
Signed-off-by: serenc <seren.corbett@citrix.com>
Instead of showing the cross-pool migration upsell dialog, we now show the wizard, where user can try to perform an intra-pool copy (the cross-pool option is disabled with an explanatory message displayed)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* L10n: Inverness
build_chm # 24
* Revert "L10n: Inverness"
This reverts commit 8b41bb8c79cd4d73ed6021a5533cf7624a5421c4.
* L10n: Inverness
CHMs from build_chm master-l10n #24
Second attempt at checkin with a merge conflict resolve. (I hope)
We always add the VM wizard button to the migrate dropdown, but it's
currently not added until the end of the enable loop - after we've
calculated whether we can boot on each host. There's no reason to wait
until we've done all that before showing the wizard, so add it straight
away to the end of the list before the loop.
Signed-off-by: Callum McIntyre <callum.mcintyre@citrix.com>
When we right click migrate a VM we load all the hosts in the pool into
a dropdown, and then one-by-one assert whether the selected VM can boot
on that host, enabling each option where this is positive. If the
dropdown is exited then nothing stops these assert calls from
continuing, and looking at the logs we can see that they do.
With a large pool this is problematic because the UI basically locks up
until it's completed all these asserts, even if we've already selected a
host to migrate to. If we try to migrate another host then we see in the logs that both the old thread and new
thread are making `assert_can_boot_here` calls, and the UI for the new
thread doesn't function until the old one has finished.
This commit adds a new property `_isDropDownClosed`, which is set by the
new `OnDropDownClosed` event handler. In the loop enabling dropdown
items, each iteration we check this property - and if it is true then
the dropdown is no longer showing so we stop the loop and thus don't
call any more `assert_can_boot_here` commands. This stops the UI locking
up after the dropdown is closed.
Signed-off-by: Callum McIntyre <callum.mcintyre@citrix.com>
Increased the wait between host_enable attempts, allowing to wait more for the host to reboot.
This will affect Automated Updates and other normal Patching Wizard
operations as well.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
CA-267330: [Update Wizard Improvements] The Update wizard: block the installation of an update on slaves if a reboot or a toolstack restart is pending on master
* CP-25081: UI improvements for USB passthrough
* CP-25081: Show text when AttachUsbDialog list is empty.
* Fix comments.
* Improve the presentation of warnings in USBEditPage.
* Update warning text of attach usb dialog.
* Simplify the layout of Attach USB Dialog.
* Check if USB devices plugged before showing UI.
* Fix comments.
* Fix comments.
* Improve code.
when the max tolerance is being calculated, the text and icon on top of HA
wizard is no longer visible after this fix.
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CP-24412: Apply a filter before adding USBs to candidate list in Attach Dialog.
* CP-24333: Apply HA restraint.
* CP-24412: Fix a merge error.
* CP-24412: implement actions to attach/detach/passthrough.
* CP-24412: Add license check before making UI components visible.
* CP-24412: Change layout of new components to Dpi.
* Fixed all comments.
* Fix comments.
* fixed comments
This is caused by the `waitingNtolUpdate.waitOne()` call being at the end of the loop, not the beginning. The reason is that the `waitingNtolUpdate` is set during the first iteration (before the thread even gets loaded) - because the setter for Settings in this file sets it (and that's set by the setter for AssignPriorites.Connection, which is set in the HAWizard constructor). So when the thread first spawns we do the calculations, then get to the `waitOne` lock, which is set so we go back around the loop and calculate everything again before returning to the lock and waiting to be triggered. The correct behaviour is to trigger only once on the page load, and then only when re-triggered. To achieve that I've moved the `waitOne` call to the beginning of the loop, so that (assuming the `waitingNtolUpdate` lock is set before the thread is first started) we immediately run the calculations and then stop at the beginning of the loop waiting to be triggered again. This means that on page load (and after each re-trigger) we only calculate once.
The assumption that the lock is set before the thread is triggered is currently valid, because as mentioned above it's currently set by the setter for Settings which is indirectly called by the wizard constructor. I don't want to rely on that behaviour though because it's very indirect, so just to be safe I've added an explicit set just before the thread is triggered so that it's guaranteed to run the calculations the first time. This isn't strictly necessary but seems better than relying on the existing implicit setting. Since we use the same mechanism just in a different place, all the existing code that sets `waitingNtolUpdate` continues to trigger this thread as expected.
Following pattern would be caught when using "XenCenter" "XenServer" and
"Citrix":
1) not "[" or "/" or """ on left of the brand string
2) brand string followed by space followed by not "p", and optional letter
3) optional letter followed by space followed by the brand string
4) brand string followed by "," and optional letter
5) begin with the brand string
6) end with the brand string
tested with all .resx files
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CP-24709: Add a warning in the New VM wizard and Import wizard if the pool is licensed using XD/XA entitlement
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24709: Add a warning in the New VM wizard and Import wizard if the pool is licensed using XD/XA entitlement
Fixed unintended designer code additions/changes
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
The bug is that when XC does not connect to Internet, By Server Update
page shows all the hosts up to date.
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
Show expired licenses as Unlicensed in the Header
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
Improvements, fixes following the code review
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
More code to make it nicer
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CP-24707: Add license status information to the title bar for pool and hosts
More code to make it even more nicer
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Based on comments from doc team:
1) Column title "Patching Status" should be replaced by "Status" in csv file
2) In View dropdown, "By Host" should be replaced by "By Server"
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
* CP-24331: Add UI for UsbTab and VM Usb Property
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Update XenAPI reference
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Add AttachUsbDialog
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI changes
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Discard UsbList and little refining to code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine UI code
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
* CP-24331: Refine USBEditPage
Signed-off-by: Kun Ma <kun.ma@citrix.com>
Also includes some improvements to the Select Pools page of the RPU wizard
- do not show the checkbox if the item is disabled
- show the icon for the pool items, not only for hosts (making this consistent with the similar page in the Update Wizard)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The commit fixes bug and unify sorting rules in ManageUpdatesPage,
PatchingWizard_SelectServers and RollingUpgradeWizardSelectPool data
grid views.
The rules are:
1) Name column sorted purely by name.
2) Other columns sorted by string value, if the same, sorted by default,
which is still in order even in reverse direction.
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
1) Show required updates in case of versions without minimal patches
2) Hide version text in installed updates when version is Ely or above
Signed-off-by: Ji Jiang <ji.jiang@citrix.com>
server time (previously on the UI thread) and also update the message list
for each snapshot schedule. Preserve column sorting and multiple selection
when the list is rebuilt. Do not enforce minimum size on the form since it
is not resizable.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
on the VM Snapshots page; update VM's status on the Snapshots page when the
VM's membership in a policy changes.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Merged the PolicyHistory control into the dialog; removed legacy column from
the policies datagridview; put retrieval of messages on a background thread
to avoid UI freezing if there is a huge number of messages; retrieve messages
only when the VMSS collection changes and not every time the run history grid
is repopulated; sorted out button enabled state.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
Fixed a bug that caused XenCenter to try to apply an update (that the user manually selected) multiple times and therefore failed. This was only present when the Select All button was used.
it's not needed as it does not make server calls. Some more refactoring and corrections
here and there.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
prevent them from being serialised alongside the API properties. This will also
be useful for moving the API bindings out of XenModel.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Change the "Web page" column alignment to TopLeft, to match the other columns
- When trying to find an alert from a filename, use the patch name instead of the alert name, because now the alert name can also be a version name
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
CUs are available as both updates and upgrades, but they should be presented as updates where possible.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When the update precheck fails with UPDATE_PRECHECK_FAILED_UNKNOWN_ERROR, we try to find the actual error in the failure's parameters (in the form of an xml string containing the error code) and display that error instead of the "unknown error".
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added app manifest to explicitly target XC to all windows versions from Vista to Windows 10 so that the Environment variables will reflect the correct Windows versions. Note that "Manifesting the .exe for Windows 8.1 or Windows 10 will not have any impact when run on previous operating systems." [1]
[1] https://msdn.microsoft.com/en-gb/library/windows/desktop/dn481241.aspx
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Add the toggle to enable/disable IGMP snooping.
Display the property if the pool is licensed
and the network backend is OVS.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
Also restrict the use of build number as an integer to pre-Ely hosts (because a Honolulu host has a non-numeric build number and XenCenter doesn't know the difference between Ely and Honolulu)
And a small update to the pool join rule to match what we have in Honolulu XenCenter (check the database schema regardless of the version)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
once for all the items to be removed, passing in their list as argument. This method,
and the method Clear calling it, are used for alerts, updates, events and connections,
hence changed the handling of the CollectionChanged event in these cases to expect
either a single item or a collection. In the case of alerts, updates and events
this means that we can rebuild the whole list instead of removing single rows which
causes the application to hang for big numbers of items.
* CA-235459 - G11n:SC: The numeric tag for “Disks” and “Network” is overlap on the search window.
* CA-235459 - G11n:SC: The numeric tag for “Disks” and “Network” is overlap on the search window.
- use col widths from resource file instead of hardcoded values
* CA-235459 - G11n:SC: The numeric tag for “Disks” and “Network” is overlap on the search window.
- safer implementation
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>
* CA-249823 - Accept zip files in Updates Wizard
* CA-258326 - Improve implementation of CA-248823(Accept zip files in Updates Wizard)
* Small unrelated bugfix: Stop selectFromDiskRadioButton being checked when
restoring dismissed updates.
Signed-off-by: Letsibogo Ramadi <letsibogo.ramadi@citrix.com>