Skip to content

Commit 2098c4c

Browse files
huangwentai-wendeliSecloud
authored andcommitted
fix(backend): 修复sqlserver集群重置没删除代办 TencentBlueKing#16155
1 parent df5bb79 commit 2098c4c

File tree

4 files changed

+8
-15
lines changed

4 files changed

+8
-15
lines changed

dbm-ui/backend/ticket/builders/sqlserver/sqlserver_reset.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def format_ticket_data(self):
4747
pass
4848

4949

50-
@builders.BuilderFactory.register(TicketType.SQLSERVER_RESET)
50+
@builders.BuilderFactory.register(TicketType.SQLSERVER_RESET, phase=ClusterPhase.ONLINE)
5151
class SQLServerResetFlowBuilder(BaseSQLServerTicketFlowBuilder):
5252
serializer = SQLServerResetDetailSerializer
5353
inner_flow_builder = SQLServerResetFlowParamBuilder

dbm-ui/backend/ticket/flow_manager/manager.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,10 @@ def ticket_status_trigger(self, origin_status, target_status):
153153
create_recycle_ticket.apply_async(args=(self.ticket.id, [], TicketType.RECYCLE_APPLY_HOST))
154154

155155
# 如果是集群的禁用、启动、删除、sqlserver重置则处理相对应代办操作
156-
if target_status == TicketStatus.SUCCEEDED and (
156+
if (
157157
self.ticket.ticket_type in BuilderFactory.ticket_type__cluster_phase
158-
or self.ticket.ticket_type == TicketType.SQLSERVER_RESET
158+
and target_status == TicketStatus.SUCCEEDED
159159
):
160-
# sqlserver重置的前提是禁用成功,集群状态是 offline
161-
if self.ticket.ticket_type == TicketType.SQLSERVER_RESET:
162-
cluster_phase = "offline"
163-
else:
164-
cluster_phase = BuilderFactory.ticket_type__cluster_phase[self.ticket.ticket_type]
165-
create_cluster_todo.apply_async(args=(self.ticket.id, cluster_phase, self.ticket.ticket_type))
160+
create_cluster_todo.apply_async(
161+
args=(self.ticket.id, BuilderFactory.ticket_type__cluster_phase[self.ticket.ticket_type])
162+
)

dbm-ui/backend/ticket/tasks/ticket_tasks.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ def create_recycle_ticket(revoke_ticket_id: int, recycle_hosts: list, recycle_ty
387387

388388

389389
@shared_task
390-
def create_cluster_todo(ticket_id, cluster_phase, ticket_type):
390+
def create_cluster_todo(ticket_id, cluster_phase):
391391
from backend.ticket.todos import ClusterDisableTodoContext, TodoActionType
392392

393393
logger.info("--------------------create_cluster_todo-----{}-{}".format(ticket_id, cluster_phase))
@@ -428,10 +428,7 @@ def create_cluster_todo(ticket_id, cluster_phase, ticket_type):
428428
).first()
429429
if not todo:
430430
continue
431-
# 单据类型是sqlserver重置则获取RESET类型,清除对应的待办
432-
if cluster_phase == ClusterPhase.ONLINE and ticket_type == TicketType.SQLSERVER_RESET:
433-
action = TodoActionType.RESET
434-
elif cluster_phase == ClusterPhase.ONLINE and ticket_type != TicketType.SQLSERVER_RESET:
431+
if cluster_phase == ClusterPhase.ONLINE:
435432
action = TodoActionType.ENABLE
436433
else:
437434
action = TodoActionType.DESTROY

dbm-ui/backend/ticket/todos/__init__.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ class TodoActionType(StrStructuredEnum):
149149
SKIP = EnumField("SKIP", _("跳过"))
150150
CHANGE = EnumField("CHANGE", _("变更"))
151151
ENABLE = EnumField("ENABLE", _("启用集群"))
152-
RESET = EnumField("RESET", _("重置集群"))
153152
DESTROY = EnumField("DESTROY", _("删除集群"))
154153

155154

0 commit comments

Comments
 (0)