From 5a3c53969c50ca9f2a9812cbfc4dfaf0deb43861 Mon Sep 17 00:00:00 2001 From: zeaslity Date: Fri, 6 Dec 2024 17:37:59 +0800 Subject: [PATCH] =?UTF-8?q?[agent-deploy]-=E7=94=98=E8=82=83=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...tImageTag in wdd.io_agent-operator.run.xml | 14 ---- .run/清理CMII镜像-35.70.run.xml | 16 ++++ .../real_project/CmiiImageListConfig.go | 83 +++++++++++++++++++ agent-operator/CmiiDeployOperator_test.go | 21 +++++ agent-operator/CmiiImageSyncOperator.go | 4 + agent-operator/CmiiImageSyncOperator_test.go | 4 +- agent-operator/CmiiK8sHigherOperator_test.go | 11 +-- agent-operator/CmiiK8sOperator.go | 4 +- agent-operator/image/ImageOperator_test.go | 14 ++-- agent-operator/log/cmii-update-log.txt | 18 ++++ 10 files changed, 159 insertions(+), 30 deletions(-) delete mode 100755 .run/TestUpdateCmiiDeploymentImageTag in wdd.io_agent-operator.run.xml create mode 100644 .run/清理CMII镜像-35.70.run.xml diff --git a/.run/TestUpdateCmiiDeploymentImageTag in wdd.io_agent-operator.run.xml b/.run/TestUpdateCmiiDeploymentImageTag in wdd.io_agent-operator.run.xml deleted file mode 100755 index e5c8b83..0000000 --- a/.run/TestUpdateCmiiDeploymentImageTag in wdd.io_agent-operator.run.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.run/清理CMII镜像-35.70.run.xml b/.run/清理CMII镜像-35.70.run.xml new file mode 100644 index 0000000..7090ae2 --- /dev/null +++ b/.run/清理CMII镜像-35.70.run.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/agent-common/real_project/CmiiImageListConfig.go b/agent-common/real_project/CmiiImageListConfig.go index 5a13295..8b6ac72 100644 --- a/agent-common/real_project/CmiiImageListConfig.go +++ b/agent-common/real_project/CmiiImageListConfig.go @@ -1,5 +1,88 @@ package real_project +var Cmii611ImageList = []string{ + "harbor.cdcyy.com.cn/cmii/cmii-uav-brain:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-depotautoreturn:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-threedsimulation:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-bridge:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-grid-engine:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-kpi-monitor:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-logger:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-notice:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-admin-data:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-app-release:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-autowaypoint:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-developer:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-device:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uas-gateway:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-alarm:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-material-warehouse:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-waypoint:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-grid-datasource:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uavms-security-center:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-admin-user:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-suav-supervision:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-cms:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-gateway:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-grid-manage:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-sense-adapter:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-airspace:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-process:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-tower:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-multilink:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uas-lifecycle:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-data-post-process:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-sync:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-mqtthandler:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-oauth:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-iot-dispatcher:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-admin-gateway:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-cloud-live:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-emergency:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-industrial-portfolio:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-mission:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-fwdd:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-gis-server:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-open-gateway:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-clusters:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-integration:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-surveillance:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-user:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-detection:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-open:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-threedsimulation:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uavms-platform-security-center:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-share:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-splice:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-visualization:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-pilot2-to-cloud:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-ai-brain:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-armypeople:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-cms-portal:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uasms:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-base:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-emergency-rescue:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-qinghaitourism:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-security:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-hljtt:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-logistics:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-securityh5:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-jiangsuwenlv:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-mws:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-oms:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-uas:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-suav-platform-supervisionh5:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-multiterminal:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-suav-platform-supervision:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-media:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-qingdao:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-uav-platform-seniclive:6.1.1", + "harbor.cdcyy.com.cn/cmii/cmii-live-operator:5.2.0", + "harbor.cdcyy.com.cn/cmii/srs:v5.0.195", + "harbor.cdcyy.com.cn/cmii/cmii-srs-oss-adaptor:2023-SA-skip-CHL", +} + var Cmii600ImageList = []string{ "harbor.cdcyy.com.cn/cmii/cmii-uav-gateway:6.0.0", "harbor.cdcyy.com.cn/cmii/cmii-uav-ruoyi:2024102802", diff --git a/agent-operator/CmiiDeployOperator_test.go b/agent-operator/CmiiDeployOperator_test.go index f35f0bc..b667db8 100755 --- a/agent-operator/CmiiDeployOperator_test.go +++ b/agent-operator/CmiiDeployOperator_test.go @@ -279,6 +279,27 @@ func TestCmiiEnvDeploy_JiLinYiDong(t *testing.T) { } +func TestCmiiEnvDeploy_GanSuErJiPingTai(t *testing.T) { + + // 甘肃二级平台 + commonEnv := &z_dep.CommonEnvironmentConfig{ + WebIP: "117.156.17.88", + WebPort: "8088", + HarborIPOrCustomImagePrefix: "10.215.66.85", + HarborPort: "8033", + Namespace: "gsyd-app", + TagVersion: "6.1.1", + TenantEnv: "", + MinioPublicIP: "", + MinioInnerIP: "10.215.66.89", + NFSServerIP: "10.215.66.89", + ApplyFilePrefix: "", + } + + CmiiEnvDeployOffline(commonEnv, true, real_project.Cmii611ImageList) + +} + func TestCmiiNewAppDeploy(t *testing.T) { deployNamespace := config.DevOperation diff --git a/agent-operator/CmiiImageSyncOperator.go b/agent-operator/CmiiImageSyncOperator.go index 85a0a7a..80d786e 100644 --- a/agent-operator/CmiiImageSyncOperator.go +++ b/agent-operator/CmiiImageSyncOperator.go @@ -95,6 +95,7 @@ type UploadResultEntity struct { // PullFromEntityAndSyncConditionally 根据ImageSyncEntity拉取特定的镜像,然后上传到特定的目标机器(或者上传的minio中) func (syncCondition *ImageSyncEntity) PullFromEntityAndSyncConditionally() (imageSyncResult *ImageSyncResult) { + // 初始化 imageSync imageSyncResult = &ImageSyncResult{ ProcedureSuccessImageList: nil, DownloadResult: &DownloadResultEntity{ @@ -118,6 +119,7 @@ func (syncCondition *ImageSyncEntity) PullFromEntityAndSyncConditionally() (imag if (syncCondition.DownloadCondition.CmiiNameTagList == nil && syncCondition.DownloadCondition.FullNameImageList == nil) || (len(syncCondition.DownloadCondition.CmiiNameTagList) == 0 && len(syncCondition.DownloadCondition.FullNameImageList) == 0) { // 没有指定特定的镜像,那么根据 ProjectVersion 或者从DEMO拉取镜像 + // pull images // compress if syncCondition.DownloadCondition.ProjectVersion != "" { @@ -565,6 +567,8 @@ func C_DownloadCompressUploadFromVersion(syncEntity *ImageSyncEntity, syncResult // build all cmii image name list allCmiiImageFullNameList := buildAllCmiiImageNameListFromVersion(projectCmiiVersion) + // assign + syncEntity.DownloadCondition.FullNameImageList = allCmiiImageFullNameList // save all cmii image to file allImageListTxtFileFullName := filepath.Join(gzipFolderLocalPath, AllCmiiImageListLocalFileName) diff --git a/agent-operator/CmiiImageSyncOperator_test.go b/agent-operator/CmiiImageSyncOperator_test.go index 1a6519c..4e89c10 100644 --- a/agent-operator/CmiiImageSyncOperator_test.go +++ b/agent-operator/CmiiImageSyncOperator_test.go @@ -51,8 +51,8 @@ func TestPullFromEntityAndSyncConditionally(t *testing.T) { sync := ImageSyncEntity{ DownloadCondition: &DownloadEntity{ ShouldDownloadImage: true, - ProjectName: "zyga_6.0.0", - ProjectVersion: "", + ProjectName: "cmii_6.1.1", + ProjectVersion: "6.1.1", CmiiNameTagList: []string{ //"cmii-uav-mqtthandler:5.4.0-bjdyt-052102", }, diff --git a/agent-operator/CmiiK8sHigherOperator_test.go b/agent-operator/CmiiK8sHigherOperator_test.go index 371e285..7c44a35 100644 --- a/agent-operator/CmiiK8sHigherOperator_test.go +++ b/agent-operator/CmiiK8sHigherOperator_test.go @@ -242,8 +242,8 @@ func TestBackUpAllCmiiAppImageNameFromEnv(t *testing.T) { } func TestRestartCmiiDeployment(t *testing.T) { - cmiiEnv := config.DevOperation - appName := "cmii-uav-mqtthandler" + cmiiEnv := config.Uavms + appName := "cmii-uav-admin-user" kill := DefaultCmiiOperator.DeploymentRestartByKill(cmiiEnv, appName) assert.Equal(t, kill, true, "have unhealthy pod !") @@ -258,7 +258,7 @@ func TestUpdateCmiiDeploymentImageTag(t *testing.T) { now := time.Now() - targetTime := time.Date(now.Year(), now.Month(), now.Day(), 14, 43, 00, 0, now.Location()) + targetTime := time.Date(now.Year(), now.Month(), now.Day(), 11, 50, 00, 0, now.Location()) duration := time.Duration(0) @@ -278,8 +278,9 @@ func TestUpdateCmiiDeploymentImageTag(t *testing.T) { cmiiEnv := config.Demo appNameTagMap := map[string]string{ - //"cmii-uas-lifecycle": "6.1.0-20241125-112901", - "cmii-uav-platform": "6.1.0-20241125-120201", + "cmii-uas-lifecycle": "6.1.0-20241125-120601", + //"cmii-uav-industrial-portfolio": "6.1.0-20241125-120501", + //"cmii-uav-platform": "6.1.0-20241125-120202", } for appName, newTag := range appNameTagMap { diff --git a/agent-operator/CmiiK8sOperator.go b/agent-operator/CmiiK8sOperator.go index c237a47..e43aa10 100644 --- a/agent-operator/CmiiK8sOperator.go +++ b/agent-operator/CmiiK8sOperator.go @@ -608,7 +608,7 @@ func (op *CmiiK8sOperator) DeploymentRestartByKill(cmiiEnv, appName string) bool } // wait for deployment to be ready - check := op.DeploymentStatusCheck(cmiiEnv, appName, 180) + check := op.DeploymentStatusCheck(cmiiEnv, appName, 300) if !check { log.ErrorF("[DeploymentRestart] - [%s] [%s] 重启pod启动失败!", podInterface.Namespace, podInterface.Name) return false @@ -634,7 +634,7 @@ func (op *CmiiK8sOperator) DeploymentStatusCheck(cmiiEnv, appName string, waitTi // 设置超时时间和时间间隔 timeout := time.After(time.Duration(waitTimeOut) * time.Second) - tick := time.Tick(time.Second) + tick := time.Tick(4 * time.Second) // 监控Pod状态 for { diff --git a/agent-operator/image/ImageOperator_test.go b/agent-operator/image/ImageOperator_test.go index ea84c6c..0ec0520 100644 --- a/agent-operator/image/ImageOperator_test.go +++ b/agent-operator/image/ImageOperator_test.go @@ -136,13 +136,6 @@ func TestImageFullNameToGzipFileName(t *testing.T) { } } -func TestImagePruneAllCmiiImages(t *testing.T) { - - errorRemoveImageNameList := PruneAllCmiiImages() - - utils.BeautifulPrintListWithTitle(errorRemoveImageNameList, "CMII Image Prune Error") -} - func TestImageTagFromSourceToTarget(t *testing.T) { sourceImageName := "ossrs/srs:v5.0.195" @@ -300,3 +293,10 @@ func TestSaveImageListToGzipFile(t *testing.T) { utils.BeautifulPrint(errorGzipImageList) } + +func TestImagePruneAllCmiiImages(t *testing.T) { + + errorRemoveImageNameList := PruneAllCmiiImages() + + utils.BeautifulPrintListWithTitle(errorRemoveImageNameList, "CMII Image Prune Error") +} diff --git a/agent-operator/log/cmii-update-log.txt b/agent-operator/log/cmii-update-log.txt index 3257184..d253c8d 100755 --- a/agent-operator/log/cmii-update-log.txt +++ b/agent-operator/log/cmii-update-log.txt @@ -281,3 +281,21 @@ 2024-11-29-11-37-17 uavcloud-demo cmii-uas-lifecycle 6.1.0-20241125-112803 6.1.0-20241125-112901 2024-11-29-12-21-07 uavcloud-demo cmii-uav-platform 6.1.0-20241125-112801 6.1.0-20241125-112901 2024-12-02-17-56-35 uavcloud-demo cmii-uav-platform 6.1.0-20241125-112901 6.1.0-20241125-120201 +2024-12-02-19-00-00 uavcloud-demo cmii-uav-platform 6.1.0-20241125-120201 6.1.0-20241125-120202 +2024-12-03-10-28-48 uavcloud-demo cmii-app-release master-6.0.0-120201 6.0.0-120301 +2024-12-03-10-50-51 uavcloud-demo cmii-uav-cloud-live 6.1.0-1126 6.0.0-120301 +2024-12-03-10-55-52 uavcloud-demo cmii-uav-cloud-live 6.0.0-120301 6.1.0-1126 +2024-12-03-10-56-05 uavcloud-demo cmii-uav-cloud-live 6.1.0-1126 6.0.0-120301 +2024-12-03-10-56-41 uavcloud-demo cmii-uav-cloud-live 6.0.0-120301 6.1.0-120301 +2024-12-03-13-46-38 uavcloud-demo cmii-uas-lifecycle 6.1.0-20241125-112903 6.1.0-20241125-120301 +2024-12-03-14-18-11 uavcloud-demo cmii-uav-platform 6.1.0-20241125-120202 6.1.0-20241125120301 +2024-12-03-18-06-52 uavcloud-demo cmii-uav-industrial-portfolio 6.1.0-20241125-112601 6.1.0-20241125-120301 +2024-12-04-12-51-56 uavcloud-demo cmii-uas-lifecycle 6.1.0-20241125-120301 6.1.0-20241125-120401 +2024-12-04-12-53-35 uavcloud-demo cmii-uav-mqtthandler 6.1.0-20241125 6.1.0-20241125-120401 +2024-12-04-16-28-50 uavcloud-demo cmii-uav-platform 6.1.0-20241125120301 6.1.0-20241125120401 +2024-12-04-17-21-25 uavcloud-demo cmii-uav-platform 6.1.0-20241125120401 6.1.0-20241125120402 +2024-12-04-17-31-28 uavcloud-demo cmii-uav-platform-uasms 6.1.0-202411251202 6.1.0-202411251204 +2024-12-04-17-33-20 uavcloud-demo cmii-uav-platform-uasms 6.1.0-202411251204 6.1.0-202411251204 +2024-12-04-18-36-53 uavcloud-demo cmii-uav-industrial-portfolio 6.1.0-20241125-120301 6.1.0-20241125-120401 +2024-12-04-18-38-34 uavcloud-demo cmii-uas-lifecycle 6.1.0-20241125-120401 6.1.0-20241125-120402 +2024-12-05-15-53-02 uavcloud-demo cmii-uav-industrial-portfolio 6.1.0-20241125-120401 6.1.0-20241125-120501