- For Dundee and newer hosts: the feature is restricted only if the "restrict_ssl_legacy_switch" flag exists and it is set to true
- For pre-Dundee hosts: the feature is restricted if the "restrict_ssl_legacy_switch" is absent or it is present and set to true
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Moved MD5Hash function from EncryptionUtils to HTTP class.
Replaced unnecessary new string/List-related functions with existing methods.
Removed redundant string.IsNullOrEmpty() call.
Changed duplicate hotkey in Connection Options page.
Signed-off-by: Frezzle <frederico.mazzone@citrix.com>
VM with the hci-warn-before-shutdown flag. Minor changes to make the warnings for
rebooting and shutting down more consistent (preselect the No button for rebooting;
extended the Yes button text; modified warning text)
Now transfers proxy credentials in encrypted format and checks for default empty credentials when loading them for first time.
Fixed a break in unit test in HTTP.ReadHttpHeaders().
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
[CA-211369] Console switching when snapshot completes
ConsolePanel.setCurrentSource() being called in ConsolePanel.Snapshot() was causing the console view to switch to the target snapshotted VM's console, but only if the user is already on a console tab. The screenshot now happens before the snapshot begins, instead of after; this way, the screenshot always occurs when not on the console tab.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Removed last bits of code relating to "Bypass proxy server for local addresses" option.
New proxy settings are sent from XenCenter to health check service and used to configure the proxy using GetProxyFromSettings().
Health check service now correctly saves its proxy settings and updates the static Proxy property for the Session class; done in new ReconfigureConnectionSettings().
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Added 2 textboxes for proxy username and password; encrypted when saved and decrypted when loaded.
Added 2 checkboxes; one for bypassing proxy for xenserver connections, one for providing proxy credentials.
Removed checkbox for bypassing proxy for local addresses.
Controls are no longer enabled/disabled when the related proxy option is selected/deselected.
Making changes to a control (e.g. username, bypass checkbox, etc) selects the 'Use this proxy server' option automatically.
Removed "Bypass proxy server for local addresses" option.
Basic and Digest authentication implemented. Tested with FreeProxy (Basic+Digest), CCProxy (Basic) and AnalogX Proxy (no authentication); each were tested with correct credentials, incorrect credentials and missing credentials; all gave expected results.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
If the license does not allow VM migration, then cause the VMs to be shut down / suspended on the pre-checks page
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changed heading from Recommended Updates to Required Updates following further discussions around wording
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Showing recommended* hotfixes for servers when the data is available (Check For Updates xml has been downloaded and has minimalPatches node in it for the given server version). *:Not applied ones from the minimal set.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
* CA-77990: Report required actions for all VMs at once in the hotfix wizard / RPUW
* CA-77990: Resolve precheck problems in parallel in the Patching wizard
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-77990: Resolve precheck problems in parallel in the Patching wizard
Changes following code review: Made the ParallelAction work across connections and removed CrossConnectionParallelAction
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
* CA-77990: Modified ParallelAction to create queue on RunSubActions only, with the correct queue size
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Added support for defining custom update.xml location in Registry. This
can be either a local file or an URL. This will be beneficial when testing XenCenter.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Changed the FolderAction class so that it can be used to delete or move multiple folders across connections, instead of having multiple actions (one for each holder) which can not run in parallel.
- The api calls that update the EMPTY_FOLDERS entry in pool's other_config are preformed last for all connections, avoiding cross-thread exceptions when two threads try to add/remove the same key.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Calling disable as best effort. (We always call disable AD before enabling AD - CA-48122)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
DownloadUpdatesXmlAction is called on PageLeave and not when the user selects Automatic Mode. This way we get the error message at the right time, also showing a progress dialog what makes the UX much better.
New tooltips for servers on the Select Server Page to to cover two more cases
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
My commit fixes the error message so the dialog will show "Could not create SSL/TLS secure channel." instead of "An unknown error occurred". This text is localised.
Unfortunately we see only a WebException with Status=SecureChannelFailure with no other details - couldn't provide an improved error message
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Added AD-related strings to japanese and chinese resource files; still need translation.
Changed F1/Help mapping of the AD upsell tab to go to the 'Managing Users' help page.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
Implemented error handling.
If there has been an error in a pool, we stop executing actions in that pool immediately, and report the error once every other actions have finished. Error in one pool will not affect the upgrade process of other pools.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Try to get the analysis progress from cis (as an integer value representing percentage 0 - 100). If this function returns a valid progress less than 100, then we don't try to get the report analysis and continue to display "Analysis not yet available"
- If the progress is 100 then we get the analysis result and display it
- If the progress cannot be obtained, then we try to get the analysis result; If an empty result is obtained within 10 minutes from the upload completion, then we assume that the analysis is still in progress and continue to display "Analysis not yet available"
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Check different feature flag for Windows VMs on Dundee to detect Dundee guest agent. For earlier versions nothing is changed.
This will cause XC to report "Management not installed" for Windows VMs on Dundee hosts with Cream guest agent (This is the case when a host has been upgraded from Cream to Dundee).
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Added a Precheck to the RPU wizard, to check if the hosts in the pool have different CPU feature sets (using the old feature check for pre-Dundee pools) and display an error, offering to shut down all VMs.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
XAPI expects "OpaqueRef:NULL" in the value field to unassign a VM from
a particular policy, however XC is sending an empty string "". As a fix
the empty string is replaced with Helper.NullOpaqueRef.
Signed-off-by: Sharath Babu <Sharath.Babu@citrix.com>
Disableded non-required pages in the wizard
Added placeholder for new pages
Changed sequence of pages
Removed unnecessary code
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Intra pool migration should be restricted only if the "restrict_xen_motion" key exists and it is true, as this license key has been introduced in Dundee and therefore pre-Dundee hosts won't have it
Signed-off-by: Mihaela Stoica <Mihaela.Stoica@citrix.com>
- Added PoolPatchCleanAction which is called for each pool after the patch has been applied on all selected hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
There is a new pool join rule in xapi: the joining host may only have physical PIFs, i.e. no bonds, VLANs and tunnels (cross-server private networks). This is checked by asserting that for all PIFs of the joining host, PIF.physical = true. When this occurs, people should be encouraged to manually remove any existing bonds, VLANs or tunnels and try again.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
1. Changed the Messages to remove ambiguity between scheduled snapshots and
snapshot schedules
2. Made some functions as properties in IVMPolicy
3. Removed some redundant code
Signed-off-by: Koushik Chakravarty <Koushik.Chakravarty@citrix.com>
Localized the url of the Home Page. Globalization team can now reference different files per localization in InvisibleMessages.resx. (Eg. HomePage.ja.mht) The file then has to be added to XenAdmin.csproj, similarly to HomePage.mht.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
1. Run 'docker attach' if user clicks 'View Console' button.
2. Run 'docker logs' if user clicks 'View Log' button.
3. Make IPAddressForSSH a property of VM for common usage.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
- XenCenter build system picks up the RPU hotfixes from Artifactory
- RPU001 and RPU002 replace XS62E006 and XS65ESP1006
- Removed hotfixes from the solution, moved XS60E001 to Branding folder
- also cleaned up code in the HotfixFactory class, removing MNR and Cowley hotfixes (not supported anymore)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Fixed code to treat uuids of patches case-insensitive when consuming, but not changing them (eg. to lowercase) to keep compatibility with older XAPIs.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- InvisibleMessages.resx contains the default value for the saved search (xensearch), which can be overwritten in Branding.cs
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- InvisibleMessages.resx contains the default value for the update file extension (xsupdate), which can be overwritten in Branding.cs
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- InvisibleMessages.resx contains the default url for check for updates, which can be overwritten in Branding.cs
- Added an extra parameter to DownloadUpdatesXmlAction for the updates url. If this is not specified (or null), then the default one (from InvisibleMessages) is used
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
If the new field is not present, we'll fall back to the old method, which is by
name_label (SR.is_tools_sr/VDI.is_tools_iso will be false in that case).
Signed-off-by: Rob Hoes <rob.hoes@citrix.com>
Cherry-picked from cream-indigo:
CA-190393: Update the function that calculates pool license
- use Host.GetEdition function, as this function interprets xapi license string "basic" as Free license in XenCenter
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Cherry-picked from cream-indigo:
CP-14857: Add "premium" license edition
CP-14857: Add premium license edition for CN version
CA-190342: Add friendly name for "basic" edition
- also hide the Status field from the License Details section if the license is basic
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Setting Host or Pool on the ApplyLicenseEditionAction when there is one XenObject in the list
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
There were times when "HasUpgradeSupportInManagementAgent" was needed, but not anymore, so this commit is changing code to use only VirtualisationStatus.MANAGEMENT_INSTALLED again.
Updated the GetLocation extension method for ActionBase objects to return action.Connection.FriendlyName should it have no Host or Pool set up. This way we see location for MeddlingActions.
Also changed some messages (Task Names) to include "VM" in them too, because xe command line initiated VM lifecycle actions looked really misleading after the above fix in XenCenter (Eg. restarting a VM would show up as "Restarting", "server" which would suggest that not just the VM, but the host is being restarted.)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
VM.IsWindows will try to use guest_metrics referenced by the last_booted_record when the guest_metrics on the VM is not available.
This gives some extra chance to detect a Non-Windows VM.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
This changeset implements the followings:
On creation of a new VM,
* XenCenter will use licensed state of the host to determine whether it should obey/apply the template-recommendation regarding the vendor device.
* If the host is licensed, and the selected template's recommendations suggest that has_vendor_device can be set/should be set to true, as part of VM creation, XenCenter will set the vm's has_vendor_device based on the recommendation using set_has_vendor_device API call (after it has cloned the template and before calling vm.provision).
* XenCenter will not expose details whether 1G or 2G VM is going to be created.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- set a timeout on this function so that, after 2 minutes, we give up on waiting for the task status to change and just report the error
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
The restriction that Storage Motion was not possible in the presence of WLB has been removed in Dundee. This commit removes the check in XenCenter.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Show "Able to receive Updates via Windows Update" or "Able to receive Updates via Windows Update" for Windows VMs
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
VM.IsWindows flag is getting clever
As this property is used on the General tab and on the SSH Console, HVM Linux VMs with the viridian flag turned on will no longer be treated as Windows VMs (as long as they have the Linux Guest Agent running)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Dom0 memory alerts have to be configured in the other_config of the control domain (dom0) and not of the the host. This changeset implements this exception.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Now CrossPoolMigrateCanMigrateFilter can accept a parameter to decide whether to allow same target pool or not -- if allowSameTargetPool is false, it won't.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Fixed the exception that was caused by a missing null reference check and also the fact that the license status had to be watched only for pools and hosts, so added a check before starting watching the license status of the IXenObject (on GeneralTabPage)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
UrlEncoded all the strings that are used to create URLs. (Such as untrusted user input: string fileName)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Revert "Merge pull request #708 from GaborApatiNagy/master_windows_update"
This reverts commit fe03f1382f, reversing
changes made to 423065a2c8.
Conflicts:
XenAdminTests/TabsAndMenus/MainMenuGeorge.cs
All tests now pass, via a combination of
a) Use more up to date databases
b) Delete obsolete tests
c) Edit the version number in the databases (these should be fixed later)
- vendor check is not needed in the functions where we check whether to warn the users about different feature levels, as the pool join is not allowed if the vendors are different
- renamed some of the functions
- feature comparison is now done eight characters at a time, converted into a 32-bit integer
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added Case Number edit box on the Destination page of the wizard
- valid case number needs to be 9 or less digits
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Feature leveling should "just work" for Dundee and higher hosts, without the need for us to level them explicitly
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- the remove is needed here because now we are doing these calls in DoWithSessionRetry, and sometimes even though a WebException is thrown, the key is added to the other_config and a then a retry fails
Implementing Upgrading VMs to Windows Update
New screen features:
-Create skeleton of the Upgrade VM dialog
-Implement a Go To Console link (just a link that opens a vm console)
-Implement logic to show the right status for a VM (includes rules to
get the states). Includes updating the dialog whenever the status changes.
-Add status texts to Messages, proper text on the UI
-Add stub methods to VM class in XenAPI-Extensions to r/w states from
Guest Agent
-UI: Implement rules what vms to display, checkbox rules, read only vms,
and when to enable the Upgrade button
-Implement Upgrade button (writes state for GA, mounts ISO) + maximum
parallel executions/actions
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
When the pool's ssl_legacy settings are changed, we may temporarily lose connection. The action generally copes well, because PollToCompletion is aware of the ExpectDisruption flag.
But when the action's RelatedTask is assigned, we perform more api calls, which may fail with WebException. When disruption is expected, we need to ignore it and try again on a new session (CancellingAction.DoWithSessionRetry).
Fixed issues where total initial allocation for an SR was not calculated correctly. Also some minor improvements.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
The links displayed in the search result for not optimized VMs are:
- "XenServer Tools not installed", for all pre-Dundee VMs and Dundee non-Windows VMs
- "I/O not optimized" and/or "Management Agent not installed", for Dundee Windows VMs not fully optimized
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changed the virtualization state values on the search to: Not optimized, Unknown, Out of date, I/O optimized only, Management Agent installed, Fully optimized ("Management agent installed" not included)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Moving GetVirtualisationWarningMessages back to VM
Also added EVACUATE_HOST_INSTALL_MGMNT_PROMPT what is shown on the EvacuateHostDialog when a 'new' VM is given and Management Agent can be installed
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- If the new disks cannot be created because their total initial size is greater than the SR free space, then an error icon (with tooltip) is displayed and Next button is disabled.
- If the total size of the new disks is greater than the SR free space, but the disks can still be created (because the initial allocation is smaller), then a warning icon (with tooltip) is displayed and Next button is enabled.
- The tooltip mentions the initial space required for thinly provisioned SRs (initial allocation).
Signed-off-by: Mihaela Stoica <mihaela.stoica@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>
When creating a new VM, we no longer use vm.provision to create VM's disks, but instead we create the disks ourselves using vdi.create; this way we can specify the initial and incremental allocations for the new disks.
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>
Creates a new function MemorySizeStringSuitableUnits that takes one more parameter that specifies the units that must be used when the number of bytes is 0.
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>
- If an upload is marked as failed, then display it in the UI (but only as long as there is no successful upload done after that)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Not applied updates do not appear anymore in the General Tab of a pool. (Related to CA-180577)
- If we apply a patch that was already applied (happens when we take a file from disk that is not in the updates list taken from the Citrix website -> no metadata), on cancel we are now removing the uploaded patch from the host.
Changed all the health check actions to perform the necessary role checks
- HealthCheckAuthenticationAction: changed so it does not save the tokens, so no role checks required in this action (all the checks are performed in SaveHealthCheckSettingsAction)
- GetHealthCheckAnalysisActions: added role checks
On the Health Check Overview dialog, a pool is displayed as read-only if connected as a user with roles that don't permit changing the health check settings:
- the following actions are not available: enroll, edit settings, disable health check, request upload, get analysis result
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.
- change the URLs to the production site
- for development and testing these settings should be changed to the staging site via registry keys
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- no “the” is needed in front of “Citrix Insight Services” (e.g. “…authenticate with Citrix Insight Services…” and not “…authenticate with the Citrix Insight Services…”)
Signed-off-by: Mihaela Stoica <mihaela.stoica@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.