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

Reply via email to