Alon Bar-Lev has uploaded a new change for review. Change subject: bootstrap: split the logic of ovirt-node upgrade out ......................................................................
bootstrap: split the logic of ovirt-node upgrade out Currently we have 4 separate bootstrap methods: 1. Host. 2. Node registration. 3. Node installation. 4. Node upgrade. While there is something common between (1-3), node upgrade is totally different sequence: 1. Unlike bootstrap it is executing foreign code (not originated at engine machine. 2. Unlike bootstrap it is non-customizable. This change split the logic of the node upgrade out, to ease future VdsInstaller retirement. Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=875528 Change-Id: I22dee8f1238de198abba72f576fb4ee82c513f34 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsCommand.java 1 file changed, 48 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/72/9172/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsCommand.java index 5f2c72a..7e50fd5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/InstallVdsCommand.java @@ -77,6 +77,53 @@ @Override protected void executeCommand() { + if ( + getVds() != null && + isOvirtReInstallOrUpgrade() + ) { + try { + T parameters = getParameters(); + _vdsInstaller = new OVirtUpgrader(getVds(), parameters.getoVirtIsoFile()); + Backend.getInstance().getResourceManager().RunVdsCommand( + VDSCommandType.SetVdsStatus, + new SetVdsStatusVDSCommandParameters( + getVdsId(), + VDSStatus.Installing + ) + ); + log.infoFormat( + "Execute upgrade {0} host {0}, {1}", + Thread.currentThread().getName(), + getVds().getId(), + getVds().getvds_name() + ); + if (!_vdsInstaller.Install()) { + throw new Exception("Upgrade failed"); + } + log.infoFormat( + "After upgrade {0}, host {0}, {1}: success", + Thread.currentThread().getName(), + getVds().getId(), + getVds().getvds_name() + ); + setSucceeded(true); + setHostStatus(VDSStatus.Reboot); + RunSleepOnReboot(); + } + catch (Exception e) { + log.errorFormat( + "Host installation failed for host {0}, {1}.", + getVds().getId(), + getVds().getvds_name(), + e + ); + setSucceeded(false); + AddCustomValue("FailedInstallMessage", getErrorMessage(_vdsInstaller.getErrorMessage())); + setHostStatus(VDSStatus.InstallFailed); + } + return; + } + if (getVds() != null) { T parameters = getParameters(); if (getVds().getvds_type() == VDSType.VDS) { @@ -97,11 +144,7 @@ .getResourceManager() .RunVdsCommand(VDSCommandType.SetVdsStatus, new SetVdsStatusVDSCommandParameters(getVdsId(), VDSStatus.Installing)); - if (isOvirtReInstallOrUpgrade()) { - _vdsInstaller = new OVirtUpgrader(getVds(), parameters.getoVirtIsoFile()); - } else { - _vdsInstaller = new OVirtInstaller(getVds()); - } + _vdsInstaller = new OVirtInstaller(getVds()); } log.infoFormat("Before Installation {0}", Thread.currentThread().getName()); -- To view, visit http://gerrit.ovirt.org/9172 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I22dee8f1238de198abba72f576fb4ee82c513f34 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches