
On 27/02/2013 15:19, Gianluca Cecchi wrote:
On Tue, Feb 26, 2013 at 4:34 PM, Itamar Heim wrote:
userportal: spice client properties
Added the "Enable WAN Options" checkbox to the edit console popup. It is visible, when all of the following conditions are met: - the selected VM is a windows VM - the spice is available - the spice radio button is selected - the spice guest agent is installed on the VM
If the above conditions are met, and the checkbox is checked, the "WANDisableEffects" and "WANColorDepth" from the vdc_options table are set to the spice plugin as the "DisableEffects" and "ColorDepth" properties.
In other case, nothing is set to the "DisableEffects" and "ColorDepth" properties.
In my case
- the selected VM is a windows VM --> OK - the spice is available --> OK - the spice radio button is selected --> OK
- the spice guest agent is installed on the VM
here on oVirt we don't have the proprietary spice guest agent but spice-guest-tools-0.3.exe that install several things and also spice guest agent (cut and paste works for example) Can we say OK also to the latest point or do I need anything only present in proprietary agent package? In the first case it is a sort of bug (for example the check for agent needs to be changed...?), in the second one ok, I have understood the reason.
Thanks, Gianluca
this should work for ovirt as well, the check is only that there is no driver:
// If it is not windows or SPICE guest agent is not installed, make sure the WAN options are disabled. if (!getEntity().getvm_os().isWindows() || getEntity().getSpiceDriverVersion() == null) { getspice().setIsWanOptionsEnabled(false); }
and the driver name is based on ConfigValues.SpiceDriverNameInGuest, so please check the value you have there and compare to the name in the guest.
public static void UpdateVmGuestAgentVersion(final VM vm) { if (vm.getAppList() != null) { final String[] parts = vm.getAppList().split("[,]", -1); if (parts != null && parts.length != 0) { final String agentAppName = Config.<String> GetValue(ConfigValues.AgentAppName); final Map<String, String> spiceDriversInGuest = Config.<Map<String, String>> GetValue(ConfigValues.SpiceDriverNameInGuest); final String spiceDriverInGuest = spiceDriversInGuest.get(ObjectUtils.toString(vm.getOs().getOsType()).toLowerCase());
for (final String part : parts) { if (StringUtils.containsIgnoreCase(part, agentAppName)) { vm.setGuestAgentVersion(GetApplicationVersion(part, agentAppName)); } if (StringUtils.containsIgnoreCase(part, spiceDriverInGuest)) { vm.setSpiceDriverVersion(GetApplicationVersion(part, spiceDriverInGuest)); } } }