Skip to content

Commit c2683ee

Browse files
yksituiSecloud
authored andcommitted
fix: spider_slave添加部署备份程序; 调整例行数据修复的逻辑 #7440
1 parent 77b622e commit c2683ee

File tree

6 files changed

+13
-11
lines changed

6 files changed

+13
-11
lines changed

dbm-ui/backend/flow/engine/bamboo/scene/spider/common/common_sub_flow.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -465,13 +465,10 @@ def build_apps_for_spider_sub_flow(
465465
},
466466
)
467467
# 因为同一台机器的只有会有一个spider实例,所以直接根据ip、bk_cloud_id获取对应实例的spider角色,来判断是否安装备份程序
468-
if (
469-
spider_role in [TenDBClusterSpiderRole.SPIDER_MASTER, TenDBClusterSpiderRole.SPIDER_MNT]
470-
and is_install_backup
471-
):
468+
if is_install_backup:
472469
acts_list.append(
473470
{
474-
"act_name": _("spider[{}]安装备份程序".format(spider_ip)),
471+
"act_name": _("{}[{}]安装备份程序".format(spider_role.value, spider_ip)),
475472
"act_component_code": ExecuteDBActuatorScriptComponent.code,
476473
"kwargs": asdict(
477474
ExecActuatorKwargs(

dbm-ui/backend/flow/engine/bamboo/scene/spider/spider_add_nodes.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ def add_spider_slave_notes(self, sub_flow_context: dict, cluster: Cluster, slave
157157
添加spider-slave节点的子流程流程逻辑
158158
必须集群存在从集群,才能添加
159159
"""
160+
# spider slave 不安装备份程序,只解压
161+
sub_flow_context["untar_only"] = True
160162

161163
sub_pipeline = SubBuilder(root_id=self.root_id, data=copy.deepcopy(sub_flow_context))
162164

dbm-ui/backend/flow/engine/bamboo/scene/spider/spider_slave_cluster_deploy.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ def deploy_slave_cluster(self):
8181
sub_flow_context["spider_charset"] = spider_charset
8282
sub_flow_context["spider_version"] = spider_version
8383

84+
# spider slave 不安装备份程序,只解压
85+
sub_flow_context["untar_only"] = True
86+
8487
# 启动子流程
8588
sub_pipeline = SubBuilder(root_id=self.root_id, data=copy.deepcopy(sub_flow_context))
8689

dbm-ui/backend/flow/utils/mysql/mysql_act_playload.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,6 +716,7 @@ def get_install_db_backup_payload(self, **kwargs) -> dict:
716716
"cluster_type": cluster_type,
717717
"exec_user": self.ticket_data["created_by"],
718718
"shard_value": shard_port_map,
719+
"untar_only": self.ticket_data.get("untar_only", False),
719720
},
720721
},
721722
}

dbm-ui/backend/ticket/builders/mysql/mysql_data_repair.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from backend.flow.engine.controller.mysql import MySQLController
1717
from backend.ticket import builders
1818
from backend.ticket.builders.common.constants import MySQLDataRepairTriggerMode
19-
from backend.ticket.builders.common.field import DBTimezoneField
2019
from backend.ticket.builders.mysql.base import BaseMySQLTicketFlowBuilder, MySQLBaseOperateDetailSerializer
2120
from backend.ticket.constants import TicketType
2221

@@ -31,8 +30,8 @@ class MySQLDataRepairInfoSerializer(serializers.Serializer):
3130
checksum_table = serializers.CharField(help_text=_("校验单据结果表名"))
3231
is_sync_non_innodb = serializers.BooleanField(help_text=_("非innodb表是否修复"), required=False, default=False)
3332
is_ticket_consistent = serializers.BooleanField(help_text=_("校验结果是否一致"), required=False, default=False)
34-
start_time = DBTimezoneField(help_text=_("开始时间"), required=False, default="")
35-
end_time = DBTimezoneField(help_text=_("结束时间"), required=False, default="")
33+
start_time = serializers.CharField(help_text=_("开始时间"), required=False, default="")
34+
end_time = serializers.CharField(help_text=_("结束时间"), required=False, default="")
3635
trigger_type = serializers.ChoiceField(help_text=_("数据修复触发类型"), choices=MySQLDataRepairTriggerMode.get_choices())
3736

3837

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
from backend.ticket.exceptions import TicketTaskTriggerException
4848
from backend.ticket.flow_manager.inner import InnerFlow
4949
from backend.ticket.models.ticket import Flow, Ticket, TicketFlowsConfig
50-
from backend.utils.time import datetime2str
50+
from backend.utils.time import date2str, datetime2str
5151

5252
logger = logging.getLogger("root")
5353

@@ -204,8 +204,8 @@ def auto_create_data_repair_ticket(cls):
204204
"is_ticket_consistent": False,
205205
"checksum_table": MYSQL_CHECKSUM_TABLE,
206206
"trigger_type": MySQLDataRepairTriggerMode.ROUTINE.value,
207-
"start_time": datetime2str(start_time),
208-
"end_time": datetime2str(end_time),
207+
"start_time": date2str(start_time),
208+
"end_time": date2str(end_time),
209209
"infos": [
210210
{
211211
"cluster_id": cluster_id,

0 commit comments

Comments
 (0)