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>
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>
There were times when "HasUpgradeSupportInManagementAgent" was needed, but not anymore, so this commit is changing code to use only VirtualisationStatus.MANAGEMENT_INSTALLED again.
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>
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>
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>
Revert "Merge pull request #708 from GaborApatiNagy/master_windows_update"
This reverts commit fe03f1382f, reversing
changes made to 423065a2c8.
Conflicts:
XenAdminTests/TabsAndMenus/MainMenuGeorge.cs
- 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>
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>
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>
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>
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>
- 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>
- 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>
- 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>
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>
- changes following code review
- added some more logging of exceptions, also some null checks
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>
-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>
-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>
- 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>
- 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>
- 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>
- 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>
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>
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>
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>
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>
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>
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>
-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>
- 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>
- 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>
- 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>
# 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>
# 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>
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>
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>
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>