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