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()
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)