diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/annotation/CompatibleImplementation.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/annotation/CompatibleImplementation.java index bec1bc4f56..3e42d735cd 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/annotation/CompatibleImplementation.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/annotation/CompatibleImplementation.java @@ -57,5 +57,5 @@ /** * 兼容实现被废除的版本 */ - String version() default ""; + String deprecatedVersion() default ""; } diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/constant/Bool.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/constant/Bool.java index 46e43bf79c..8eb413cb7a 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/constant/Bool.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/constant/Bool.java @@ -38,7 +38,7 @@ public static Bool from(Byte value) { return FALSE; } for (Bool boolEnum : values()) { - if (boolEnum.getValue() == value) { + if (boolEnum.byteValue() == value) { return boolEnum; } } @@ -53,10 +53,14 @@ public static boolean isTrue(Byte value) { if (value == null) { return false; } - return value.equals(Bool.TRUE.getValue()); + return value.equals(Bool.TRUE.byteValue()); } - public byte getValue() { + public byte byteValue() { + return this.value; + } + + public int intValue() { return this.value; } } diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/ApplicationHostDTO.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/ApplicationHostDTO.java index e0b0c405db..812fab6459 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/ApplicationHostDTO.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/ApplicationHostDTO.java @@ -174,7 +174,7 @@ public void setGseAgentAlive(Boolean gseAgentAlive) { } } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private Integer getAgentAliveValue() { return gseAgentAlive == null ? 0 : (gseAgentAlive ? 1 : 0); } diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/HostDTO.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/HostDTO.java index d974bcd236..47d6142b22 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/HostDTO.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/dto/HostDTO.java @@ -194,13 +194,15 @@ public static HostDTO fromVO(HostInfoVO hostInfoVO) { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - HostDTO hostDTO = (HostDTO) o; - if (hostId != null) { - return hostId.equals(hostDTO.getHostId()); + HostDTO otherHost = (HostDTO) o; + if (hostId != null && otherHost.getHostId() != null) { + return hostId.equals(otherHost.getHostId()); + } else if (this.getIp() != null && otherHost.getIp() != null) { + // 兼容没有hostId,只有ip的的场景 + return bkCloudId.equals(otherHost.bkCloudId) && + ip.equals(otherHost.ip); } else { - // 兼容没有hostId的场景 - return bkCloudId.equals(hostDTO.bkCloudId) && - ip.equals(hostDTO.ip); + return false; } } diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/HostInfoVO.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/HostInfoVO.java index a46e4f271c..15915d458a 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/HostInfoVO.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/HostInfoVO.java @@ -63,7 +63,7 @@ public class HostInfoVO { @ApiModelProperty("主机名称") private String hostName; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private String ipDesc; // agent状态:-2:未找到,-1:查询失败,0:初始安装,1:启动中,2:运行中,3:有损状态,4:繁忙,5:升级中,6:停止中,7:解除安装 @@ -75,7 +75,7 @@ public class HostInfoVO { @ApiModelProperty("云区域信息") private CloudAreaInfoVO cloudArea; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private CloudAreaInfoVO cloudAreaInfo; /** @@ -83,7 +83,7 @@ public class HostInfoVO { */ @ApiModelProperty("操作系统") private String osName; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private String os; @ApiModelProperty("系统类型") @@ -97,7 +97,7 @@ public class HostInfoVO { @JsonProperty("cloudVendor") private String cloudVendorName; - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public String getHostName() { if (hostName != null) { return hostName; @@ -108,13 +108,13 @@ public String getHostName() { return null; } - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setHostName(String hostName) { this.hostName = hostName; this.ipDesc = hostName; } - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public CloudAreaInfoVO getCloudArea() { if (cloudArea != null) { return cloudArea; @@ -125,13 +125,13 @@ public CloudAreaInfoVO getCloudArea() { return null; } - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setCloudArea(CloudAreaInfoVO cloudArea) { this.cloudArea = cloudArea; this.cloudAreaInfo = cloudArea; } - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public String getOsName() { if (osName != null) { return osName; @@ -142,7 +142,7 @@ public String getOsName() { return null; } - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setOsName(String osName) { this.osName = osName; this.os = osName; diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TargetNodeVO.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TargetNodeVO.java index 4b628f0191..b623d58a24 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TargetNodeVO.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TargetNodeVO.java @@ -43,34 +43,34 @@ public class TargetNodeVO { @ApiModelProperty(value = "节点 ID,对应拓扑树节点中的instanceId", required = true) private Long instanceId; - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") private Long id; @ApiModelProperty(value = "节点类型 biz-业务 set-集群 module-模块 xxx-用户自定义节点类型,对应拓扑树节点中的objectId", required = true) private String objectId; - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") private String type; - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") public void setInstanceId(Long instanceId) { this.instanceId = instanceId; this.id = instanceId; } - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") public void setId(Long id) { this.id = id; this.instanceId = id; log.warn("Use compatible field id:{}", id); } - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") public void setObjectId(String objectId) { this.objectId = objectId; this.type = objectId; } - @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "发布过程中兼容实现,发布后删除", deprecatedVersion = "3.8.0") public void setType(String type) { this.type = type; this.objectId = type; diff --git a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TaskHostNodeVO.java b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TaskHostNodeVO.java index 97b01b8e0f..d7ddf286ee 100644 --- a/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TaskHostNodeVO.java +++ b/src/backend/commons/common/src/main/java/com/tencent/bk/job/common/model/vo/TaskHostNodeVO.java @@ -49,13 +49,13 @@ public class TaskHostNodeVO { @ApiModelProperty("机器列表") private List hostList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("机器IP列表") private List ipList; @ApiModelProperty("节点 ID") private List nodeList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("节点 ID") private List topoNodeList; @@ -94,31 +94,31 @@ public boolean validate(boolean isCreate) { return !allEmpty; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setHostList(List hostList) { this.hostList = hostList; this.ipList = hostList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setIpList(List ipList) { this.ipList = ipList; this.hostList = ipList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setNodeList(List nodeList) { this.nodeList = nodeList; this.topoNodeList = nodeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setTopoNodeList(List topoNodeList) { this.topoNodeList = topoNodeList; this.nodeList = topoNodeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", deprecatedVersion = "3.8.0") @JsonIgnore public List getDynamicGroupIdList() { if (org.springframework.util.CollectionUtils.isEmpty(dynamicGroupList)) { @@ -140,7 +140,7 @@ public List getDynamicGroupIdList() { return dynamicGroupIdList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", deprecatedVersion = "3.8.0") public void setDynamicGroupIdList(List dynamicGroupIdList) { if (dynamicGroupIdList == null) { return; diff --git a/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeDTO.java b/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeDTO.java index 6618f51a00..f210d3c37d 100644 --- a/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeDTO.java +++ b/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeDTO.java @@ -40,7 +40,7 @@ public class EsbAppScopeDTO { /** * 兼容字段,表示cmdb 业务/业务集ID */ - @CompatibleImplementation(explain = "兼容字段,表示业务ID或者业务集ID", version = "3.6.x") + @CompatibleImplementation(explain = "兼容字段,表示业务ID或者业务集ID", deprecatedVersion = "3.6.x") @JsonProperty("bk_biz_id") private Long bizId; diff --git a/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeReq.java b/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeReq.java index fb195f940c..353c2b70b7 100644 --- a/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeReq.java +++ b/src/backend/commons/esb-sdk/src/main/java/com/tencent/bk/job/common/esb/model/EsbAppScopeReq.java @@ -50,7 +50,7 @@ public class EsbAppScopeReq extends EsbJobReq { /** * 兼容字段,表示cmdb 业务/业务集ID */ - @CompatibleImplementation(explain = "兼容字段,表示业务ID或者业务集ID", version = "3.6.x") + @CompatibleImplementation(explain = "兼容字段,表示业务ID或者业务集ID", deprecatedVersion = "3.6.x") @JsonProperty("bk_biz_id") @Min(value = 1L, message = "{validation.constraints.InvalidBkBizId.message}", groups = UseBkBizIdParam.class) private Long bizId; diff --git a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/WebTaskExecutionResultResource.java b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/WebTaskExecutionResultResource.java index 199ea84162..421b6e5eae 100644 --- a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/WebTaskExecutionResultResource.java +++ b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/WebTaskExecutionResultResource.java @@ -53,6 +53,7 @@ import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import javax.ws.rs.QueryParam; import java.util.List; /** @@ -226,7 +227,7 @@ Response getFastTaskStepExecutionResult( ); @CompatibleImplementation(name = "ipv6", explain = "考虑到历史记录只有ip数据,所以需要同时兼容hostId/ip两种方式", - version = "3.7.x") + deprecatedVersion = "3.7.x") @ApiOperation(value = "获取主机对应的脚本日志内容", produces = "application/json") @GetMapping(value = {"/step-execution-result/log-content/{stepInstanceId}/{executeCount}/{ip}", "/step-execution-result/log-content/{stepInstanceId}/{executeCount}/host/{hostId}"}) @@ -258,7 +259,7 @@ Response getScriptLogContentByHost( ); @CompatibleImplementation(name = "ipv6", explain = "考虑到历史记录只有ip数据,所以需要同时兼容hostId/ip两种方式", - version = "3.7.x") + deprecatedVersion = "3.7.x") @ApiOperation(value = "获取文件分发步骤主机对应的日志", produces = "application/json") @GetMapping(value = {"/step-execution-result/log-content/file/{stepInstanceId}/{executeCount}/{ip}", "/step-execution-result/log-content/file/{stepInstanceId}/{executeCount}/host/{hostId}"}) @@ -324,6 +325,8 @@ Response> getFileLogContentByFileTaskIds( @ApiOperation(value = "获取执行步骤-主机对应的变量列表", produces = "application/json") @GetMapping(value = {"/step-execution-result/variable/{stepInstanceId}/{ip}"}) + @CompatibleImplementation(name = "ipv6", explain = "兼容IPv6版本之前的使用并保存ip的执行历史数据,ipv6发布之后可删除") + @Deprecated Response> getStepVariableByIp( @ApiParam("用户名,网关自动传入") @RequestHeader("username") @@ -345,6 +348,32 @@ Response> getStepVariableByIp( String ip ); + @ApiOperation(value = "获取执行步骤-主机对应的变量列表", produces = "application/json") + @GetMapping(value = {"/step-execution-result/step/{stepInstanceId}/variables"}) + Response> getStepVariableByHost( + @ApiParam("用户名,网关自动传入") + @RequestHeader("username") + String username, + @ApiIgnore + @RequestAttribute(value = "appResourceScope") + AppResourceScope appResourceScope, + @ApiParam(value = "资源范围类型", required = true) + @PathVariable(value = "scopeType") + String scopeType, + @ApiParam(value = "资源范围ID", required = true) + @PathVariable(value = "scopeId") + String scopeId, + @ApiParam(value = "步骤实例ID", name = "stepInstanceId", required = true) + @PathVariable("stepInstanceId") + Long stepInstanceId, + @ApiParam(value = "hostId", name = "主机ID") + @QueryParam(value = "hostId") + Long hostId, + @ApiParam(value = "ip", name = "云区域ID:IPv4,为了兼容历史数据的查询保留;如果返回的任务中包含ip,那么需要传入") + @QueryParam(value = "ip") + String ip + ); + @ApiOperation(value = "获取执行结果分组下的主机列表", produces = "application/json") @GetMapping(value = {"/step-execution-result/hosts/{stepInstanceId}/{executeCount}"}) Response> getHostsByResultType( diff --git a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/AgentTaskExecutionVO.java b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/AgentTaskExecutionVO.java index 32d2fbb2c8..728862d59d 100644 --- a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/AgentTaskExecutionVO.java +++ b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/AgentTaskExecutionVO.java @@ -47,17 +47,19 @@ public class AgentTaskExecutionVO { @ApiModelProperty("Agent ID") private String agentId; - /** - * tmp: 暂时返回云区域+ipv4,发布完成之后仅返回ipv4 - */ - @ApiModelProperty("Agent ipv4") + @ApiModelProperty("云区域+ipv4,废弃字段,ipv6版本发布后删除") + @Deprecated private String ip; @Deprecated @CompatibleImplementation(name = "ipv6", explain = "兼容字段,发布完成后可删除", - version = "3.7.x") + deprecatedVersion = "3.7.x") + @ApiModelProperty("废弃字段,ipv6版本发布后删除") private String displayIp; + @ApiModelProperty("Agent ipv4") + private String ipv4; + @ApiModelProperty("Agent ipv6") private String ipv6; diff --git a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteHostVO.java b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteHostVO.java index 6ae417bfd4..99896b37bb 100644 --- a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteHostVO.java +++ b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteHostVO.java @@ -55,7 +55,7 @@ public class ExecuteHostVO { @ApiModelProperty("云区域信息") private ExecuteCloudAreaInfoVO cloudAreaInfo; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setCloudAreaInfo(ExecuteCloudAreaInfoVO cloudAreaInfo) { this.cloudAreaInfo = cloudAreaInfo; if (cloudAreaInfo != null) { @@ -63,7 +63,7 @@ public void setCloudAreaInfo(ExecuteCloudAreaInfoVO cloudAreaInfo) { } } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setCloudId(Long cloudId) { this.cloudId = cloudId; this.cloudAreaInfo = new ExecuteCloudAreaInfoVO(cloudId, null); diff --git a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteServersVO.java b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteServersVO.java index 1fc8ac1244..47ebd1b713 100644 --- a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteServersVO.java +++ b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteServersVO.java @@ -48,47 +48,47 @@ public class ExecuteServersVO { @ApiModelProperty("静态 IP 列表") @JsonProperty("hostList") private List hostList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @JsonProperty("ipList") private List ipList; @ApiModelProperty("拓扑节点") @JsonProperty("nodeList") private List nodeList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @JsonProperty("topoNodeList") private List topoNodeList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本修改为具体类型", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本修改为具体类型", deprecatedVersion = "3.8.0") @ApiModelProperty("动态分组 ID") @JsonProperty("dynamicGroupList") private List dynamicGroupList; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setIpList(List ipList) { this.ipList = ipList; this.hostList = ipList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setHostList(List hostList) { this.hostList = hostList; this.ipList = hostList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setNodeList(List nodeList) { this.nodeList = nodeList; this.topoNodeList = nodeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setTopoNodeList(List topoNodeList) { this.topoNodeList = topoNodeList; this.nodeList = topoNodeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改实现", deprecatedVersion = "3.8.0") @JsonIgnore public List getDynamicGroupIdList() { if (CollectionUtils.isEmpty(dynamicGroupList)) { diff --git a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteTopoNodeVO.java b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteTopoNodeVO.java index 8c7bcc50d9..963847b58a 100644 --- a/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteTopoNodeVO.java +++ b/src/backend/job-execute/api-job-execute/src/main/java/com/tencent/bk/job/execute/model/web/vo/ExecuteTopoNodeVO.java @@ -36,33 +36,33 @@ public class ExecuteTopoNodeVO { @ApiModelProperty(value = "节点 ID,对应拓扑树节点中的instanceId", required = true) private Long instanceId; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private Long id; @ApiModelProperty(value = "节点类型 biz-业务 set-集群 module-模块 xxx-用户自定义节点类型,对应拓扑树节点中的objectId", required = true) private String objectId; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private String type; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setId(Long id) { this.id = id; this.instanceId = id; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setInstanceId(Long instanceId) { this.instanceId = instanceId; this.id = instanceId; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setObjectId(String objectId) { this.objectId = objectId; this.type = objectId; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setType(String type) { this.type = type; this.objectId = type; diff --git a/src/backend/job-execute/boot-job-execute/src/test/java/com/tencent/bk/job/execute/dao/impl/StepInstanceVariableDAOImplIntegrationTest.java b/src/backend/job-execute/boot-job-execute/src/test/java/com/tencent/bk/job/execute/dao/impl/StepInstanceVariableDAOImplIntegrationTest.java index 2be1ccb31d..97e10a3d8f 100644 --- a/src/backend/job-execute/boot-job-execute/src/test/java/com/tencent/bk/job/execute/dao/impl/StepInstanceVariableDAOImplIntegrationTest.java +++ b/src/backend/job-execute/boot-job-execute/src/test/java/com/tencent/bk/job/execute/dao/impl/StepInstanceVariableDAOImplIntegrationTest.java @@ -69,7 +69,8 @@ void testSaveVariableValues() { variableValues.setGlobalParams(globalParams); List hostParamValuesList = new ArrayList<>(); HostVariableValuesDTO hostParamValues = new HostVariableValuesDTO(); - hostParamValues.setIp("1.1.1.1"); + hostParamValues.setHostId(1L); + hostParamValues.setCloudIpv4("0:1.1.1.1"); List namespaceParamValues = new ArrayList<>(); namespaceParamValues.add(new VariableValueDTO("param11", 2, "value11")); namespaceParamValues.add(new VariableValueDTO("param12", 2, "value12")); @@ -91,7 +92,8 @@ void testSaveVariableValues() { assertThat(actual.getGlobalParams()).extracting("value").containsOnly("value11", "value12"); assertThat(actual.getNamespaceParams()).hasSize(1); - assertThat(actual.getNamespaceParams().get(0).getIp()).isEqualTo("1.1.1.1"); + assertThat(actual.getNamespaceParams().get(0).getCloudIpv4()).isEqualTo("0:1.1.1.1"); + assertThat(actual.getNamespaceParams().get(0).getHostId()).isEqualTo(1L); assertThat(actual.getNamespaceParams().get(0).getValues()).hasSize(2); assertThat(actual.getNamespaceParams().get(0).getValues()).extracting("name") .containsOnly("param11", "param12"); diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebExecuteTaskResourceImpl.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebExecuteTaskResourceImpl.java index b9452de4f4..ea11601eab 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebExecuteTaskResourceImpl.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebExecuteTaskResourceImpl.java @@ -487,7 +487,7 @@ private StepInstanceDTO buildFastFileStepInstance(String userName, Long appId, W return stepInstance; } - @CompatibleImplementation(name = "ipv6", explain = "兼容IP,发布完成之后使用hostId,不再使用IP", version = "3.6.x") + @CompatibleImplementation(name = "ipv6", explain = "兼容IP,发布完成之后使用hostId,不再使用IP", deprecatedVersion = "3.6.x") private ServersDTO convertToServersDTO(ExecuteTargetVO target) { if (target == null || target.getHostNodeInfo() == null) { return null; diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebTaskExecutionResultResourceImpl.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebTaskExecutionResultResourceImpl.java index 5aacf077ca..72f57beee8 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebTaskExecutionResultResourceImpl.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/api/web/impl/WebTaskExecutionResultResourceImpl.java @@ -27,6 +27,7 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import com.tencent.bk.job.common.constant.Bool; import com.tencent.bk.job.common.constant.ErrorCode; import com.tencent.bk.job.common.constant.Order; import com.tencent.bk.job.common.constant.TaskVariableTypeEnum; @@ -560,9 +561,9 @@ private StepExecutionDetailVO convertToStepInstanceExecutionDetailVO(StepExecuti AgentTaskExecutionVO agentTaskVO = new AgentTaskExecutionVO(); agentTaskVO.setHostId(agentTask.getHostId()); agentTaskVO.setAgentId(agentTask.getAgentId()); - // tmp 发布兼容,发布完成后需要改成 agentTaskVO.setIp(agentTask.getIp()); agentTaskVO.setIp(agentTask.getCloudIp()); agentTaskVO.setDisplayIp(agentTask.getIp()); + agentTaskVO.setIpv4(agentTask.getIp()); agentTaskVO.setIpv6(agentTask.getIpv6()); agentTaskVO.setEndTime(agentTask.getEndTime()); agentTaskVO.setStartTime(agentTask.getStartTime()); @@ -627,18 +628,17 @@ public Response getScriptLogContentByHost(String username, return Response.buildSuccessResp(ipScriptLogContentVO); } - private AuthResult authViewStepInstance(String username, AppResourceScope appResourceScope, - StepInstanceBaseDTO stepInstance) { + private void authViewStepInstance(String username, AppResourceScope appResourceScope, + StepInstanceBaseDTO stepInstance) { String operator = stepInstance.getOperator(); if (username.equals(operator)) { - return AuthResult.pass(); + return; } AuthResult authResult = executeAuthService.authViewTaskInstance( username, appResourceScope, stepInstance.getTaskInstanceId()); if (!authResult.isPass()) { - authResult.setApplyUrl(webAuthService.getApplyUrl(authResult.getRequiredActionResources())); + throw new PermissionDeniedException(authResult); } - return authResult; } @@ -649,90 +649,153 @@ public Response> getStepVariableByIp(String username, String scopeId, Long stepInstanceId, String ip) { + return getStepVariableByHost(username, appResourceScope, scopeType, scopeId, stepInstanceId, null, ip); + } + + @Override + public Response> getStepVariableByHost(String username, + AppResourceScope appResourceScope, + String scopeType, + String scopeId, + Long stepInstanceId, + Long hostId, + String ip) { StepInstanceDTO stepInstance = taskInstanceService.getStepInstanceDetail(stepInstanceId); if (stepInstance == null) { - return Response.buildSuccessResp(Collections.emptyList()); + throw new NotFoundException(ErrorCode.STEP_INSTANCE_NOT_EXIST); } if (!stepInstance.getExecuteType().equals(StepExecuteTypeEnum.EXECUTE_SCRIPT.getValue()) || !stepInstance.getScriptType().equals(ScriptTypeEnum.SHELL.getValue())) { return Response.buildSuccessResp(Collections.emptyList()); } - AuthResult authResult = authViewStepInstance(username, appResourceScope, stepInstance); - if (!authResult.isPass()) { - throw new PermissionDeniedException(authResult); - } + authViewStepInstance(username, appResourceScope, stepInstance); + List taskVariableVOS = getStepVariableByHost(stepInstance, hostId, ip); + return Response.buildSuccessResp(taskVariableVOS); + } + + private List getStepVariableByHost(StepInstanceBaseDTO stepInstance, + Long hostId, + String ip) { List taskVars = taskInstanceVariableService.getByTaskInstanceId(stepInstance.getTaskInstanceId()); if (taskVars == null || taskVars.isEmpty()) { - return Response.buildSuccessResp(Collections.emptyList()); + return Collections.emptyList(); } List taskVariableVOS = new ArrayList<>(); - List changeableVarNames = new ArrayList<>(); - List namespaceVarNames = new ArrayList<>(); - Map taskVariablesMap = new HashMap<>(); + List changeableVars = new ArrayList<>(); for (TaskVariableDTO taskVar : taskVars) { - taskVariablesMap.put(taskVar.getName(), taskVar); + // 主机变量无需返回 if (taskVar.getType() == TaskVariableTypeEnum.HOST_LIST.getType()) { continue; } if (!taskVar.isChangeable()) { taskVariableVOS.add(convertToTaskVariableVO(taskVar)); } else { - changeableVarNames.add(taskVar.getName()); - if (taskVar.getType() == TaskVariableTypeEnum.NAMESPACE.getType()) { - namespaceVarNames.add(taskVar.getName()); - } + changeableVars.add(taskVar); } } - if (!changeableVarNames.isEmpty()) { - StepInstanceVariableValuesDTO inputStepInstanceValues = stepInstanceVariableValueService - .computeInputStepInstanceVariableValues(stepInstance.getTaskInstanceId(), stepInstanceId, taskVars); - if (inputStepInstanceValues == null) { - taskVars.stream().filter(var -> !var.getType().equals(TaskVariableTypeEnum.HOST_LIST.getType()) && - var.isChangeable()).forEach(var -> taskVariableVOS.add(convertToTaskVariableVO(var))); - return Response.buildSuccessResp(taskVariableVOS); - } + if (CollectionUtils.isNotEmpty(changeableVars)) { + appendStepChangeableVars(taskVariableVOS, stepInstance, changeableVars, hostId, ip); + } + + return taskVariableVOS; + } - namespaceVarNames.forEach(paramName -> { + private void appendStepChangeableVars(List taskVariableVOS, + StepInstanceBaseDTO stepInstance, + List changeableVars, + Long hostId, + String ip) { + long stepInstanceId = stepInstance.getId(); + + StepInstanceVariableValuesDTO inputStepInstanceValues = stepInstanceVariableValueService + .computeInputStepInstanceVariableValues(stepInstance.getTaskInstanceId(), stepInstanceId, changeableVars); + if (inputStepInstanceValues == null) { + changeableVars.stream().filter(var -> !var.getType().equals(TaskVariableTypeEnum.HOST_LIST.getType()) && + var.isChangeable()).forEach(var -> taskVariableVOS.add(convertToTaskVariableVO(var))); + return; + } + + Map taskVariablesMap = new HashMap<>(); + for (TaskVariableDTO taskVar : changeableVars) { + taskVariablesMap.put(taskVar.getName(), taskVar); + } + + // 命名空间变量 + appendNamespaceVars(taskVariableVOS, changeableVars, inputStepInstanceValues, taskVariablesMap, hostId, ip); + + // 全局变量(除命名空间变量) + appendGlobalChangeableVars(taskVariableVOS, inputStepInstanceValues, taskVariablesMap); + } + + private void appendNamespaceVars(List taskVariableVOS, + List changeableVars, + StepInstanceVariableValuesDTO inputStepInstanceValues, + Map taskVariablesMap, + Long hostId, + String ip) { + Map hostVariables = new HashMap<>(); + if (inputStepInstanceValues.getNamespaceParamsMap() != null + && !inputStepInstanceValues.getNamespaceParamsMap().isEmpty()) { + // 命名空间变量的数据,之前的版本不包含hostId,只包含ip;需要兼容hostId/ip查询 + boolean isFilterByHostId = inputStepInstanceValues.getNamespaceParams().get(0).getHostId() != null; + // Map + if (isFilterByHostId) { + inputStepInstanceValues.getNamespaceParamsMap() + .forEach((host, hostVars) -> { + if (host.getHostId() != null && host.getHostId().equals(hostId)) { + hostVars.forEach(hostVariables::put); + } + }); + } else { + // 兼容历史数据,命名空间变量只有ip的场景 + inputStepInstanceValues.getNamespaceParamsMap() + .forEach((host, hostVars) -> { + if (host.toCloudIp() != null && host.toCloudIp().equals(ip)) { + hostVars.forEach(hostVariables::put); + } + }); + } + } + changeableVars + .stream() + .filter(var -> var.getType().equals(TaskVariableTypeEnum.NAMESPACE.getType())) + .forEach(var -> { ExecuteVariableVO vo = new ExecuteVariableVO(); - vo.setName(paramName); - String paramValue = (inputStepInstanceValues.getNamespaceParamsMap() != null - && inputStepInstanceValues.getNamespaceParamsMap().get(ip) != null - && inputStepInstanceValues.getNamespaceParamsMap().get(ip).get(paramName) != null) - ? inputStepInstanceValues.getNamespaceParamsMap().get(ip).get(paramName).getValue() - : taskVariablesMap.get(paramName).getValue(); - vo.setValue(paramValue); - vo.setChangeable(1); + String varName = var.getName(); + vo.setName(varName); + String varValue = hostVariables.get(varName) != null + ? hostVariables.get(varName).getValue() : taskVariablesMap.get(varName).getValue(); + vo.setValue(varValue); + vo.setChangeable(Bool.TRUE.intValue()); vo.setType(TaskVariableTypeEnum.NAMESPACE.getType()); taskVariableVOS.add(vo); }); + } - List globalVars = inputStepInstanceValues.getGlobalParams(); - if (globalVars != null) { - for (VariableValueDTO varValue : globalVars) { - if (varValue.getType().equals(TaskVariableTypeEnum.HOST_LIST.getType())) { - // 过滤掉主机变量 - continue; - } - TaskVariableDTO taskVariable = taskVariablesMap.get(varValue.getName()); - if (taskVariable == null || !taskVariable.isChangeable()) { - // 过滤掉常量 - continue; - } - - ExecuteVariableVO vo = new ExecuteVariableVO(); - vo.setName(varValue.getName()); - vo.setValue(varValue.getValue()); - vo.setChangeable(1); - vo.setType(taskVariable.getType()); - taskVariableVOS.add(vo); + private void appendGlobalChangeableVars(List taskVariableVOS, + StepInstanceVariableValuesDTO inputStepInstanceValues, + Map taskVariablesMap) { + List globalVars = inputStepInstanceValues.getGlobalParams(); + if (CollectionUtils.isNotEmpty(globalVars)) { + for (VariableValueDTO varValue : globalVars) { + TaskVariableDTO taskVariable = taskVariablesMap.get(varValue.getName()); + if (taskVariable == null || !taskVariable.isChangeable()) { + // 过滤掉常量 + continue; } + + ExecuteVariableVO vo = new ExecuteVariableVO(); + vo.setName(varValue.getName()); + vo.setValue(varValue.getValue()); + vo.setChangeable(Bool.TRUE.intValue()); + vo.setType(taskVariable.getType()); + taskVariableVOS.add(vo); } } - return Response.buildSuccessResp(taskVariableVOS); } private ExecuteVariableVO convertToTaskVariableVO(TaskVariableDTO taskVariable) { @@ -880,10 +943,7 @@ private void authViewStepInstance(String username, AppResourceScope appResourceS if (stepInstance == null) { throw new NotFoundException(ErrorCode.STEP_INSTANCE_NOT_EXIST); } - AuthResult authResult = authViewStepInstance(username, appResourceScope, stepInstance); - if (!authResult.isPass()) { - throw new PermissionDeniedException(authResult); - } + authViewStepInstance(username, appResourceScope, stepInstance); } @Override diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/GseTaskIpLogDAO.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/GseTaskIpLogDAO.java index 620e7f15c7..afbcae3b98 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/GseTaskIpLogDAO.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/GseTaskIpLogDAO.java @@ -34,7 +34,7 @@ /** * GseTaskIpLogDAO */ -@CompatibleImplementation(name = "rolling_execute", explain = "兼容老版本数据,过1-2个大版本之后删除", version = "3.7.x") +@CompatibleImplementation(name = "rolling_execute", explain = "兼容老版本数据,过1-2个大版本之后删除", deprecatedVersion = "3.7.x") @Deprecated public interface GseTaskIpLogDAO { diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/impl/GseTaskIpLogDAOImpl.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/impl/GseTaskIpLogDAOImpl.java index 3121499ae0..2f50e5ccee 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/impl/GseTaskIpLogDAOImpl.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/dao/impl/GseTaskIpLogDAOImpl.java @@ -52,7 +52,7 @@ import static com.tencent.bk.job.common.constant.Order.DESCENDING; import static org.jooq.impl.DSL.count; -@CompatibleImplementation(name = "rolling_execute", explain = "兼容老版本数据,过1-2个大版本之后删除", version = "3.7.x") +@CompatibleImplementation(name = "rolling_execute", explain = "兼容老版本数据,过1-2个大版本之后删除", deprecatedVersion = "3.7.x") @Repository public class GseTaskIpLogDAOImpl implements GseTaskIpLogDAO { @@ -72,7 +72,7 @@ public int getSuccessAgentTaskCount(long stepInstanceId, int executeCount) { AgentTaskStatusEnum.SUCCESS.getValue())) .and(t.STEP_INSTANCE_ID.eq(stepInstanceId)) .and(t.EXECUTE_COUNT.eq(executeCount)) - .and(t.IS_TARGET.eq(Bool.TRUE.getValue())) + .and(t.IS_TARGET.eq(Bool.TRUE.byteValue())) .fetchOne(0, Integer.class); } @@ -82,7 +82,7 @@ public List listResultGroups(long stepInstanceId, i Result result = CTX.select(t.STATUS, t.TAG, count().as("ip_count")).from(t) .where(t.STEP_INSTANCE_ID.eq(stepInstanceId)) .and(t.EXECUTE_COUNT.eq(executeCount)) - .and(t.IS_TARGET.eq(Bool.TRUE.getValue())) + .and(t.IS_TARGET.eq(Bool.TRUE.byteValue())) .groupBy(t.STATUS, t.TAG) .orderBy(t.STATUS.asc()) .fetch(); @@ -111,7 +111,7 @@ public List listAgentTaskByResultGroup(Long stepInstanceId, .and(t.EXECUTE_COUNT.eq(executeCount)) .and(t.STATUS.eq(status)) .and(t.TAG.eq(tag == null ? "" : tag)) - .and(t.IS_TARGET.eq(Bool.TRUE.getValue())) + .and(t.IS_TARGET.eq(Bool.TRUE.byteValue())) .fetch(); List agentTasks = new ArrayList<>(); @@ -136,7 +136,7 @@ public List listAgentTaskByResultGroup(Long stepInstanceId, conditions.add(t.EXECUTE_COUNT.eq(executeCount)); conditions.add(t.STATUS.eq(status)); conditions.add(t.TAG.eq(tag == null ? "" : tag)); - conditions.add(t.IS_TARGET.eq(Bool.TRUE.getValue())); + conditions.add(t.IS_TARGET.eq(Bool.TRUE.byteValue())); SelectConditionStep select = CTX.select(t.STEP_INSTANCE_ID, t.EXECUTE_COUNT, t.IP, t.STATUS, t.START_TIME, t.END_TIME, @@ -242,7 +242,7 @@ private AgentTaskDTO extract(Record record) { agentTask.setExitCode(record.get(t.EXIT_CODE, Integer.class)); agentTask.setTag(record.get(t.TAG)); agentTask.setScriptLogOffset(record.get(t.LOG_OFFSET)); - boolean isUploadMode = record.get(t.IS_SOURCE) == Bool.TRUE.getValue(); + boolean isUploadMode = record.get(t.IS_SOURCE) == Bool.TRUE.byteValue(); agentTask.setFileTaskMode(isUploadMode ? FileTaskModeEnum.UPLOAD : FileTaskModeEnum.DOWNLOAD); return agentTask; } diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/result/ScriptResultHandleTask.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/result/ScriptResultHandleTask.java index 56fcd7a945..9d3c8b20eb 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/result/ScriptResultHandleTask.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/result/ScriptResultHandleTask.java @@ -543,11 +543,11 @@ private List buildNamespaceVariableValues() { for (Map.Entry> entry : namespaceParamValues.entrySet()) { HostVariableValuesDTO hostVariableValues = new HostVariableValuesDTO(); List paramValues = toVariableValuesList(entry.getValue()); - AgentTaskDTO agentTask = targetAgentTasks.get(entry.getKey()); - hostVariableValues.setHostId(agentTask.getHostId()); - hostVariableValues.setAgentId(entry.getKey()); + HostDTO host = agentIdHostMap.get(entry.getKey()); + hostVariableValues.setHostId(host.getHostId()); + hostVariableValues.setCloudIpv4(host.toCloudIp()); + hostVariableValues.setCloudIpv6(host.toCloudIpv6()); hostVariableValues.setValues(paramValues); - hostVariableValues.setIp(agentTask.getCloudIp()); hostVariableValuesList.add(hostVariableValues); } return hostVariableValuesList; diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/variable/JobNamespaceVariableResolver.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/variable/JobNamespaceVariableResolver.java index ca63a8dbf4..01cf646c35 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/variable/JobNamespaceVariableResolver.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/engine/variable/JobNamespaceVariableResolver.java @@ -60,12 +60,11 @@ public String resolve(VariableResolveContext context, String variableName) { Map> namespaceVarsValues = new HashMap<>(); List namespaceValues = stepInputVariables.getNamespaceParams(); namespaceValues.forEach(namespaceValue -> { - String ip = namespaceValue.getIp(); if (CollectionUtils.isNotEmpty(namespaceValue.getValues())) { namespaceValue.getValues().forEach(variableValue -> { Map ipAndValueMap = namespaceVarsValues.computeIfAbsent(variableValue.getName(), k -> new HashMap<>()); - ipAndValueMap.put(ip, variableValue.getValue()); + ipAndValueMap.put(namespaceValue.getPrimaryCloudIp(), variableValue.getValue()); }); } diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/AgentTaskDTO.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/AgentTaskDTO.java index dbd39520a3..92b564f157 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/AgentTaskDTO.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/AgentTaskDTO.java @@ -76,7 +76,7 @@ public class AgentTaskDTO { */ @Deprecated @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续AgentTask仅包含hostId,不再存储具体的IP数据", - version = "3.7.x") + deprecatedVersion = "3.7.x") private String cloudIp; /** * 任务状态 diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/HostVariableValuesDTO.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/HostVariableValuesDTO.java index 03d8a35532..2b2e7bd25f 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/HostVariableValuesDTO.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/HostVariableValuesDTO.java @@ -24,9 +24,11 @@ package com.tencent.bk.job.execute.model; -import com.tencent.bk.job.common.annotation.CompatibleImplementation; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.tencent.bk.job.common.annotation.PersistenceObject; import lombok.Data; +import org.apache.commons.lang3.StringUtils; import java.util.List; @@ -37,20 +39,33 @@ @Data public class HostVariableValuesDTO { /** - * 主机IP + * 主机云区域ID:IPv4 */ - @CompatibleImplementation(explain = "由于ip不再唯一,使用hostId/agentId替代该参数", version = "3.7.x") - private String ip; + @JsonProperty("ip") + private String cloudIpv4; /** - * 主机ID + * 主机云区域ID:ipv6 */ - private Long hostId; + @JsonProperty("ipv6") + private String cloudIpv6; /** - * bk_agent_id + * 主机ID */ - private String agentId; + @JsonProperty("hostId") + private Long hostId; /** * 变量值 */ + @JsonProperty("values") private List values; + + /** + * 获取主机的ip,优先返回ipv4 + * + * @return 主机ipv4/ipv6, ipv4 优先 + */ + @JsonIgnore + public String getPrimaryCloudIp() { + return StringUtils.isNotEmpty(cloudIpv4) ? cloudIpv4 : cloudIpv6; + } } diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/StepInstanceVariableValuesDTO.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/StepInstanceVariableValuesDTO.java index a304588877..5888cdd438 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/StepInstanceVariableValuesDTO.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/model/StepInstanceVariableValuesDTO.java @@ -28,6 +28,7 @@ import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; import com.tencent.bk.job.common.annotation.PersistenceObject; +import com.tencent.bk.job.common.model.dto.HostDTO; import com.tencent.bk.job.execute.constants.VariableValueTypeEnum; import lombok.Data; @@ -82,8 +83,10 @@ public class StepInstanceVariableValuesDTO { private Map globalParamsMap; /** - * Map> + * Map> */ @JsonIgnore - private Map> namespaceParamsMap; + private Map> namespaceParamsMap; + + } diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/AgentTaskService.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/AgentTaskService.java index da6e6120ce..63577469a8 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/AgentTaskService.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/AgentTaskService.java @@ -164,7 +164,7 @@ List listAgentTaskDetail(StepInstanceBaseDTO stepInstance, * @param cloudIp 云区域+ip * @return Agent任务实际执行成功的executeCount值 */ - @CompatibleImplementation(name = "rolling_execution", explain = "兼容历史数据", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execution", explain = "兼容历史数据", deprecatedVersion = "3.7.x") int getActualSuccessExecuteCount(long stepInstanceId, String cloudIp); /** diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/StepInstanceVariableValueService.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/StepInstanceVariableValueService.java index bafd1b467f..a646ab1d22 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/StepInstanceVariableValueService.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/StepInstanceVariableValueService.java @@ -53,7 +53,7 @@ public interface StepInstanceVariableValueService { * * @param taskInstanceId 作业实例ID * @param stepInstanceId 当前步骤ID - * @param taskVariables 全局变量 + * @param taskVariables 全局变量初始值 * @return 变量值 */ StepInstanceVariableValuesDTO computeInputStepInstanceVariableValues(long taskInstanceId, long stepInstanceId, diff --git a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/impl/StepInstanceVariableValueServiceImpl.java b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/impl/StepInstanceVariableValueServiceImpl.java index 1a2b8dbd62..3ccb953baf 100644 --- a/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/impl/StepInstanceVariableValueServiceImpl.java +++ b/src/backend/job-execute/service-job-execute/src/main/java/com/tencent/bk/job/execute/service/impl/StepInstanceVariableValueServiceImpl.java @@ -25,6 +25,8 @@ package com.tencent.bk.job.execute.service.impl; import com.tencent.bk.job.common.constant.TaskVariableTypeEnum; +import com.tencent.bk.job.common.model.dto.HostDTO; +import com.tencent.bk.job.common.util.ip.IpUtils; import com.tencent.bk.job.execute.common.constants.StepExecuteTypeEnum; import com.tencent.bk.job.execute.dao.StepInstanceVariableDAO; import com.tencent.bk.job.execute.engine.model.TaskVariableDTO; @@ -38,6 +40,7 @@ import com.tencent.bk.job.execute.service.TaskInstanceVariableService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -86,9 +89,7 @@ public List computeOutputVariableValuesForAllStep if (CollectionUtils.isEmpty(globalVars)) { return resultStepInstanceVariableValuesList; } - Map globalVarValueMap = new HashMap<>(); - initGlobalVarMap(globalVars, globalVarValueMap); - + Map globalVarValueMap = initGlobalVarMap(globalVars); stepInstanceList.forEach(stepInstance -> { if (!StepExecuteTypeEnum.EXECUTE_SCRIPT.getValue().equals(stepInstance.getExecuteType())) { @@ -124,24 +125,22 @@ public StepInstanceVariableValuesDTO computeInputStepInstanceVariableValues(long long stepInstanceId, List taskVariables) { TaskVariablesAnalyzeResult variablesAnalyzeResult = new TaskVariablesAnalyzeResult(taskVariables); + if (!variablesAnalyzeResult.isExistAnyVar()) { + // 如果不存在任何变量,无需进一步处理 + return null; + } StepInstanceVariableValuesDTO inputStepInstanceVariableValues = new StepInstanceVariableValuesDTO(); inputStepInstanceVariableValues.setTaskInstanceId(taskInstanceId); inputStepInstanceVariableValues.setStepInstanceId(stepInstanceId); - if (!variablesAnalyzeResult.isExistAnyVar()) { - return inputStepInstanceVariableValues; - } - List namespaceVarValues = new ArrayList<>(); + // 初始化全局变量 List globalVarValues = new ArrayList<>(); - Map globalVarValueMap = new HashMap<>(); - Map> namespaceVarValueMap = new HashMap<>(); - inputStepInstanceVariableValues.setNamespaceParams(namespaceVarValues); - inputStepInstanceVariableValues.setNamespaceParamsMap(namespaceVarValueMap); inputStepInstanceVariableValues.setGlobalParams(globalVarValues); + // key: varName value: varValue + Map globalVarValueMap = initGlobalVarMap(taskVariables); inputStepInstanceVariableValues.setGlobalParamsMap(globalVarValueMap); - initGlobalVarMap(taskVariables, globalVarValueMap); - + // 如果作业只包含常量,由于变量值不可变,可以直接返回初始全局变量的值 if (variablesAnalyzeResult.isExistOnlyConstVar()) { if (!globalVarValueMap.isEmpty()) { globalVarValueMap.forEach((paramName, param) -> globalVarValues.add(param)); @@ -149,45 +148,78 @@ public StepInstanceVariableValuesDTO computeInputStepInstanceVariableValues(long return inputStepInstanceVariableValues; } - List stepInstanceVariableValuesList = + // 如果包含可变变量,那么需要获取前面所有步骤的输出变量值来进行处理 + List preStepInstanceVariableValuesList = stepInstanceVariableDAO.listSortedPreStepOutputVariableValues(taskInstanceId, stepInstanceId); - if (CollectionUtils.isEmpty(stepInstanceVariableValuesList)) { + if (CollectionUtils.isEmpty(preStepInstanceVariableValuesList)) { if (!globalVarValueMap.isEmpty()) { globalVarValueMap.forEach((paramName, param) -> globalVarValues.add(param)); } return inputStepInstanceVariableValues; } + // 按步骤执行先后顺序覆盖更新全局变量值 + updateGlobalVarValues(preStepInstanceVariableValuesList, globalVarValues, globalVarValueMap); + + // 处理命名空间变量 + if (variablesAnalyzeResult.isExistNamespaceVar()) { + updateNamespaceVarValues(inputStepInstanceVariableValues, preStepInstanceVariableValuesList); + } + + return inputStepInstanceVariableValues; + } + + private void updateGlobalVarValues(List stepInstanceVariableValuesList, + List globalVarValues, + Map globalVarValueMap) { stepInstanceVariableValuesList.forEach(stepInstanceVariableValues -> { List stepGlobalParams = stepInstanceVariableValues.getGlobalParams(); if (CollectionUtils.isNotEmpty(stepGlobalParams)) { + // 覆盖全局变量初始值 stepGlobalParams.forEach(globalParam -> globalVarValueMap.put(globalParam.getName(), globalParam)); } - - if (variablesAnalyzeResult.isExistNamespaceVar()) { - List stepNamespaceParams = stepInstanceVariableValues.getNamespaceParams(); - if (CollectionUtils.isNotEmpty(stepNamespaceParams)) { - stepNamespaceParams.forEach(hostVariableValues -> { - if (CollectionUtils.isEmpty(hostVariableValues.getValues())) { - return; - } - Map hostVariables = namespaceVarValueMap.computeIfAbsent( - hostVariableValues.getIp(), k -> new HashMap<>()); - hostVariableValues.getValues().forEach(variable -> hostVariables.put(variable.getName(), - variable)); - }); - } - } }); - if (!globalVarValueMap.isEmpty()) { globalVarValueMap.forEach((paramName, param) -> globalVarValues.add(param)); } + } + + private void updateNamespaceVarValues(StepInstanceVariableValuesDTO inputStepInstanceVariableValues, + List preStepInstanceVariableValuesList) { + if (CollectionUtils.isEmpty(preStepInstanceVariableValuesList)) { + return; + } - if (variablesAnalyzeResult.isExistNamespaceVar()) { - namespaceVarValueMap.forEach((ip, param) -> { + List namespaceVarValues = new ArrayList<>(); + inputStepInstanceVariableValues.setNamespaceParams(namespaceVarValues); + Map> namespaceParamsMap = new HashMap<>(); + inputStepInstanceVariableValues.setNamespaceParamsMap(namespaceParamsMap); + + preStepInstanceVariableValuesList + .stream() + .filter(stepInstanceVariableValues -> CollectionUtils.isNotEmpty(stepInstanceVariableValues.getNamespaceParams())) + .forEach(stepInstanceVariableValues -> + stepInstanceVariableValues.getNamespaceParams().forEach(hostVar -> { + HostDTO host = new HostDTO(); + host.setHostId(hostVar.getHostId()); + if (StringUtils.isNotBlank(hostVar.getCloudIpv4())) { + host.setBkCloudId(IpUtils.extractBkCloudId(hostVar.getCloudIpv4())); + host.setIp(IpUtils.extractIp(hostVar.getCloudIpv4())); + } + if (StringUtils.isNotBlank(hostVar.getCloudIpv6())) { + host.setBkCloudId(IpUtils.extractBkCloudId(hostVar.getCloudIpv6())); + host.setIpv6(IpUtils.extractIp(hostVar.getCloudIpv6())); + } + Map hostVariables = namespaceParamsMap.computeIfAbsent(host, + k -> new HashMap<>()); + hostVar.getValues().forEach(variable -> hostVariables.put(variable.getName(), variable)); + })); + if (!namespaceParamsMap.isEmpty()) { + namespaceParamsMap.forEach((host, param) -> { HostVariableValuesDTO hostVariableValues = new HostVariableValuesDTO(); - hostVariableValues.setIp(ip); + hostVariableValues.setHostId(host.getHostId()); + hostVariableValues.setCloudIpv4(host.toCloudIp()); + hostVariableValues.setCloudIpv6(host.toCloudIpv6()); if (param != null && !param.isEmpty()) { List values = new ArrayList<>(); param.forEach((paramName, paramValue) -> values.add(paramValue)); @@ -196,12 +228,10 @@ public StepInstanceVariableValuesDTO computeInputStepInstanceVariableValues(long namespaceVarValues.add(hostVariableValues); }); } - - return inputStepInstanceVariableValues; } - private void initGlobalVarMap(List taskVariables, - Map globalVarValueMap) { + private Map initGlobalVarMap(List taskVariables) { + Map globalVarValueMap = new HashMap<>(); taskVariables.forEach(taskVariable -> { VariableValueDTO variableValue = new VariableValueDTO(); variableValue.setName(taskVariable.getName()); @@ -212,5 +242,6 @@ private void initGlobalVarMap(List taskVariables, globalVarValueMap.put(variableValue.getName(), variableValue); } }); + return globalVarValueMap; } } diff --git a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/api/ServiceLogResource.java b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/api/ServiceLogResource.java index 4f40e56665..c3b254b431 100644 --- a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/api/ServiceLogResource.java +++ b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/api/ServiceLogResource.java @@ -83,7 +83,7 @@ InternalResponse saveLogs( ); @Deprecated - @CompatibleImplementation(name = "rolling_execute", explain = "兼容API,后续使用hostId查询", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容API,后续使用hostId查询", deprecatedVersion = "3.7.x") @ApiOperation("根据目标服务器IP获取脚本任务对应的执行日志") @GetMapping(value = {"/script/jobCreateDate/{jobCreateDate}/step/{stepInstanceId}/retry/{executeCount}/ip/{ip}"}) InternalResponse getScriptHostLogByIp( @@ -127,7 +127,7 @@ InternalResponse> listScriptLogs( @RequestBody ServiceScriptLogQueryRequest query ); - @CompatibleImplementation(name = "rolling_execute", explain = "兼容API,后续使用hostId查询", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容API,后续使用hostId查询", deprecatedVersion = "3.7.x") @Deprecated @ApiOperation("按照IP获取文件任务对应的执行日志") @GetMapping(value = {"/file/jobCreateDate/{jobCreateDate}/step/{stepInstanceId}/retry/{executeCount}/ip/{ip}"}) diff --git a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceFileLogQueryRequest.java b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceFileLogQueryRequest.java index e4b1faca67..0c40b1fbc2 100644 --- a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceFileLogQueryRequest.java +++ b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceFileLogQueryRequest.java @@ -54,7 +54,7 @@ public class ServiceFileLogQueryRequest { private List hostIds; @ApiModelProperty("IP列表;如果hostIds参数不为空,那么忽略ips参数") - @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", deprecatedVersion = "3.7.x") private List ips; /** diff --git a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceScriptLogQueryRequest.java b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceScriptLogQueryRequest.java index e4c477c7d5..87299067d4 100644 --- a/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceScriptLogQueryRequest.java +++ b/src/backend/job-logsvr/api-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/service/ServiceScriptLogQueryRequest.java @@ -56,7 +56,7 @@ public class ServiceScriptLogQueryRequest { private Integer batch; @ApiModelProperty("主机IP列表;兼容参数,如果hostIds参数不为空,那么忽略ips参数") - @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", deprecatedVersion = "3.7.x") private List ips; /** diff --git a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileLogQuery.java b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileLogQuery.java index ed77eb87b0..f9b6e4175c 100644 --- a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileLogQuery.java +++ b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileLogQuery.java @@ -47,7 +47,7 @@ public class FileLogQuery { /** * 执行任务的主机ip列表 */ - @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", deprecatedVersion = "3.7.x") @Deprecated private List ips; /** diff --git a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileTaskLogDoc.java b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileTaskLogDoc.java index 6f764a4f49..b039ba233a 100644 --- a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileTaskLogDoc.java +++ b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/FileTaskLogDoc.java @@ -71,7 +71,7 @@ public class FileTaskLogDoc { /** * 云区域+ip - 真实IP。当mode=0时,ip=上传源IP;mode=1时,ip=下载目标IP */ - @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,仅用于查询历史数据的时候使用", version = ">3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,仅用于查询历史数据的时候使用", deprecatedVersion = ">3.7.x") @Deprecated @Field(FileTaskLogDocField.IP) private String ip; diff --git a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/ScriptLogQuery.java b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/ScriptLogQuery.java index 9ba53e9614..fa2e414344 100644 --- a/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/ScriptLogQuery.java +++ b/src/backend/job-logsvr/service-job-logsvr/src/main/java/com/tencent/bk/job/logsvr/model/ScriptLogQuery.java @@ -44,7 +44,7 @@ public class ScriptLogQuery { /** * 执行任务的主机ip列表 */ - @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", version = "3.7.x") + @CompatibleImplementation(name = "rolling_execute", explain = "兼容字段,后续用hostIds替换", deprecatedVersion = "3.7.x") private List ips; /** * 执行任务的主机ID列表 diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/api/web/WebHostResource.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/api/web/WebHostResource.java index 17b17e259e..45fe7f94c1 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/api/web/WebHostResource.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/api/web/WebHostResource.java @@ -77,7 +77,7 @@ public interface WebHostResource { @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务下的机器列表", produces = "application/json") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/host"}) Response> listAppHost( @@ -108,7 +108,7 @@ Response> listAppHost( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务拓扑列表", produces = "application/json") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/topology"}) Response listAppTopologyTree( @@ -127,7 +127,7 @@ Response listAppTopologyTree( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务拓扑主机列表", produces = "application/json") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/topology/host"}) Response listAppTopologyHostTree( @@ -146,7 +146,7 @@ Response listAppTopologyHostTree( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务拓扑树(含各节点主机数)", produces = "application/json") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/topology/hostCount"}) Response listAppTopologyHostCountTree( @@ -166,7 +166,7 @@ Response listAppTopologyHostCountTree( @Deprecated @CompatibleImplementation( - explain = "仅用作IPv6上线发布过程中的兼容,后续切换为listHostIdByBizTopologyNodes", version = "3.7.0") + explain = "仅用作IPv6上线发布过程中的兼容,后续切换为listHostIdByBizTopologyNodes", deprecatedVersion = "3.7.0") @ApiOperation(value = "IP选择器根据拓扑节点集合获取机器列表(纯IP),返回IP格式为[cloudId:IP]" , produces = "application/json") @PostMapping(value = {"/scope/{scopeType}/{scopeId}/topology/IPs/nodes"}) @@ -189,7 +189,7 @@ Response> listIpByBizTopologyNodes( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取节点详情", produces = "application/json") @PostMapping(value = {"/scope/{scopeType}/{scopeId}/node/detail"}) Response> getNodeDetail( @@ -211,7 +211,7 @@ Response> getNodeDetail( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "根据模块获取机器列表", produces = "application/json") @PostMapping(value = {"/scope/{scopeType}/{scopeId}/host/node"}) Response> listHostByNode( @@ -233,7 +233,7 @@ Response> listHostByNode( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务动态分组主机列表") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/dynamicGroup/{dynamicGroupId}"}) Response> listAppDynamicGroupHost( @@ -255,7 +255,7 @@ Response> listAppDynamicGroupHost( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取业务动态分组信息(不含主机)") @GetMapping(value = {"/scope/{scopeType}/{scopeId}/dynamicGroup/{dynamicGroupId}/detailWithoutHosts"}) Response> listAppDynamicGroupWithoutHosts( @@ -277,7 +277,7 @@ Response> listAppDynamicGroupWithoutHosts( ); @Deprecated - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") @ApiOperation(value = "获取节点拓扑路径", produces = "application/json") @PostMapping(value = {"/scope/{scopeType}/{scopeId}/node/queryPath"}) Response>> queryNodePath( @@ -507,7 +507,7 @@ Response> pageListHostsByDynamicGroup( ); // 标准接口9 - @CompatibleImplementation(explain = "旧的/ip/check仅用于发布过程兼容", version = "3.7.0") + @CompatibleImplementation(explain = "旧的/ip/check仅用于发布过程兼容", deprecatedVersion = "3.7.0") @ApiOperation(value = "根据用户选择/输入的主机信息获取真实存在的机器信息") @PostMapping(value = {"/scope/{scopeType}/{scopeId}/ip/check", "/scope/{scopeType}/{scopeId}/host/check"}) Response> checkHosts( diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/AgentStatisticsReq.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/AgentStatisticsReq.java index f8fc89a19c..8c404d89a7 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/AgentStatisticsReq.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/AgentStatisticsReq.java @@ -45,23 +45,23 @@ public class AgentStatisticsReq { @ApiModelProperty(value = "主机列表") List hostList = new ArrayList<>(); - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty(value = "hostId列表") List hostIdList = new ArrayList<>(); - @CompatibleImplementation(explain = "兼容IPv6版本发布过程接口调用", version = "3.8.0") + @CompatibleImplementation(explain = "兼容IPv6版本发布过程接口调用", deprecatedVersion = "3.8.0") @ApiModelProperty(value = "IP列表") List ipList; @ApiModelProperty(value = "业务拓扑节点列表(传 objectId 与 instanceId ,其余字段置空即可)") List nodeList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty(value = "业务拓扑节点列表(传 objectId 与 instanceId ,其余字段置空即可)") List appTopoNodeList; @ApiModelProperty(value = "动态分组列表") List dynamicGroupList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty(value = "动态分组Id列表") List dynamicGroupIds; @@ -71,7 +71,7 @@ public List getHostIdList() { .collect(Collectors.toList()); } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setHostIdList(List hostIdList) { this.hostIdList = hostIdList; if (hostIdList != null) { @@ -81,7 +81,7 @@ public void setHostIdList(List hostIdList) { } } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setAppTopoNodeList( List appTopoNodeList) { this.appTopoNodeList = appTopoNodeList; @@ -94,7 +94,7 @@ public List getDynamicGroupIds() { .collect(Collectors.toList()); } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setDynamicGroupIds(List dynamicGroupIds) { this.dynamicGroupIds = dynamicGroupIds; if (dynamicGroupIds != null) { diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/ipchooser/ListHostByBizTopologyNodesReq.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/ipchooser/ListHostByBizTopologyNodesReq.java index b898e911b2..8f249a0580 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/ipchooser/ListHostByBizTopologyNodesReq.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/ipchooser/ListHostByBizTopologyNodesReq.java @@ -46,7 +46,7 @@ public class ListHostByBizTopologyNodesReq { @ApiModelProperty(value = "拓扑节点列表", required = true) List nodeList; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") List appTopoNodeList; @ApiModelProperty(value = "搜索内容(同时对主机IP/IPv6/主机名称/操作系统名称/云区域名称进行模糊搜索)") @@ -66,7 +66,7 @@ public class ListHostByBizTopologyNodesReq { @ApiModelProperty(value = "筛选条件:alive:0为Agent异常,1为Agent正常,不传则不筛选") Integer alive; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") Integer agentStatus; @ApiModelProperty(value = "数据起始位置") @@ -75,13 +75,13 @@ public class ListHostByBizTopologyNodesReq { @ApiModelProperty(value = "拉取数量") Long pageSize; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setAppTopoNodeList(List appTopoNodeList) { this.appTopoNodeList = appTopoNodeList; this.nodeList = appTopoNodeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setAgentStatus(Integer agentStatus) { this.agentStatus = agentStatus; this.alive = agentStatus; diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/whiteip/WhiteIPRecordCreateUpdateReq.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/whiteip/WhiteIPRecordCreateUpdateReq.java index 3caf571cab..d808085028 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/whiteip/WhiteIPRecordCreateUpdateReq.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/request/whiteip/WhiteIPRecordCreateUpdateReq.java @@ -50,7 +50,7 @@ public class WhiteIPRecordCreateUpdateReq { @ApiModelProperty(value = "兼容字段,请勿再使用:云区域ID") private Long cloudAreaId; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty(value = "兼容字段,请勿再使用:IPs(换行分隔)") private String ipStr; diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/CcTopologyNodeVO.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/CcTopologyNodeVO.java index 1e0fc3ac98..9345f67f60 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/CcTopologyNodeVO.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/CcTopologyNodeVO.java @@ -45,7 +45,7 @@ public class CcTopologyNodeVO { private String instanceName; private String objectId; private String objectName; - @CompatibleImplementation(name = "ipv6", version = "3.8.0", explain = "仅用于发布期间兼容") + @CompatibleImplementation(name = "ipv6", deprecatedVersion = "3.8.0", explain = "仅用于发布期间兼容") private Boolean expanded = true; private Boolean lazy = false; private List child; diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/common/AgentStatistics.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/common/AgentStatistics.java index da6d98e9e6..0008fff5f6 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/common/AgentStatistics.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/common/AgentStatistics.java @@ -42,23 +42,23 @@ public class AgentStatistics { @ApiModelProperty("正常数") private int aliveCount; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("正常数") private int normalNum; @ApiModelProperty("异常数") private int notAliveCount; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("异常数") private int abnormalNum; @ApiModelProperty("总数") private int totalCount; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("总数") private int totalNum; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本修改", deprecatedVersion = "3.8.0") public AgentStatistics(int aliveCount, int notAliveCount) { this.aliveCount = aliveCount; this.notAliveCount = notAliveCount; diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPHostVO.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPHostVO.java index cdb6690809..ad09c9238e 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPHostVO.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPHostVO.java @@ -52,7 +52,7 @@ public class WhiteIPHostVO { @ApiModelProperty("主机 IPv6") private String ipv6; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public String getIpv4() { if (StringUtils.isBlank(ip)) { return ""; diff --git a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPRecordVO.java b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPRecordVO.java index 91bea69752..7674798e11 100644 --- a/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPRecordVO.java +++ b/src/backend/job-manage/api-job-manage/src/main/java/com/tencent/bk/job/manage/model/web/vo/whiteip/WhiteIPRecordVO.java @@ -49,7 +49,7 @@ public class WhiteIPRecordVO { @ApiModelProperty("云区域ID") private Long cloudAreaId; - @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容字段,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") @ApiModelProperty("兼容字段,请勿使用:IP列表") private List ipList; @@ -80,19 +80,19 @@ public class WhiteIPRecordVO { @JsonSerialize(using = LongTimestampSerializer.class) private Long lastModifyTime; - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setScopeList(List scopeList) { this.scopeList = scopeList; this.appList = scopeList; } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public void setHostList(List hostList) { this.hostList = hostList; this.ipList = getIpListByHostList(hostList); } - @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容方法,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") public List getIpListByHostList(List hostList) { if (hostList != null) { return hostList.stream().map(WhiteIPHostVO::getIpv4).collect(Collectors.toList()); diff --git a/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/dao/impl/ApplicationDAOImpl.java b/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/dao/impl/ApplicationDAOImpl.java index c6c694517f..37d0b7ca64 100644 --- a/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/dao/impl/ApplicationDAOImpl.java +++ b/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/dao/impl/ApplicationDAOImpl.java @@ -85,7 +85,7 @@ public ApplicationDAOImpl(@Qualifier("job-manage-dsl-context") DSLContext contex public boolean existBiz(long bizId) { val records = context.selectZero() .from(T_APP) - .where(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.getValue()))) + .where(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.byteValue()))) .and(T_APP.BK_SCOPE_TYPE.eq(ResourceScopeTypeEnum.BIZ.getValue())) .and(T_APP.BK_SCOPE_ID.eq("" + bizId)) .limit(1) @@ -98,7 +98,7 @@ public ApplicationDTO getAppById(long appId) { Record record = context.select(ALL_FIELDS) .from(T_APP) .where(T_APP.APP_ID.eq(ULong.valueOf(appId))) - .and(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.getValue()))) + .and(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.byteValue()))) .fetchOne(); if (record != null) { return extract(record); @@ -230,7 +230,7 @@ public Long insertApp(DSLContext dslContext, ApplicationDTO applicationDTO) { scope == null ? null : scope.getType().getValue(), scope == null ? null : scope.getId(), applicationDTO.getAttrs() == null ? null : JsonUtils.toJson(applicationDTO.getAttrs()), - UByte.valueOf(Bool.FALSE.getValue()) + UByte.valueOf(Bool.FALSE.byteValue()) ); try { val record = query.returning(T_APP.APP_ID).fetchOne(); @@ -263,7 +263,7 @@ public int updateApp(DSLContext dslContext, ApplicationDTO applicationDTO) { @Override public int restoreDeletedApp(DSLContext dslContext, long appId) { val query = dslContext.update(T_APP) - .set(T_APP.IS_DELETED, UByte.valueOf(Bool.FALSE.getValue())) + .set(T_APP.IS_DELETED, UByte.valueOf(Bool.FALSE.byteValue())) .where(T_APP.APP_ID.eq(ULong.valueOf(appId))); int affectedNum = query.execute(); if (log.isDebugEnabled()) { @@ -288,7 +288,7 @@ public int deleteAppByIdSoftly(DSLContext dslContext, long appId) { public Integer countApps() { return context.selectCount() .from(T_APP) - .where(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.getValue()))) + .where(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.byteValue()))) .fetchOne(0, Integer.class); } @@ -306,7 +306,7 @@ public ApplicationDTO getAppByScope(ResourceScope scope) { .from(T_APP) .where(T_APP.BK_SCOPE_TYPE.eq(scope.getType().getValue())) .and(T_APP.BK_SCOPE_ID.eq(scope.getId())) - .and(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.getValue()))) + .and(T_APP.IS_DELETED.eq(UByte.valueOf(Bool.FALSE.byteValue()))) .fetchOne(); if (record != null) { return extract(record); diff --git a/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/model/db/CacheHostDO.java b/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/model/db/CacheHostDO.java index 46d873cb13..ccde6ddd6f 100644 --- a/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/model/db/CacheHostDO.java +++ b/src/backend/job-manage/service-job-manage/src/main/java/com/tencent/bk/job/manage/model/db/CacheHostDO.java @@ -87,7 +87,7 @@ public class CacheHostDO { /** * 主机Agent是否存活 */ - @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", version = "3.8.0") + @CompatibleImplementation(name = "ipv6", explain = "兼容实现,保证发布过程中无损变更,下个版本删除", deprecatedVersion = "3.8.0") private Boolean gseAgentAlive; /**