Shahar Havivi has uploaded a new change for review. Change subject: engine: RFE: set locale language and keyboard via Sysprep ......................................................................
engine: RFE: set locale language and keyboard via Sysprep We want to add ability for the user to specify the language layout via Windows Sysprep, added 4 new fields that represented the following Sysprep data: <InputLocale>en-US</InputLocale> <UILanguage>en-US</UILanguage> <SystemLocale>en-US</SystemLocale> <UserLocale>en-US</UserLocale> Change-Id: I414c1d097a7cf8e23b322ca0f23dcb9d66ac0691 Signed-off-by: Shahar Havivi <shah...@redhat.com> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmInit.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java M backend/manager/modules/dal/src/test/resources/fixtures.xml M backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd M backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/CreateVmVDSCommand.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommand.java D backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommandParameters.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.ui.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInitModel.java M packaging/conf/sysprep/sysprep.2k12x64 M packaging/conf/sysprep/sysprep.2k8 M packaging/conf/sysprep/sysprep.2k8x64 M packaging/conf/sysprep/sysprep.w7 M packaging/conf/sysprep/sysprep.w7x64 M packaging/conf/sysprep/sysprep.w8 M packaging/conf/sysprep/sysprep.w8x64 A packaging/dbscripts/upgrade/03_05_0100_vm_init_add_sysprep_locale.sql M packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql M packaging/dbscripts/vms_sp.sql 24 files changed, 326 insertions(+), 131 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/88/25488/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmInit.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmInit.java index 03d1beb..8383f85 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmInit.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VmInit.java @@ -23,6 +23,11 @@ private boolean passwordAlreadyStored; private String customScript; + private String inputLocale; + private String uiLanguage; + private String systemLocale; + private String userLocale; + public VmInit() { } @@ -125,4 +130,36 @@ public void setPasswordAlreadyStored(boolean passwordAlreadyStored) { this.passwordAlreadyStored = passwordAlreadyStored; } + + public String getInputLocale() { + return inputLocale; + } + + public void setInputLocale(String inputLocale) { + this.inputLocale = inputLocale; + } + + public String getUiLanguage() { + return uiLanguage; + } + + public void setUiLanguage(String uiLanguage) { + this.uiLanguage = uiLanguage; + } + + public String getSystemLocale() { + return systemLocale; + } + + public void setSystemLocale(String systemLocale) { + this.systemLocale = systemLocale; + } + + public String getUserLocale() { + return userLocale; + } + + public void setUserLocale(String userLocale) { + this.userLocale = userLocale; + } } diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java index a7a3337..810bd01 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/config/ConfigValues.java @@ -1638,5 +1638,9 @@ @DefaultValueAttribute("true") ImportGlanceImageAsTemplate, + @TypeConverterAttribute(String.class) + @DefaultValueAttribute("en_US") + DefaultSysprepLocale, + Invalid; } diff --git a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java index e0af569..6173b1c 100644 --- a/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java +++ b/backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VmInitDAODbFacadeImpl.java @@ -68,7 +68,11 @@ .addValue("networks", VmInitUtils.networkListToJson(vmInit.getNetworks())) .addValue("password", DbFacadeUtils.encryptPassword(vmInit.getRootPassword())) .addValue("winkey", vmInit.getWinKey()) - .addValue("custom_script", vmInit.getCustomScript()); + .addValue("custom_script", vmInit.getCustomScript()) + .addValue("input_locale", vmInit.getInputLocale()) + .addValue("ui_language", vmInit.getUiLanguage()) + .addValue("system_locale", vmInit.getSystemLocale()) + .addValue("user_locale", vmInit.getUserLocale()); } private static class VMInitRowMapper implements RowMapper<VmInit> { @@ -90,6 +94,10 @@ entity.setDnsServers(rs.getString("dns_servers")); entity.setDnsSearch(rs.getString("dns_search_domains")); entity.setCustomScript(rs.getString("custom_script")); + entity.setInputLocale(rs.getString("input_locale")); + entity.setUiLanguage(rs.getString("ui_language")); + entity.setSystemLocale(rs.getString("system_locale")); + entity.setUserLocale(rs.getString("user_locale")); return entity; } diff --git a/backend/manager/modules/dal/src/test/resources/fixtures.xml b/backend/manager/modules/dal/src/test/resources/fixtures.xml index 09325e2..fbfd74a 100644 --- a/backend/manager/modules/dal/src/test/resources/fixtures.xml +++ b/backend/manager/modules/dal/src/test/resources/fixtures.xml @@ -6071,6 +6071,10 @@ <column>password</column> <column>winkey</column> <column>custom_script</column> + <column>input_locale</column> + <column>ui_language</column> + <column>system_locale</column> + <column>user_locale</column> <row> <value>77296e00-0cad-4e5a-9299-008a7b6f4354</value> <value>users.mydomain.com</value> @@ -6084,6 +6088,10 @@ <value></value> <value></value> <value></value> + <value>en_US</value> + <value>en_US</value> + <value>en_US</value> + <value>en_US</value> </row> </table> </dataset> diff --git a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd index 28ad6be..de73a21 100644 --- a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd +++ b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd @@ -2506,6 +2506,10 @@ <xs:element name="windows_license_key" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="root_password" type="xs:string" minOccurs="0" maxOccurs="1"/> <xs:element name="custom_script" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="input_locale" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="ui_language" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="system_locale" type="xs:string" minOccurs="0" maxOccurs="1"/> + <xs:element name="user_locale" type="xs:string" minOccurs="0" maxOccurs="1"/> </xs:sequence> </xs:complexType> diff --git a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java index a6cf6c6..ed1feef 100644 --- a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java +++ b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java @@ -1030,6 +1030,22 @@ } entity.setNetworks(networks); } + + if (model.isSetInputLocale()) { + entity.setInputLocale(model.getInputLocale()); + } + + if (model.isSetUiLanguage()) { + entity.setUiLanguage(model.getUiLanguage()); + } + + if (model.isSetSystemLocale()) { + entity.setSystemLocale(model.getSystemLocale()); + } + + if (model.isSetUserLocale()) { + entity.setUserLocale(model.getUserLocale()); + } return entity; } @@ -1074,6 +1090,18 @@ model.getNicConfigurations().getNicConfigurations().add(map(network, null)); } } + if (entity.getInputLocale() != null) { + model.setInputLocale(entity.getInputLocale()); + } + if (entity.getUiLanguage() != null) { + model.setUiLanguage(entity.getUiLanguage()); + } + if (entity.getSystemLocale() != null) { + model.setSystemLocale(entity.getSystemLocale()); + } + if (entity.getUserLocale() != null) { + model.setUserLocale(entity.getUserLocale()); + } return model; } diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/CreateVmVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/CreateVmVDSCommand.java index f6be592..a9b9e6a 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/CreateVmVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/CreateVmVDSCommand.java @@ -16,7 +16,6 @@ import org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVDSCommand; import org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVmFromCloudInitVDSCommand; import org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVmFromSysPrepVDSCommand; -import org.ovirt.engine.core.vdsbroker.vdsbroker.CreateVmFromSysPrepVDSCommandParameters; import org.ovirt.engine.core.vdsbroker.vdsbroker.VDSGenericException; public class CreateVmVDSCommand<P extends CreateVmVDSCommandParameters> extends VdsIdVDSCommandBase<P> { @@ -63,19 +62,14 @@ private CreateVDSCommand<?> initCreateVDSCommand(VM vm) throws Exception { if (vm.isSysprepUsed()) { - String domain = (vm.getVmInit() != null && vm.getVmInit().getDomain() != null) ? - vm.getVmInit().getDomain() : ""; - String hostName = (vm.getVmInit() != null && vm.getVmInit().getHostname() != null) ? - vm.getVmInit().getHostname() : vm.getName(); + // use answer file to run after sysprep. - CreateVmFromSysPrepVDSCommandParameters createVmFromSysPrepParam = - new CreateVmFromSysPrepVDSCommandParameters( + CreateVmVDSCommandParameters createVmFromSysPrepParam = + new CreateVmVDSCommandParameters( getVdsId(), - vm, - hostName, - domain); + vm); createVmFromSysPrepParam.setSysPrepParams(getParameters().getSysPrepParams()); - return new CreateVmFromSysPrepVDSCommand<CreateVmFromSysPrepVDSCommandParameters>(createVmFromSysPrepParam); + return new CreateVmFromSysPrepVDSCommand<CreateVmVDSCommandParameters>(createVmFromSysPrepParam); } else if (vm.isCloudInitUsed()) { return new CreateVmFromCloudInitVDSCommand<CreateVmVDSCommandParameters>(getParameters()); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommand.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommand.java index ce344dd..862e052 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommand.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommand.java @@ -1,14 +1,14 @@ package org.ovirt.engine.core.vdsbroker.vdsbroker; +import org.ovirt.engine.core.common.vdscommands.CreateVmVDSCommandParameters; -public class CreateVmFromSysPrepVDSCommand<P extends CreateVmFromSysPrepVDSCommandParameters> + +public class CreateVmFromSysPrepVDSCommand<P extends CreateVmVDSCommandParameters> extends CreateVDSCommand<P> { public CreateVmFromSysPrepVDSCommand(P parameters) { super(parameters); String sysPrepContent = SysprepHandler.getSysPrep(parameters.getVm(), - parameters.getHostName(), - parameters.getDomain(), parameters.getSysPrepParams()); if (!"".equals(sysPrepContent)) { diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommandParameters.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommandParameters.java deleted file mode 100644 index 5cabff9..0000000 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CreateVmFromSysPrepVDSCommandParameters.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.ovirt.engine.core.vdsbroker.vdsbroker; - -import org.ovirt.engine.core.common.businessentities.VM; -import org.ovirt.engine.core.common.vdscommands.CreateVmVDSCommandParameters; -import org.ovirt.engine.core.compat.Guid; - -public class CreateVmFromSysPrepVDSCommandParameters extends CreateVmVDSCommandParameters { - private String _hostName; - private String _domain; - - public CreateVmFromSysPrepVDSCommandParameters(Guid vdsId, VM vm, String hostName, String domain) { - super(vdsId, vm); - _hostName = hostName; - _domain = domain; - } - - public String getHostName() { - return _hostName; - } - - public String getDomain() { - return _domain; - } - - @Override - public String toString() { - return String.format("%s, hostName=%s, domain=%s", super.toString(), getHostName(), getDomain()); - } -} diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java index 9807734..c3589ec 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/SysprepHandler.java @@ -60,10 +60,15 @@ passwordPerDomain = Config.<DomainsPasswordMap> getValue(ConfigValues.AdUserPassword); } - public static String getSysPrep(VM vm, String hostName, String domain, SysPrepParams sysPrepParams) { + public static String getSysPrep(VM vm, SysPrepParams sysPrepParams) { String sysPrepContent = ""; sysPrepContent = LoadFile(osRepository.getSysprepPath(vm.getVmOsId(), null)); sysPrepContent = replace(sysPrepContent, "$ProductKey$", osRepository.getProductKey(vm.getVmOsId(), null)); + + String domain = (vm.getVmInit() != null && vm.getVmInit().getDomain() != null) ? + vm.getVmInit().getDomain() : ""; + String hostName = (vm.getVmInit() != null && vm.getVmInit().getHostname() != null) ? + vm.getVmInit().getHostname() : vm.getName(); if (sysPrepContent.length() > 0) { @@ -75,6 +80,19 @@ sysPrepContent = replace(sysPrepContent, "$TimeZone$", timeZone); sysPrepContent = replace(sysPrepContent, "$OrgName$", Config.<String> getValue(ConfigValues.OrganizationName)); + + if (vm.getVmInit() != null) { + sysPrepContent = replace(sysPrepContent, "$SetupUiLanguageUiLanguage$", vm.getVmInit().getInputLocale() != null ? + vm.getVmInit().getInputLocale() : Config.<String> getValue(ConfigValues.DefaultSysprepLocale)); + sysPrepContent = replace(sysPrepContent, "$InputLocale$", vm.getVmInit().getInputLocale() != null ? + vm.getVmInit().getInputLocale() : Config.<String> getValue(ConfigValues.DefaultSysprepLocale)); + sysPrepContent = replace(sysPrepContent, "$UiLanguage$", vm.getVmInit().getUiLanguage() != null ? + vm.getVmInit().getUiLanguage() : Config.<String> getValue(ConfigValues.DefaultSysprepLocale)); + sysPrepContent = replace(sysPrepContent, "$SystemLocale$", vm.getVmInit().getSystemLocale() != null ? + vm.getVmInit().getSystemLocale() : Config.<String> getValue(ConfigValues.DefaultSysprepLocale)); + sysPrepContent = replace(sysPrepContent, "$UserLocale$", vm.getVmInit().getUserLocale() != null ? + vm.getVmInit().getUserLocale() : Config.<String> getValue(ConfigValues.DefaultSysprepLocale)); + } } return sysPrepContent; diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java index ece625c..38daa85 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/CommonApplicationConstants.java @@ -157,6 +157,18 @@ @DefaultStringValue("Use Cloud-Init") String runOncePopupCloudInitLabel(); + @DefaultStringValue("Input Locale") + String inputLocaleLabel(); + + @DefaultStringValue("UI Language") + String uiLanguageLabel(); + + @DefaultStringValue("System Locale") + String systemLocaleLabel(); + + @DefaultStringValue("User Locale") + String userLocaleLabel(); + @DefaultStringValue("VM Hostname") String cloudInitHostnameLabel(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java index 39cef26..6a232d0 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java @@ -2,7 +2,6 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.SimpleBeanEditorDriver; -import com.google.gwt.editor.client.Editor.Ignore; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.resources.client.ClientBundle; @@ -110,6 +109,26 @@ @Path(value = "windowsHostname.entity") @WithElementId EntityModelTextBoxEditor windowsHostnameEditor; + + @UiField + @Path(value = "inputLocale.entity") + @WithElementId + EntityModelTextBoxEditor inputLocaleEditor; + + @UiField + @Path(value = "uiLanguage.entity") + @WithElementId + EntityModelTextBoxEditor uiLanguageEditor; + + @UiField + @Path(value = "systemLocale.entity") + @WithElementId + EntityModelTextBoxEditor systemLocaleEditor; + + @UiField + @Path(value = "userLocale.entity") + @WithElementId + EntityModelTextBoxEditor userLocaleEditor; @UiField @Path(value = "hostname.entity") @@ -329,6 +348,10 @@ void localize() { hostnameEditor.setLabel(constants.cloudInitHostnameLabel()); windowsHostnameEditor.setLabel(constants.cloudInitHostnameLabel()); + inputLocaleEditor.setLabel(constants.inputLocaleLabel()); + uiLanguageEditor.setLabel(constants.uiLanguageLabel()); + systemLocaleEditor.setLabel(constants.systemLocaleLabel()); + userLocaleEditor.setLabel(constants.userLocaleLabel()); authorizedKeysEditor.setLabel(constants.cloudInitAuthorizedKeysLabel()); passwordSetEditor.setLabel(constants.vmInitPasswordSetLabel()); regenerateKeysEnabledEditor.setLabel(constants.cloudInitRegenerateKeysLabel()); @@ -397,6 +420,10 @@ networkStartOnBootEditor.addStyleName(customizableStyle.primaryOption()); networkDhcpEditor.addStyleName(customizableStyle.primaryOption()); windowsSysprepTimeZoneEditor.addStyleName(customizableStyle.primaryOption()); + inputLocaleEditor.addStyleName(customizableStyle.primaryOption()); + uiLanguageEditor.addStyleName(customizableStyle.primaryOption()); + systemLocaleEditor.addStyleName(customizableStyle.primaryOption()); + userLocaleEditor.addStyleName(customizableStyle.primaryOption()); hostnameEditor.addStyleName(customizableStyle.primaryOption()); windowsHostnameEditor.addStyleName(customizableStyle.primaryOption()); domainEditor.addStyleName(customizableStyle.primaryOption()); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.ui.xml index bf18bc6..1ca489e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.ui.xml @@ -60,6 +60,10 @@ <e:EntityModelTextBoxEditor ui:field="windowsHostnameEditor" /> <e:EntityModelCheckBoxEditor ui:field="windowsSyspreptimeZoneEnabledEditor" /> <e:ListModelListBoxEditor ui:field="windowsSysprepTimeZoneEditor" /> + <e:EntityModelTextBoxEditor ui:field="inputLocaleEditor" /> + <e:EntityModelTextBoxEditor ui:field="uiLanguageEditor" /> + <e:EntityModelTextBoxEditor ui:field="systemLocaleEditor" /> + <e:EntityModelTextBoxEditor ui:field="userLocaleEditor" /> </g:FlowPanel> <g:FlowPanel ui:field="cloudInitOptionsContent"> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInitModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInitModel.java index d3d5f55..17083fc 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInitModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/VmInitModel.java @@ -71,6 +71,38 @@ privateWindowsHostname = value; } + private EntityModel privateInputLocale; + public EntityModel getInputLocale() { + return privateInputLocale; + } + private void setInputLocale(EntityModel value) { + privateInputLocale = value; + } + + private EntityModel privateUiLanguage; + public EntityModel getUiLanguage() { + return privateUiLanguage; + } + private void setUiLanguage(EntityModel value) { + privateUiLanguage = value; + } + + private EntityModel privateSystemLocale; + public EntityModel getSystemLocale() { + return privateSystemLocale; + } + private void setSystemLocale(EntityModel value) { + privateSystemLocale = value; + } + + private EntityModel privateUserLocale; + public EntityModel getUserLocale() { + return privateUserLocale; + } + private void setUserLocale(EntityModel value) { + privateUserLocale = value; + } + private EntityModel privateHostname; public EntityModel getHostname() { return privateHostname; @@ -343,6 +375,10 @@ setWindowsSysprepTimeZone(new ListModel()); setWindowsSysprepTimeZoneEnabled(new EntityModel()); setWindowsHostname(new EntityModel()); + setInputLocale(new EntityModel()); + setUiLanguage(new EntityModel()); + setSystemLocale(new EntityModel()); + setUserLocale(new EntityModel()); setHostname(new EntityModel()); setDomain(new EntityModel()); @@ -404,6 +440,10 @@ getPasswordSet().setIsChangable(false); getWindowsHostname().setEntity(""); + getInputLocale().setEntity(""); + getUiLanguage().setEntity(""); + getSystemLocale().setEntity(""); + getUserLocale().setEntity(""); getHostname().setEntity(""); getDomain().setEntity(""); getRootPassword().setEntity(""); @@ -439,6 +479,18 @@ if (!StringHelper.isNullOrEmpty(vmInit.getHostname())) { getHostname().setEntity(vmInit.getHostname()); getWindowsHostname().setEntity(vmInit.getHostname()); + } + if (!StringHelper.isNullOrEmpty(vmInit.getInputLocale())) { + getInputLocale().setEntity(vmInit.getInputLocale()); + } + if (!StringHelper.isNullOrEmpty(vmInit.getUiLanguage())) { + getUiLanguage().setEntity(vmInit.getUiLanguage()); + } + if (!StringHelper.isNullOrEmpty(vmInit.getSystemLocale())) { + getSystemLocale().setEntity(vmInit.getSystemLocale()); + } + if (!StringHelper.isNullOrEmpty(vmInit.getUserLocale())) { + getUserLocale().setEntity(vmInit.getUserLocale()); } getDomain().setEntity(vmInit.getDomain()); final String tz = vmInit.getTimeZone(); @@ -697,6 +749,12 @@ vmInit.setHostname(isWindowsOS ? (String) getWindowsHostname().getEntity() : (String) getHostname().getEntity()); } + if (isWindowsOS) { + vmInit.setInputLocale((String)getInputLocale().getEntity()); + vmInit.setUiLanguage((String)getUiLanguage().getEntity()); + vmInit.setSystemLocale((String)getSystemLocale().getEntity()); + vmInit.setUserLocale((String)getUserLocale().getEntity()); + } if (getRootPasswordEnabled()) { vmInit.setRootPassword((String) getRootPassword().getEntity()); @@ -818,7 +876,7 @@ } private void removeNetwork() { - networkMap.remove((String) getNetworkList().getSelectedItem()); + networkMap.remove(getNetworkList().getSelectedItem()); getNetworkList().setItems(new ArrayList<String>(networkMap.keySet())); getNetworkList().setSelectedItem(Linq.firstOrDefault(networkMap.keySet())); } diff --git a/packaging/conf/sysprep/sysprep.2k12x64 b/packaging/conf/sysprep/sysprep.2k12x64 index 67f1b99..6f82c1e 100644 --- a/packaging/conf/sysprep/sysprep.2k12x64 +++ b/packaging/conf/sysprep/sysprep.2k12x64 @@ -24,10 +24,10 @@ </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>0409:00000409</InputLocale> - <SystemLocale>en-us</SystemLocale> - <UILanguage>en-us</UILanguage> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Display> @@ -54,13 +54,13 @@ <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-us</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> <InputLocale>0409:00000409</InputLocale> - <UILanguage>en-us</UILanguage> - <SystemLocale>en-us</SystemLocale> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UserData> diff --git a/packaging/conf/sysprep/sysprep.2k8 b/packaging/conf/sysprep/sysprep.2k8 index 187aed9..12ff6c0 100644 --- a/packaging/conf/sysprep/sysprep.2k8 +++ b/packaging/conf/sysprep/sysprep.2k8 @@ -62,10 +62,10 @@ <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- REgionalSettings/Language --> <InputLocale>0409:00000409</InputLocale> - <SystemLocale>en-us</SystemLocale> - <UILanguage>en-us</UILanguage> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <settings pass="windowsPE"> @@ -83,14 +83,14 @@ </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-us</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> <!-- REgionalSettings/Language --> <InputLocale>0409:00000409</InputLocale> - <SystemLocale>en-us</SystemLocale> - <UILanguage>en-us</UILanguage> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <cpi:offlineImage cpi:source="wim:c:/osc/sources/install.wim#Windows Longhorn SERVERSTANDARD" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> diff --git a/packaging/conf/sysprep/sysprep.2k8x64 b/packaging/conf/sysprep/sysprep.2k8x64 index 434e70b..5a93807 100644 --- a/packaging/conf/sysprep/sysprep.2k8x64 +++ b/packaging/conf/sysprep/sysprep.2k8x64 @@ -24,10 +24,10 @@ </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <InputLocale>0409:00000409</InputLocale> - <SystemLocale>en-us</SystemLocale> - <UILanguage>en-us</UILanguage> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Display> @@ -54,13 +54,13 @@ <settings pass="windowsPE"> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-us</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> <InputLocale>0409:00000409</InputLocale> - <UILanguage>en-us</UILanguage> - <SystemLocale>en-us</SystemLocale> - <UILanguageFallback>en-us</UILanguageFallback> - <UserLocale>en-us</UserLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>$UserLocale$</UserLocale> </component> <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <UserData> diff --git a/packaging/conf/sysprep/sysprep.w7 b/packaging/conf/sysprep/sysprep.w7 index 8172033..a60e412 100644 --- a/packaging/conf/sysprep/sysprep.w7 +++ b/packaging/conf/sysprep/sysprep.w7 @@ -18,12 +18,12 @@ </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-US</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> - <InputLocale>en-US</InputLocale> - <UILanguage>en-US</UILanguage> - <SystemLocale>en-US</SystemLocale> - <UserLocale>en-US</UserLocale> + <InputLocale>$InputLocale$</InputLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <settings pass="specialize"> @@ -49,10 +49,10 @@ <TimeZone>$TimeZone$</TimeZone> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> </settings> <settings pass="oobeSystem"> @@ -81,10 +81,10 @@ </OOBE> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> </settings> <cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi"/> diff --git a/packaging/conf/sysprep/sysprep.w7x64 b/packaging/conf/sysprep/sysprep.w7x64 index a31242a..864876f 100644 --- a/packaging/conf/sysprep/sysprep.w7x64 +++ b/packaging/conf/sysprep/sysprep.w7x64 @@ -18,12 +18,12 @@ </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-US</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> - <InputLocale>en-US</InputLocale> - <UILanguage>en-US</UILanguage> - <SystemLocale>en-US</SystemLocale> - <UserLocale>en-US</UserLocale> + <InputLocale>$InputLocale$</InputLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <settings pass="specialize"> @@ -39,10 +39,10 @@ <TimeZone>$TimeZone$</TimeZone> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Identification> @@ -57,10 +57,10 @@ </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> diff --git a/packaging/conf/sysprep/sysprep.w8 b/packaging/conf/sysprep/sysprep.w8 index 20237a5..36b365e 100644 --- a/packaging/conf/sysprep/sysprep.w8 +++ b/packaging/conf/sysprep/sysprep.w8 @@ -18,12 +18,12 @@ </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-US</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> - <InputLocale>en-US</InputLocale> - <UILanguage>en-US</UILanguage> - <SystemLocale>en-US</SystemLocale> - <UserLocale>en-US</UserLocale> + <InputLocale>$InputLocale$</InputLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <settings pass="specialize"> @@ -49,10 +49,10 @@ <TimeZone>$TimeZone$</TimeZone> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$UILanguage$</SystemLocale> + <UILanguage>$SystemLocale$</UILanguage> </component> </settings> <settings pass="oobeSystem"> @@ -81,10 +81,10 @@ </OOBE> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> </settings> <cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 8 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi"/> diff --git a/packaging/conf/sysprep/sysprep.w8x64 b/packaging/conf/sysprep/sysprep.w8x64 index 63e06ba..c8d2dbf 100644 --- a/packaging/conf/sysprep/sysprep.w8x64 +++ b/packaging/conf/sysprep/sysprep.w8x64 @@ -18,12 +18,12 @@ </component> <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SetupUILanguage> - <UILanguage>en-US</UILanguage> + <UILanguage>$SetupUiLanguageUiLanguage$</UILanguage> </SetupUILanguage> - <InputLocale>en-US</InputLocale> - <UILanguage>en-US</UILanguage> - <SystemLocale>en-US</SystemLocale> - <UserLocale>en-US</UserLocale> + <InputLocale>$InputLocale$</InputLocale> + <UILanguage>$UILanguage$</UILanguage> + <SystemLocale>$SystemLocale$</SystemLocale> + <UserLocale>$UserLocale$</UserLocale> </component> </settings> <settings pass="specialize"> @@ -39,10 +39,10 @@ <TimeZone>$TimeZone$</TimeZone> </component> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Identification> @@ -57,10 +57,10 @@ </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <InputLocale>en-US</InputLocale> - <UserLocale>en-US</UserLocale> - <SystemLocale>en-US</SystemLocale> - <UILanguage>en-US</UILanguage> + <InputLocale>$InputLocale$</InputLocale> + <UserLocale>$UserLocale$</UserLocale> + <SystemLocale>$SystemLocale$</SystemLocale> + <UILanguage>$UILanguage$</UILanguage> </component> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <OOBE> diff --git a/packaging/dbscripts/upgrade/03_05_0100_vm_init_add_sysprep_locale.sql b/packaging/dbscripts/upgrade/03_05_0100_vm_init_add_sysprep_locale.sql new file mode 100644 index 0000000..040deca --- /dev/null +++ b/packaging/dbscripts/upgrade/03_05_0100_vm_init_add_sysprep_locale.sql @@ -0,0 +1,8 @@ +-- ---------------------------------------------------------------------- +-- Adding setup language options for Windows Sysprep +-- ---------------------------------------------------------------------- +alter table vm_init +add column input_locale VARCHAR(256) DEFAULT NULL, +add column ui_language VARCHAR(256) DEFAULT NULL, +add column system_locale VARCHAR(256) DEFAULT NULL, +add column user_locale VARCHAR(256) DEFAULT NULL; diff --git a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql index b3c78bd..f4d29d4 100644 --- a/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql +++ b/packaging/dbscripts/upgrade/pre_upgrade/0000_config.sql @@ -203,6 +203,7 @@ select fn_db_add_config_value('CloudInitSupported','false','3.0'); select fn_db_add_config_value('CloudInitSupported','false','3.1'); select fn_db_add_config_value('CloudInitSupported','false','3.2'); +select fn_db_add_config_value('DefaultSysprepLocale','en_US','general'); select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.0'); select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.1'); select fn_db_add_config_value('ImportGlanceImageAsTemplate','false','3.2'); diff --git a/packaging/dbscripts/vms_sp.sql b/packaging/dbscripts/vms_sp.sql index 228a359..3c9152c 100644 --- a/packaging/dbscripts/vms_sp.sql +++ b/packaging/dbscripts/vms_sp.sql @@ -1194,7 +1194,12 @@ v_networks TEXT, v_password TEXT, v_winkey VARCHAR(30), - v_custom_script TEXT) + v_custom_script TEXT, + v_input_locale VARCHAR(256), + v_ui_language VARCHAR(256), + v_system_locale VARCHAR(256), + v_user_locale VARCHAR(256)) + RETURNS VOID AS $procedure$ @@ -1202,7 +1207,9 @@ UPDATE vm_init SET host_name=v_host_name, domain=v_domain, authorized_keys=v_authorized_keys, regenerate_keys=v_regenerate_keys, time_zone=v_time_zone, dns_servers=v_dns_servers, dns_search_domains=v_dns_search_domains, - networks=v_networks, password=v_password, winkey=v_winkey, custom_script=v_custom_script + networks=v_networks, password=v_password, winkey=v_winkey, custom_script=v_custom_script, + input_locale=v_input_locale, ui_language=v_ui_language, system_locale=v_system_locale, + user_locale=v_user_locale WHERE vm_id = v_vm_id; END; $procedure$ LANGUAGE plpgsql; @@ -1231,14 +1238,20 @@ v_networks TEXT, v_password TEXT, v_winkey VARCHAR(30), - v_custom_script TEXT) + v_custom_script TEXT, + v_input_locale VARCHAR(256), + v_ui_language VARCHAR(256), + v_system_locale VARCHAR(256), + v_user_locale VARCHAR(256)) RETURNS VOID AS $procedure$ BEGIN INSERT INTO vm_init(vm_id, host_name, domain, authorized_keys, regenerate_keys, time_zone, dns_servers, dns_search_domains, - networks, password, winkey, custom_script) + networks, password, winkey, custom_script, input_locale, ui_language, + system_locale, user_locale) VALUES(v_vm_id, v_host_name, v_domain, v_authorized_keys, v_regenerate_keys, v_time_zone, v_dns_servers, v_dns_search_domains, - v_networks, v_password, v_winkey, v_custom_script); + v_networks, v_password, v_winkey, v_custom_script, v_input_locale, v_ui_language, + v_system_locale, v_user_locale); END; $procedure$ LANGUAGE plpgsql; -- To view, visit http://gerrit.ovirt.org/25488 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I414c1d097a7cf8e23b322ca0f23dcb9d66ac0691 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Shahar Havivi <shav...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches