def send_rolling_request(self, market_services, tenant, user, app_record, service_records):
        """向数据中心发送回滚请求"""
        from console.services.app_actions.app_deploy import AppDeployService

        for market_service in market_services:
            app_deploy_service = AppDeployService()
            app_deploy_service.set_impl(market_service)
            code, msg, event_id = app_deploy_service.execute(tenant, market_service.service, user, True, app_record.version)
            service_record = service_records.get(service_id=market_service.service.service_id)
            upgrade_repo.change_service_record_status(service_record, self._get_sync_rolling_status(code, event_id))
            # 改变event id
            if code == 200:
                service_record.event_id = event_id
                service_record.save()
Esempio n. 2
0
 def _change_service_record_status(event, service_record):
     """变更服务升级记录状态"""
     operation = {
         # 升级中
         UpgradeStatus.UPGRADING.value: {
             "success": UpgradeStatus.UPGRADED.value,
             "failure": UpgradeStatus.UPGRADE_FAILED.value,
         },
         # 回滚中
         UpgradeStatus.ROLLING.value: {
             "success": UpgradeStatus.ROLLBACK.value,
             "failure": UpgradeStatus.ROLLBACK_FAILED.value,
         },
     }
     status = operation.get(service_record.status, {}).get(event.status)
     if status:
         upgrade_repo.change_service_record_status(service_record, status)