Files
ProjectOctopus/server/src/test/java/io/wdd/server/func/TestImageSyncScheduler.java
2024-05-08 11:13:45 +08:00

154 lines
5.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package io.wdd.server.func;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.wdd.func.auto.beans.ImageSyncContext;
import io.wdd.func.auto.service.ImageFuncScheduler;
import io.wdd.server.beans.po.ProjectInfoPO;
import io.wdd.server.beans.po.ServerInfoPO;
import io.wdd.server.beans.request.ProjectQueryEntity;
import io.wdd.server.beans.vo.ProjectServerVO;
import io.wdd.server.coreService.CoreProjectServerService;
import io.wdd.server.coreService.CoreProjectService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@SpringBootTest
@Slf4j
public class TestImageSyncScheduler {
@Resource
ImageFuncScheduler imageFuncScheduler;
@Autowired
CoreProjectService coreProjectService;
@Autowired
CoreProjectServerService coreProjectServerService;
@Test
public void runImageSync() {
ArrayList<String> CmiiAppNameList = new ArrayList<>(List.of(
// "cmii-uav-process:5.3.0-050601"
));
ArrayList<String> ImageFullNameList = new ArrayList<>(List.of(
// "harbor.cdcyy.com.cn/cmii/cmii-live-operator:5.2.0",
// "harbor.cdcyy.com.cn/cmii/cmii/srs:v5.0.195"
"harbor.cdcyy.com.cn/cmii/cmii-uav-platform:5.3.0-cqly-050702"
));
Boolean downloadAndCompressOnly = false;
// String projectNamespace = "wdd"; // wdd
String projectNamespace = "cqlyj"; // 重庆林业局
// String projectNamespace = "jlyd"; // 吉林移动
// String projectNamespace = "xmyd"; // 厦门移动
// String innerWorkerAgentName = "Chengdu-amd64-65-lapwdd"; //wdd
String innerWorkerAgentName = "Chengdu-amd64-71-3571gd"; //prod
// 之下不要修改 除非你知道自己在干什么!
// start
ImageSyncContext imageSyncContext = new ImageSyncContext();
imageSyncContext.setDownloadAndCompressOnly(downloadAndCompressOnly);
// inner
imageSyncContext.setInnerWorkerAgentName(innerWorkerAgentName); // dev
ProjectQueryEntity projectQueryEntity = ProjectQueryEntity.builder().projectNamespace(projectNamespace).build();
Page<ProjectInfoPO> page = coreProjectService.projectQueryByEntity(projectQueryEntity);
if (page.getSize() < 1) {
log.error(" project name space error !");
return;
}
ProjectInfoPO projectInfoPO = page.getRecords().get(0);
imageSyncContext.setProjectInfoPO(projectInfoPO);
log.info("project name => {} namespace => {}", projectInfoPO.getProjectName(), projectInfoPO.getProjectNamespace());
// master
ProjectServerVO projectServerVO = coreProjectServerService.projectServerOne(projectInfoPO.getProjectId());
Optional<ServerInfoPO> master = projectServerVO.getBindingServerList().stream().filter(server -> StringUtils.startsWith(server.getRole(), "master")).findFirst();
if (master.isEmpty()) {
log.error("project master node not set ");
return;
}
imageSyncContext.setProjectMasterNode(master.get());
log.info("project master node inner ipv4 is => {}", master.get().getServerIpInV4());
imageSyncContext.setImageFullNameList(ImageFullNameList);
imageSyncContext.setCmiiAppNameTagList(CmiiAppNameList);
imageFuncScheduler.runProcedure(imageSyncContext);
}
@Test
public void downloadAndCompressOnly() {
ArrayList<String> CmiiAppNameList = new ArrayList<>(List.of(
// "harbor.cdcyy.com.cn/cmii/cmii-uav-mission:5.3.0-cqly-032802"
));
ArrayList<String> ImageFullNameList = new ArrayList<>(List.of(
"harbor.cdcyy.com.cn/cmii/cmii-uav-platform:5.3.0-cqly-042901"
));
Boolean downloadAndCompressOnly = true;
String projectNamespace = "wdd";
// String innerWorkerAgentName = "Chengdu-amd64-65-lapwdd"; //wdd
String innerWorkerAgentName = "Chengdu-amd64-71-3571gd"; //prod
// 之下不要修改 除非你知道自己在干什么!
// start
ImageSyncContext imageSyncContext = new ImageSyncContext();
imageSyncContext.setDownloadAndCompressOnly(downloadAndCompressOnly);
// inner
imageSyncContext.setInnerWorkerAgentName(innerWorkerAgentName); // dev
ProjectQueryEntity projectQueryEntity = ProjectQueryEntity.builder().projectNamespace(projectNamespace).build();
Page<ProjectInfoPO> page = coreProjectService.projectQueryByEntity(projectQueryEntity);
if (page.getSize() < 1) {
log.error(" project name space error !");
return;
}
ProjectInfoPO projectInfoPO = page.getRecords().get(0);
imageSyncContext.setProjectInfoPO(projectInfoPO);
log.info("project name => {} namespace => {}", projectInfoPO.getProjectName(), projectInfoPO.getProjectNamespace());
// master
ProjectServerVO projectServerVO = coreProjectServerService.projectServerOne(projectInfoPO.getProjectId());
Optional<ServerInfoPO> master = projectServerVO.getBindingServerList().stream().filter(server -> StringUtils.startsWith(server.getRole(), "master")).findFirst();
if (master.isEmpty()) {
log.error("project master node not set ");
return;
}
imageSyncContext.setProjectMasterNode(master.get());
log.info("project master node inner ipv4 is => {}", master.get().getServerIpInV4());
imageSyncContext.setImageFullNameList(ImageFullNameList);
imageSyncContext.setCmiiAppNameTagList(CmiiAppNameList);
imageFuncScheduler.runProcedure(imageSyncContext);
}
}