Shahar Havivi has uploaded a new change for review. Change subject: vminit add custom script ......................................................................
vminit add custom script Change-Id: Ic947b18b63684e7d84f56ae651aeef3a51f2971a Signed-off-by: Shahar Havivi <[email protected]> --- M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CloudInitHandler.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/CloudInitWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.ui.xml M frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/CloudInitModel.java 5 files changed, 29 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/26/22626/1 diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CloudInitHandler.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CloudInitHandler.java index b9b2457..28bb687 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CloudInitHandler.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/vdsbroker/CloudInitHandler.java @@ -34,6 +34,7 @@ private String interfaces; private final String passwordKey = "password"; + private final String customScript = "customScript"; private enum CloudInitFileMode { FILE, @@ -59,6 +60,7 @@ storeNetwork(); storeTimeZone(); storeRootPassword(); + storeCustomScript(); } catch (IllegalArgumentException ex) { throw new IllegalArgumentException("Malformed input", ex); } @@ -182,6 +184,12 @@ } } + private void storeCustomScript() { + if (!StringUtils.isEmpty(vmInit.getCustromScript())) { + userData.put(customScript, vmInit.getCustromScript()); + } + } + private void storeExecutionParameters() { // Store defaults in meta-data and user-data that apply regardless // of parameters passed in from the user. 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 9c686df..1690338 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 @@ -211,6 +211,9 @@ @DefaultStringValue("Add SSH keys (separated by newlines) to be added to the root user's authorized_keys file") String cloudInitAuthorizedKeysToolTip(); + @DefaultStringValue("Add Script that will run at startup") + String customScriptToolTip(); + @DefaultStringValue("Regenerate system SSH keys (typically in /etc/ssh)") String cloudInitRegenerateKeysToolTip(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.java index b1c5801..742ece8 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.java @@ -76,6 +76,10 @@ @WithElementId EntityModelTextAreaEditor authorizedKeysEditor; + @UiField + @Path(value = "customScript.entity") + @WithElementId + EntityModelTextAreaEditor customScriptEditor; @UiField(provided = true) @Path(value = "regenerateKeysEnabled.entity") @@ -264,6 +268,7 @@ hostnameEditor.setTitle(constants.cloudInitHostnameToolTip()); authorizedKeysEditor.setTitle(constants.cloudInitAuthorizedKeysToolTip()); + customScriptEditor.setTitle(constants.customScriptToolTip()); regenerateKeysEnabledEditor.setTitle(constants.cloudInitRegenerateKeysToolTip()); timeZoneEditor.setTitle(constants.cloudInitTimeZoneToolTip()); rootPasswordEditor.setTitle(constants.cloudInitRootPasswordToolTip()); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.ui.xml index bdaaa54..e1a396a 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/CloudInitWidget.ui.xml @@ -117,5 +117,9 @@ <e:EntityModelTextBoxEditor ui:field="dnsSearchDomains" /> </g:FlowPanel> + <g:FlowPanel addStyleNames="{style.horizontalPanel}"> + <e:EntityModelTextAreaEditor ui:field="customScriptEditor" addStyleNames="{style.primaryOption}" /> + </g:FlowPanel> + </g:FlowPanel> </ui:UiBinder> diff --git a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/CloudInitModel.java b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/CloudInitModel.java index d21d53e..e049279 100644 --- a/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/CloudInitModel.java +++ b/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/vms/CloudInitModel.java @@ -48,6 +48,14 @@ privateHostname = value; } + private EntityModel privateCustomScript; + public EntityModel getCustomScript() { + return privateCustomScript; + } + private void setCustomScript(EntityModel value) { + privateCustomScript = value; + } + private EntityModel privateAuthorizedKeysEnabled; public EntityModel getAuthorizedKeysEnabled() { @@ -297,6 +305,7 @@ setHostname(new EntityModel()); setAuthorizedKeysEnabled(new EntityModel()); setAuthorizedKeys(new EntityModel()); + setCustomScript(new EntityModel()); setRegenerateKeysEnabled(new EntityModel()); setTimeZoneEnabled(new EntityModel()); setTimeZoneList(new ListModel()); -- To view, visit http://gerrit.ovirt.org/22626 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic947b18b63684e7d84f56ae651aeef3a51f2971a Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Shahar Havivi <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
