|
@@ -955,45 +955,6 @@ bool CHealthManagerEntity::SaveFrameStartTimeForUpgrade()
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
-bool CHealthManagerEntity::VersionRollBack(const char *pVerion)
|
|
|
-{
|
|
|
- CSimpleStringA csCurrVer = m_sysStaticInfo.InstallVersion.ToString();
|
|
|
- if (_stricmp(csCurrVer,pVerion) == 0)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN,LOG_TYPE_SYSTEM)("destination version identified the current version.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- m_pUpgMgr = new UpgradeMgrService_ClientBase(this);
|
|
|
- if (m_pUpgMgr == NULL)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_ERROR,LOG_TYPE_SYSTEM)("create UpgradeMgr client failed.");
|
|
|
- return false;
|
|
|
- }
|
|
|
- CSmartPointer<IAsynWaitSp> pAsyncWait;
|
|
|
- ErrorCodeEnum eErr = m_pUpgMgr->Connect(pAsyncWait);
|
|
|
- if (eErr != Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_ERROR,LOG_TYPE_SYSTEM)("connect to UpgradeMgr failed(%s)", SpStrError(eErr));
|
|
|
- return false;
|
|
|
- }
|
|
|
- else
|
|
|
- eErr = pAsyncWait->WaitAnswer(10000);
|
|
|
- UpgradeMgrService_RollbackUpdate_Req req;
|
|
|
- req.strVersion = pVerion;
|
|
|
- UpgradeMgrService_RollbackUpdate_Ans ans;
|
|
|
- eErr = (*m_pUpgMgr)(EntityResource::getLink().upgradeLink())->RollbackUpdate(req,ans,10000);
|
|
|
- if (eErr == Error_Succeed)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO,LOG_TYPE_SYSTEM)("version rollback doing.");
|
|
|
- m_bVerRollback = true;
|
|
|
- return true;
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM)("call UpgradeMgr rollback failed(%s)", SpStrError(eErr));
|
|
|
- return false;
|
|
|
- }
|
|
|
-}
|
|
|
|
|
|
void CHealthManagerEntity::ReadCenterConfigStr(SpReqAnsContext<HealthManagerService_ReadCenterConfigStr_Req, HealthManagerService_ReadCenterConfigStr_Ans>::Pointer ctx)
|
|
|
{
|
|
@@ -1054,6 +1015,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
|
|
|
case Event_Req_Framework_No_Upgrade_Restart://升级请求重启框架(体系外升级等等)
|
|
|
case Event_Req_Framework_Rollback_Restart:
|
|
|
+ case Event_DeviceAdapterUpgrade_Framework_Restart://适配器升级,重启应用
|
|
|
{
|
|
|
//TODO oilyang@20230613 all of the Privilege CMD need to been collated
|
|
|
LogWarn(Severity_Low, Error_Unexpect, HealthManager_UserErrorCode_PrivilegeCMD, CSimpleStringA::Format("%x", dwUserCode));
|
|
@@ -1074,7 +1036,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Event_Req_Framework_Restart.!!!!");
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this); //版本升级,有监控
|
|
|
- task->needWarn = true;
|
|
|
+ task->eWarmPageType = WarmPageType_TerminalUpgrade;
|
|
|
task->needVerctrl = true;
|
|
|
task->eTrigger = RebootTrigger_FrameUpgrade;
|
|
|
task->eWay = RebootWay_Framework;
|
|
@@ -1084,9 +1046,8 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
else if (dwUserCode == Event_Req_Framework_Rollback)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("version rollback succeed.to restart framework");
|
|
|
- m_bVerRollback = false;
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this); //心跳重启,无监控
|
|
|
- task->needWarn = true;
|
|
|
+ task->eWarmPageType = WarmPageType_HeartBeatRollBack;
|
|
|
task->needVerctrl = false;
|
|
|
task->eTrigger = RebootTrigger_RollBack;
|
|
|
task->eWay = RebootWay_Framework;
|
|
@@ -1097,7 +1058,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("Event_Req_Framework_No_Upgrade_Restart.!!!!");
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this); //体系外升级,无监控
|
|
|
- task->needWarn = true;
|
|
|
+ task->eWarmPageType = WarmPageType_ThirdPartyUpgrade;
|
|
|
task->needVerctrl = false;
|
|
|
task->eTrigger = RebootTrigger_FrameUpgrade;
|
|
|
task->eWay = RebootWay_Framework;
|
|
@@ -1107,15 +1068,25 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
else if (dwUserCode == Event_Req_Framework_Rollback_Restart)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("version rollback succeed.to restart framework");
|
|
|
- m_bVerRollback = false;
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this); //回退,无监控
|
|
|
- task->needWarn = true;
|
|
|
+ task->eWarmPageType = WarmPageType_UpgradeRollBack;
|
|
|
task->needVerctrl = false;
|
|
|
task->eTrigger = RebootTrigger_RollBack;
|
|
|
task->eWay = RebootWay_Framework;
|
|
|
GetFunction()->PostThreadPoolTask(task);
|
|
|
break;
|
|
|
}
|
|
|
+ else if (dwUserCode == Event_DeviceAdapterUpgrade_Framework_Restart)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DeviceAdapter upgrade succeed.to restart framework");
|
|
|
+ FrameworkRestartTask* task = new FrameworkRestartTask(this);
|
|
|
+ task->eWarmPageType = WarmPageType_DeviceAdapterUpgrade;
|
|
|
+ task->needVerctrl = false;
|
|
|
+ task->eTrigger = RebootTrigger_DeviceAdapterUpgrade;
|
|
|
+ task->eWay = RebootWay_Framework;
|
|
|
+ GetFunction()->PostThreadPoolTask(task);
|
|
|
+ break;
|
|
|
+ }
|
|
|
m_fsm.QuitFrameworkAndSaveInfo(RebootTrigger_Unknown, RebootWay_Framework);
|
|
|
}
|
|
|
break;
|
|
@@ -1130,7 +1101,6 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
{
|
|
|
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this);
|
|
|
- task->needWarn = false;
|
|
|
task->needVerctrl = false;
|
|
|
task->eTrigger = RebootTrigger_OSUpgrade;
|
|
|
task->eWay = RebootWay_OS;
|
|
@@ -1139,7 +1109,7 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
else if (dwUserCode == Event_Req_OS_Upgrade_Restart)
|
|
|
{
|
|
|
FrameworkRestartTask* task = new FrameworkRestartTask(this);
|
|
|
- task->needWarn = true;
|
|
|
+ task->eWarmPageType = WarmPageType_TerminalUpgrade;
|
|
|
task->needVerctrl = true;
|
|
|
task->eTrigger = RebootTrigger_OSUpgrade;
|
|
|
task->eWay = RebootWay_OS;
|
|
@@ -1241,14 +1211,6 @@ void CHealthManagerEntity::OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nL
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
|
- case LOG_EVT_INC_VERSION_ROLLBACK:
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("version to be rollback to %s", pszMessage);
|
|
|
- if (!m_bVerRollback)
|
|
|
- {
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("rollbacking");
|
|
|
- VersionRollBack(pszMessage);
|
|
|
- }
|
|
|
- break;
|
|
|
case EVENT_MOD_RELEASESIP_TIMEOUT:
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("RELEASESIP_TIMEOUT.");
|
|
|
RestartModule("SIPPhone");
|
|
@@ -1404,12 +1366,33 @@ bool CHealthManagerEntity::StartManagerDesktopPage(CSimpleStringA pageName)
|
|
|
return false;
|
|
|
}
|
|
|
|
|
|
-void CHealthManagerEntity::WarnAndRestartFunc(RebootTriggerEnum eTrigger, RebootWayEnum eWay, bool needWarn, bool needVerctrl)
|
|
|
+void CHealthManagerEntity::WarnAndRestartFunc(RebootTriggerEnum eTrigger, RebootWayEnum eWay, WarmPageTypeEnum eWarmPageType, bool needVerctrl)
|
|
|
{
|
|
|
- if (needWarn)
|
|
|
+ switch (eWarmPageType)
|
|
|
{
|
|
|
- StartManagerDesktopPage("upgradeRestart.html");
|
|
|
- Sleep(5000);
|
|
|
+ case WarmPageType_TerminalUpgrade:
|
|
|
+ StartManagerDesktopPage("TerminalUpgradeRestart.html");
|
|
|
+ Sleep(5000);//oiltmp to be defined ???
|
|
|
+ break;
|
|
|
+ case WarmPageType_DeviceAdapterUpgrade:
|
|
|
+ StartManagerDesktopPage("DeviceAdapterUpgradeRestart.html");
|
|
|
+ Sleep(5000);//oiltmp to be defined ???
|
|
|
+ break;
|
|
|
+ case WarmPageType_HeartBeatRollBack:
|
|
|
+ StartManagerDesktopPage("HeartBeatRollBackRestart.html");
|
|
|
+ Sleep(5000);//oiltmp to be defined ???
|
|
|
+ break;
|
|
|
+ case WarmPageType_UpgradeRollBack:
|
|
|
+ StartManagerDesktopPage("UpgradeRollBackRestart.html");
|
|
|
+ Sleep(5000);//oiltmp to be defined ???
|
|
|
+ break;
|
|
|
+ case WarmPageType_ThirdPartyUpgrade:
|
|
|
+ StartManagerDesktopPage("ThirdPartyUpgradeRestart.html");
|
|
|
+ Sleep(5000);//oiltmp to be defined ???
|
|
|
+ break;
|
|
|
+ case WarmPageType_None:
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
if (needVerctrl)
|