${RES.getString("compute.report.summary.title")}
${RES.getString("compute.report.cluster.base")}
${RES.getString("compute.report.cluster.product.name")} ${fsCluster.getProductModel()}
${RES.getString("compute.report.cluster.product.version")} ${fsCluster.getProductVersion()}
${RES.getString("compute.report.cluster.floatip")} ${fsCluster.getFloatIp()}
${RES.getString("compute.report.cluster.product.sn")} ${fsCluster.getSn()}
${RES.getString("compute.report.cluster.compute.node.type")} ${result.getComputeNodeType()}
${RES.getString("compute.report.cluster.upgrade.mode")} ${result.getUpgradeMode()}
${RES.getString("compute.report.cluster.upgrade.task.start")} ${result.getStartTimeString()}
${RES.getString("compute.report.cluster.upgrade.task.end")} ${result.getEndTimeString()}
${RES.getString("compute.report.table.header.execute.time")} ${result.getExecuteTimeString()}
${RES.getString("compute.report.cluster.upgrade.task.node.upgrade.statistics")} ${result.getUpgradeStatistics()}



<#list result.getFsDevNodes() as singleRes> <#if singleRes.isFailed()> <#if singleRes.isFailed()>
${RES.getString("report.table.header.ip.address")} ${RES.getString("bundle.upgrade.param.device.type")} ${RES.getString("compute.report.table.header.start.time")} ${RES.getString("compute.report.table.header.end.time")} ${RES.getString("compute.report.table.header.execute.time")} ${RES.getString("compute.report.table.header.current.version")} ${RES.getString("compute.report.table.header.target.version")} ${RES.getString("compute.report.table.header.result")}
<#elseif singleRes.isRollbackSucceeded()> <#else>  ${singleRes.getManagementIP()}  ${singleRes.getProductName()}   ${singleRes.computeNodeUpgradeResult.getStartTimeString()}   ${singleRes.computeNodeUpgradeResult.getEndTimeString()}   ${singleRes.computeNodeUpgradeResult.getExecuteTimeString()}  ${singleRes.getOldVersion()}  ${singleRes.getTargetVersion()} <#else> ${singleRes.getUpgradeStatus().getDesc()}