Package com.vmware.bdd.service.sp

Examples of com.vmware.bdd.service.sp.NodeUpgradeSP


      List<Callable<Void>> storeNodeProcedures = new ArrayList<Callable<Void>>();

      try {
         for (NodeEntity node : nodes) {
            if (node.needUpgrade(serverVersion)) {
               NodeUpgradeSP nodeUpgradeSP = new NodeUpgradeSP(node, serverVersion);
               storeNodeProcedures.add(nodeUpgradeSP);
            }
         }

         if (storeNodeProcedures.isEmpty()) {
            logger.info("no VM is available. Return directly.");
            return true;
         }

         Callable<Void>[] storeNodeProceduresArray = storeNodeProcedures.toArray(new Callable[0]);
         NoProgressUpdateCallback callback = new NoProgressUpdateCallback();
         ExecutionResult[] result =
               Scheduler
                     .executeStoredProcedures(
                           com.vmware.aurora.composition.concurrent.Priority.BACKGROUND,
                           storeNodeProceduresArray, callback);

         if (result == null || result.length == 0) {
            logger.error("No node is upgraded.");
            return false;
         }

         boolean success = true;
         int total = 0;
         for (int i = 0; i < storeNodeProceduresArray.length; i++) {
            Throwable nodeUpgradeSPException = result[i].throwable;
            NodeUpgradeSP sp = (NodeUpgradeSP) storeNodeProceduresArray[i];
            NodeEntity node = sp.getNode();
            if (result[i].finished && nodeUpgradeSPException == null) {
               updateNodeData(node);
               ++total;
            } else if (nodeUpgradeSPException != null) {
               updateNodeData(node, false, nodeUpgradeSPException.getMessage(), CommonUtil.getCurrentTimestamp());
View Full Code Here

TOP

Related Classes of com.vmware.bdd.service.sp.NodeUpgradeSP

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.