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.
- Add code to check license before offering quiescing on the VM Snapshot dialog
- If the feature is not available, the message displayed is: "This feature is disabled due to license restrictions on the server."
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Thick provisioning - > Fully provisioned
- Subsequent allocations -> Incremental allocations
Also, updated the Next button on the Location page of HBA SR, to say "Next" for Dundee or greater and "Create" for pre-Dundee pools.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-When detaching an SR, we detach the slaves first
-When reattaching the SR, we attach the master first
This fix was required by thin provisioning, but it does worth to use the same logic regardless of the provisioning method.
CA-157785: Hotfix wizard forgets which servers should be greyed out.
When clicking Download and Install update in the Updates Tab, instead of opening a new dialog, it opens the Updates Wizard on the Select Servers Page and download the file in the Upload Page.
Fixes issue regarding the upload of the update every time that the user gets to Upload Page. Now it only uploads it if it has not been uploaded before.
Fixes issue regarding the download of the update every time the user goes back to the Select Patch Page. If the user goes back, but does not change the choice of the update, the download will not be done again.
- Changed the friendly error name for VM_HOST_INCOMPATIBLE_VIRTUAL_HARDWARE_PLATFORM_VERSION to "The VM's Virtual Hardware Platform version is incompatible with this host."
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added CallHomeSettings.TryParseStringToDateTime() function, which does not throw an exception if the conversion fails
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added new fields to the Health Check Settings dialog (XenServer credentials)
- these credentials are saved as xapi secrets, and on un-enroll they are being removed
- removed the Authenticate button; the authentication is now done on pressing the OK button
- the Health Check Settings dialog is displayed on "Enroll now" and "Edit Health Check settings"
- display the "Last Successful Upload" on the Health Check Overview dialog
- use uniform format when converting time to string and string to time
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
When an upload request is triggered,
1. fetch the upload token from CallHomeSettings,
2. generate the server status report and upload it to CIS server,
3. update the corresponding fields of CallHomeSettings when the
upload is finished successfully or failed.
Signed-off-by: Hui Zhang <hui.zhang@citrix.com>
In the CallHomeAuthenticationAction.SetUploadTokenSecret() check if the tokenKey is null (public static, may be reused later).
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- When "Request upload now" is clicked, instead of disabling it, change the link to an unclickable text saying "Upload requested at....".
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- show new NIC column on the Location page (visible for FCoE only)
- display the summary page
- resource strings for default SR name and the blurb on the first page in the wizard
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- 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>
- Added "FCoE Capable" column, showing FCoE capability as Yes/No values in the NICs grid
- This column is only visible for Dundee or higher hosts
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Changed code, because API needs 0-100 percent values as 0..1
-Code for HBA SRs
-Changed free space check for new VDIs to condider initial disk size only
when the SR is thin provisioned
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Changed the friendly error name for VM_HOST_INCOMPATIBLE_VIRTUAL_HARDWARE_PLATFORM_VERSION to "The VM is incompatible with the Virtual Hardware Platform version of this host."
(This commit also includes changes to the auto-generated designer file, which have been missed n a previous commit)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- update XenModel with the api bindings containing xapi fields and methods related to this task
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Returns true if this VM is Windows.
Ignore PV guests, then check if viridian platform property is set.
This is based on the assumption that the viridian flag is always true for a windows VM.
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Added this information on the VM's general tab, and it could be one of the following:
- Operating mode: Paravirtualized (PV)
- Operating mode: Fully virtualized (HVM)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
testSafe2Upgrade pugin function in prepare_host_upgrade.py is called as part of the RPU pre-checks
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- changes following code review
- added some more logging of exceptions, also some null checks
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
Changed the name of the operation in XenCenter to "Migrate VM" for suspended VMs, instead of "Move".
This clarifies the distinction between copy/move and migration:
- running and suspended VMs can only be migrated
- stopped VMs can be moved and copied
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- changes to the text to be suitable for migrate and copy operations, where possible
- added different text for copy on some pages
- also different text for single and multiple selection
- changes to text alignment, tab order, hotkeys on the copy pages
- removed Finish page from the intra-pool copy wizard
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- while upgrading a host, throw a HOST_OFFLINE ("Server could not be contacted") exception if the host can no longer be resolved (instead of HANDLE_INVALID)
- also corrected the parameters of the HANDLE_INVALID exception, as an extra parameter is needed for the friendly error name.
- in the UpdateManualHostPlanAction class I replaced Host with the private property _host in several places, so we are no longer trying to resolve the host each time we want to write something into logs
- added some null checks, to avoid reporting null reference exception
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added some null checks
- in the Cross pool migrate wizard, add Transfer network page for all cases except intra-pool move (which is performed via VMMoveAction)
- added comments to VMCrossPoolMigrateAction constructor to make it cleared what the copy parameter means
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- modified CopyTemplateCommand to launch a cross pool copy if permitted
- added CrossPoolCopyTemplateCommand which opens the Cross pool migration wizard in "copy" mode
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- added a "copy mode" page to the Cross pool migrate wizard (when in copy mode) where the user can select intra-pool or cross-pool copy
- If intra-pool option is selected, then the wizard will display a page similar to what we currently have in the Copy VM dialog
- If cross-pool option is selected, then the wizard will display all the cross pool migration pages
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- modified the VMCopyCommand to launch a cross pool copy if permitted
- added the CrossPoolCopyVMCommand which opens the Cross pool migration wizard in "copy" mode
- modified the cross pool migrate action with an extra "copy" parameter, which will add a copy option to the vm.migrate_send function call
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- 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>
"* New SR wizard -> Type page: Add more info for CIFS (similar to what we display for NFS)
* New SR wizard -> Type page: Rename the other types to:
** Virtual disk storage: NFS, iSCSI, Hardware HBA, CIFS
** ISO library: Windows File Sharing (CIFS), NFS ISO
* Autogenerated description should say "CIFS SR" (not NFS SR)
* SR type (as displayed on the General tab for a CIFS SR) should by CIFS (not Unknown)
* New SR wizard -> Location page for CIFS: correct tab order"
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Added missing parameter to get_required_space plugin call.
-The required space is not shown in the notification when we are unable to tell how much space is required .
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- Show ports as: Address: 0.0.0.0; Public port: 8088; Private port: 8088; Protocol: tcp (multiple lines if more than one set)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-updating Errors property in SrWizardType_Cifs with the Failures that can occur when doing CIFS SR operations
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Implemented changes as follows (copied from ticket):
"I'd suggest the following use-ability/homogeneity fixes for the new container management tabs, if they are quick and easy:
Combine "Docker Version" and "Docker Information" on the VM-General-tab into "Container Management - Docker Status" with the following fields only:
API version
Version
Git Commit
Driver
Index Server Address
Execution Driver
IPv4 Forwarding
In the "Processes" tab, change the name from "Docker Processes" to "Container Processes"
In the "Details" tab, change the name from "Docker Detail" to "Container Details"
In the "Details" tab, drop the top level element "docker_inspect" (XML requires a single root-node, afaik the Windows form treenode does not), or alternatively open the root node by default and rename it to "Inspect Result"
In the "Details" tab, add the "Details"-headline in black on white - just like on the "Processes"-tab
Also, on the container's General tab, show Properties button disabled, instead on hiding it (to be consistent to other cases, e.g. disconnected servers)
"
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Removed extra filters, but the default combined one
-removed xsoem extension from the related error message
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-Now there are three filers in the open file dialog: updates&supp. packs, updates, supp. packs
-Also removed xsoem extension from the filter, because it is not supported anymore
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- The problem was that we didn't create a vgpu if the vgpu_type was null. But for Linux HVM, this is gpu passthrough case.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Added support for CIFS (SR type, SR Wizard)
-Added some Debug.Asserts to the Create SR action to watch for clear text paswords
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- When the install fails, log the full error description
- Added a specific exception for the supp pack installation failure
- Better action title (depending on the number of servers it applies to)
- Added a "More Info" button on the "Update" page, which displays a message with more information on the supp pack installation failure
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- If failed to retrieve the config parameters, then make the ConfigDriveTemplate textbox read-only and display the reason why it is not editable (similar with what we do for running VMs).
- In the New VM Wizard, if the action on "Reset to Default" button fails, then popup a message box with an error saying that we were unable to retrieve the default parameters. In this case, the ConfigDriveTemplate textbox remains unchanged.
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>
- Disable the Refresh button while a refresh is in progress.
- Introduced ExecuteContainerPluginAction - an action that stores the container it was called for, so that on completion we can decide whether to update the view or not (if the container displayed has changed, then we shouldn't update the view with the results from a previously selected container).
These changes apply to container Processes and Details tabs.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Following code review: Asserting instead of doing checks, because it makes more sense here
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
-ServerXenObject-PropertyChanged eventhandler now returns immediately for a non-VM sender
-Changed IXenObject to VM wherever possible to explicitly state that those methods are expecting VMs
-The UpdateDockerContainersForVM method sets the dockerContainersChanged flag only if there are changes
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@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>
- Show a “Read Caching” section on the General Tab of a VM when the VM is running on a Cream or greater host
- When the Read Caching is enabled, the “Read Caching” section will contain two entries: Status and Disks (list of disks with RC enabled)
- When the Read Caching is disabled, the “Read Caching” section will contain two entries: Status and Reason
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Pool_patch.precheck can fail with the xapi error OUT_OF_SPACE when is trying to copy the patch from master to the slaves. This happens before the patch-precheck checks if enough space is available for installation. Therefore is different from the error we are currently processing, PATCH_PRECHECK_FAILED_OUT_OF_SPACE
- If the precheck fails with OUT_OF_SPACE then we try and retrieve the disk space requirements and report a HostOutOfSpaceProblem.
- Changed the PatchPrecheckCheck to try and find problem from a xapi failure, as well as from the result of the precheck call.
- Also removed ampersand from the the link labels (More Info and Clean up)
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>
- Showing all detailed information from a docker_inspect call
- The information refresh/polls every 20s while it's open
- Button “Refresh” add, so user can refresh the result. Also shows time when the last refresh happens.
- Add TabPageDetails as value 9903 in HelpManager.resx
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
-Added HostOutOfSpaceProblem to let the user to clean up disk space when getting PATCH_PRECHECK_FAILED_OUT_OF_SPACE error at precheck stage in the patch install wizard.
-A bit of refactoring of DiskSpaceRequirements class in order to be reused here
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
- A VM can have vGPU if it is HVM and the the allow-vgpu restriction is absent or is non-zero
- allow-vgpu is 0 for HVM Linux VMs
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- set container's opaque_ref to parent.opaque_ref + uuid, to make it unique inside a connection (the uuid is only unique inside a VM)
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1.Add ports and command in DockerContainer object
2.All labels in General box are internationalized.
3.Add UUID, command, ports in General box
4.Export DockerContainer in ICache
5.Modify tab title to "Container General Properties"
6.Remove properties button
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
- when we update the containers, we should update existing objects (if they exist), instead of always creating new ones.
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>
- don't update the progress bar when checking disk space (only the description)
- the color used for "in progress" action description (above the progress bar) should be the system default font color, not black
- actions should throw ArgumentNullException, not NullReferenceException
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Before starting the upload to the master hosts, check if there is enough disk space (check only performed for Cream or greater hosts)
- If enough space available the upload starts automatically; otherwise an error is displayed
- If we can free up enough disk space then we offer the option to Clean up. Otherwise we provide the user with the information on required and available space and the user will have to manually free up required space.
- Also Disable the Upload page for oem updates
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
-Fixing regression because of failing unit test: XenAdminTests.SearchTests.SearchMarshallingTests.RunTest
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
The 'Updates' section on host's General tab displays which packs have been installed onto a host, including the version number
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
UploadSupplementalPackAction:
- use http-put with the default timeout
- throw current exception in RemoveVDI (instead of encapsulating it in a new one)
- add other_config key before uploading to make sure the vdi has this flag set from the beginning of its lifetime
- upload progress bar now shows the total progress per row
Also included a cosmetic rewrite of PatchingWizard_PatchingPage,GetUpdateName function
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- add an entry in the VDI's other_config to identify it as supp pack iso, so that we can easily find these vdis and remove if needed
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
1.Add xapi version check in cream since Cream and Creedence have the same platform version
2.Check feature-ts2 to see if turn on RDP feature can use on specific VM PV tool
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
- Select a supp pack in the hotfix wizard
- Recognise that it's a supp pack not a hotfix
- Check if there's enough space on a SR to contain it: (1) default SR if shared or (2) any shared SR or (3) local SR on each host in pool
- Create a VDI to contain it
- Upload the supp pack to the VDI
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- In the case that there are two hosts in a pool, one with GPU and one without, then the one without will display a text saying "There are no GPUs on this server".
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
Instead of showing just the name, this code is showing name with location information in title for all objects that appear in the tree view.
(A new property (NameWithLocation) with a getter accessor defined in IXenObject and has been implemented as virtual in XenObject and overridden at several child classes.)
Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
Show pool (or standalone server) name on the Upload page.
Also corrected some resource strings.
Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
- Added new page to the patching wizard, called "Upload" which displays the upload actions for each server and the progress of these actions
- MultipleAction: added the functionality to optionally stop the action on first failure
- Fixed the error where an existing patch downloaded from another server and then uploaded to a new one was not deleted on cancelling the wizard [CA-156788]
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>