Alon Bar-Lev has uploaded a new change for review. Change subject: host-deploy: introduce host package management ......................................................................
host-deploy: introduce host package management Change-Id: Iacf0690597aac49619f256fd80138a9fdbac8514 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/hostdeploy/VdsMgmtPackages.java 1 file changed, 96 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/73/39973/6 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/hostdeploy/VdsMgmtPackages.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/hostdeploy/VdsMgmtPackages.java new file mode 100644 index 0000000..1c8a3a0 --- /dev/null +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/hostdeploy/VdsMgmtPackages.java @@ -0,0 +1,96 @@ +package org.ovirt.engine.core.bll.hostdeploy; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.concurrent.Callable; + +import org.apache.commons.lang.StringUtils; +import org.ovirt.engine.core.common.businessentities.VDS; +import org.ovirt.otopi.constants.Confirms; +import org.ovirt.otopi.dialog.Event; +import org.ovirt.ovirt_host_mgmt.constants.Const; +import org.ovirt.ovirt_host_mgmt.constants.PackagesEnv; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class VdsMgmtPackages extends VdsDeployBase { + + private static final Logger log = LoggerFactory.getLogger(VdsMgmtPackages.class); + + private boolean _checkOnly; + private String[] _packages; + private String[] _packagesInfo; + + private final List<Callable<Boolean>> _deployCustomizationDialog = Arrays.asList( + new Callable<Boolean>() { public Boolean call() throws Exception { + _parser.cliEnvironmentSet( + PackagesEnv.UPDATE_MODE, + _checkOnly ? Const.PACKAGES_UPDATE_MODE_CHECK_UPDATE : Const.PACKAGES_UPDATE_MODE_UPDATE + ); + return true; + }}, + new Callable<Boolean>() { public Boolean call() throws Exception { + _parser.cliEnvironmentSet( + PackagesEnv.PACKAGES, + _packages + ); + return true; + }} + ); + + // BUG: Arrays.asList() cannot handle single element correctly + private final List<Callable<Boolean>> _deployTerminationDialog = new ArrayList<Callable<Boolean>>() {{ add( + new Callable<Boolean>() { public Boolean call() throws Exception { + _packagesInfo = (String[])_parser.cliEnvironmentGet( + PackagesEnv.PACKAGES_INFO + ); + if (_packagesInfo.length > 0) { + _messages.post( + InstallerMessages.Severity.INFO, + String.format("Available packages for update: %s", StringUtils.join(_packagesInfo, ",")) + ); + } + return true; + }} + );}}; + + protected boolean processEvent(Event.Base bevent) throws IOException { + boolean unknown = true; + + if (bevent instanceof Event.Confirm) { + Event.Confirm event = (Event.Confirm)bevent; + + if (Confirms.GPG_KEY.equals(event.what)) { + _messages.post(InstallerMessages.Severity.WARNING, event.description); + event.reply = true; + unknown = false; + } + } + + return unknown; + } + + public VdsMgmtPackages(VDS vds, boolean checkOnly) { + super("host-mgmt", "ovirt-host-mgmt", vds); + + _checkOnly = checkOnly; + + addCustomizationDialog(_deployCustomizationDialog); + addCustomizationDialog(CUSTOMIZATION_DIALOG_EPILOG); + addTerminationDialog(TERMINATION_DIALOG_PROLOG); + addTerminationDialog(_deployTerminationDialog); + addTerminationDialog(TERMINATION_DIALOG_EPILOG); + } + + public void setPackages(Collection<String> packages) { + _packages = packages.toArray(new String[0]); + } + + public Collection<String> getUpdates() { + return Arrays.asList(_packagesInfo); + } + +} -- To view, visit https://gerrit.ovirt.org/39973 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iacf0690597aac49619f256fd80138a9fdbac8514 Gerrit-PatchSet: 6 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Moti Asayag <masa...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches