[Agent][Deploy] - cmii deploy template rearrange
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
@@ -11,16 +12,16 @@ import (
|
||||
"wdd.io/agent-operator/image"
|
||||
)
|
||||
|
||||
func CmiiEnvDeploy() {
|
||||
func CmiiEnvDeploy(shouldDoCompleteDeploy bool) {
|
||||
|
||||
// 部署的环境
|
||||
cmiiNamespace := dev
|
||||
|
||||
// 完整部署
|
||||
shouldDoCompleteDeploy := true
|
||||
//shouldDoCompleteDeploy := false
|
||||
|
||||
// 输出特定版本的Tag 或者 从DEMO环境拉取
|
||||
DeploySpecificTag := "5.5.0"
|
||||
DeploySpecificTag := "5.6.0"
|
||||
|
||||
folderPrefix := "/home/wdd/IdeaProjects/ProjectOctopus/agent-deploy/" + cmiiNamespace + "/"
|
||||
|
||||
@@ -58,6 +59,8 @@ func CmiiEnvDeploy() {
|
||||
utils.BeautifulPrintWithTitle(frontendMap, "frontendMap")
|
||||
utils.BeautifulPrintWithTitle(srsMap, "srsMap")
|
||||
|
||||
common.GenerateApplyFilePath()
|
||||
|
||||
// generate and get all old stuff
|
||||
agent_deploy.CmiiEnvironmentDeploy(shouldDoCompleteDeploy, common, backendMap, frontendMap)
|
||||
|
||||
@@ -65,11 +68,15 @@ func CmiiEnvDeploy() {
|
||||
//GetNodeWideByKubectl(cmiiNamespace)
|
||||
|
||||
// clear old apply file
|
||||
//clearOldApplyStuff(applyYamlFolder+"old/", cmiiNamespace)
|
||||
//clearOldApplyStuff(common, shouldDoCompleteDeploy)
|
||||
|
||||
// apply new app
|
||||
//applyNewAppStuff(common, shouldDoCompleteDeploy)
|
||||
|
||||
fmt.Println()
|
||||
fmt.Println("-------------------- all done ---------------------")
|
||||
fmt.Println()
|
||||
|
||||
}
|
||||
|
||||
func applyNewAppStuff(common *z_dep.CommonEnvironmentConfig, shouldDoCompleteDeploy bool) bool {
|
||||
@@ -87,6 +94,9 @@ func applyNewAppStuff(common *z_dep.CommonEnvironmentConfig, shouldDoCompleteDep
|
||||
|
||||
if shouldDoCompleteDeploy {
|
||||
|
||||
// pvc
|
||||
ApplyByKubectl(z_dep.PVCApplyFilePath, namespace)
|
||||
|
||||
// mysql
|
||||
ApplyByKubectl(z_dep.MySQLApplyFilePath, namespace)
|
||||
if !DefaultCmiiOperator.PodStatusCheckTimeout("helm-mysql-0", namespace, 180) {
|
||||
@@ -133,21 +143,44 @@ func applyNewAppStuff(common *z_dep.CommonEnvironmentConfig, shouldDoCompleteDep
|
||||
return true
|
||||
}
|
||||
|
||||
func clearOldApplyStuff(oldApplyYamlFolder string, cmiiEnv string) bool {
|
||||
func clearOldApplyStuff(common *z_dep.CommonEnvironmentConfig, shouldDoCompleteDeploy bool) bool {
|
||||
|
||||
files, err := os.ReadDir(oldApplyYamlFolder)
|
||||
oldApplyFilePath := filepath.Join(common.ApplyFilePrefix, "old")
|
||||
files, err := os.ReadDir(oldApplyFilePath)
|
||||
if err != nil {
|
||||
log.ErrorF("failed to read directory: %v", err)
|
||||
return false
|
||||
}
|
||||
if len(files) == 0 {
|
||||
log.WarnF("no apply file found in %s", common.ApplyFilePrefix)
|
||||
return false
|
||||
}
|
||||
|
||||
// rearrange
|
||||
//rearrangeCmiiDeploySequence(files)
|
||||
namespace := common.Namespace
|
||||
|
||||
for _, file := range files {
|
||||
if filepath.Ext(file.Name()) == ".yaml" || filepath.Ext(file.Name()) == ".yml" {
|
||||
filePath := filepath.Join(oldApplyYamlFolder, file.Name())
|
||||
DeleteByKubectl(filePath, cmiiEnv)
|
||||
for _, fileEntry := range files {
|
||||
switch fileEntry.Name() {
|
||||
case z_dep.PVCApplyFileName:
|
||||
continue
|
||||
case z_dep.MySQLApplyFileName:
|
||||
continue
|
||||
case z_dep.MongoApplyFileName:
|
||||
continue
|
||||
case z_dep.RedisApplyFileName:
|
||||
continue
|
||||
case z_dep.RabbitMQApplyFileName:
|
||||
continue
|
||||
case z_dep.EmqxApplyFileName:
|
||||
continue
|
||||
case z_dep.NacosApplyFileName:
|
||||
continue
|
||||
case z_dep.ConfigMapApplyFileName:
|
||||
continue
|
||||
case z_dep.IngresApplyFileName:
|
||||
continue
|
||||
default:
|
||||
log.InfoF("[clearOldApplyStuff] - delete %s", fileEntry.Name())
|
||||
DeleteByKubectl(filepath.Join(oldApplyFilePath, fileEntry.Name()), namespace)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,5 +4,5 @@ import "testing"
|
||||
|
||||
func TestCmiiEnvDeploy(t *testing.T) {
|
||||
|
||||
CmiiEnvDeploy()
|
||||
CmiiEnvDeploy(true)
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ import (
|
||||
"time"
|
||||
image2 "wdd.io/agent-common/image"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-operator/config"
|
||||
"wdd.io/agent-deploy/d_app"
|
||||
)
|
||||
|
||||
var DefaultCmiiOperator = CmiiK8sOperator{}
|
||||
@@ -194,7 +194,7 @@ func FindCmiiMiddlewarePodInterface(cmiiEnv string) (podList []CmiiPodInterface)
|
||||
cmiiPodInterfaces := DefaultCmiiOperator.PodAllInterface(cmiiEnv)
|
||||
|
||||
for _, podInterface := range cmiiPodInterfaces {
|
||||
for key := range config.CmiiMiddlewareNameMap {
|
||||
for key := range d_app.CmiiMiddlewareNameMap {
|
||||
if strings.Contains(podInterface.Name, key) {
|
||||
podList = append(podList, podInterface)
|
||||
}
|
||||
@@ -205,8 +205,8 @@ func FindCmiiMiddlewarePodInterface(cmiiEnv string) (podList []CmiiPodInterface)
|
||||
}
|
||||
|
||||
func ScaleCmiiFrontendDeploymentToDesiredReplicas(cmiiEnv string, desiredReplicas int32) (errorUpdateMap map[string]int32) {
|
||||
frontMap := make(map[string]int32, len(config.CmiiFrontendAppMap))
|
||||
for aooName := range config.CmiiFrontendAppMap {
|
||||
frontMap := make(map[string]int32, len(d_app.CmiiFrontendAppMap))
|
||||
for aooName := range d_app.CmiiFrontendAppMap {
|
||||
frontMap[aooName] = desiredReplicas
|
||||
}
|
||||
|
||||
@@ -214,8 +214,8 @@ func ScaleCmiiFrontendDeploymentToDesiredReplicas(cmiiEnv string, desiredReplica
|
||||
}
|
||||
|
||||
func ScaleCmiiBackendDeploymentToDesiredReplicas(cmiiEnv string, desiredReplicas int32) (errorUpdateMap map[string]int32) {
|
||||
backMap := make(map[string]int32, len(config.CmiiBackendAppMap))
|
||||
for aooName := range config.CmiiBackendAppMap {
|
||||
backMap := make(map[string]int32, len(d_app.CmiiBackendAppMap))
|
||||
for aooName := range d_app.CmiiBackendAppMap {
|
||||
backMap[aooName] = desiredReplicas
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ func RestartCmiiFrontendDeployment(cmiiEnv string) {
|
||||
cmiiDeploymentInterfaces := DefaultCmiiOperator.DeploymentAllInterface(cmiiEnv)
|
||||
|
||||
for _, deploymentInterface := range cmiiDeploymentInterfaces {
|
||||
_, ok := config.CmiiFrontendAppMap[deploymentInterface.Name]
|
||||
_, ok := d_app.CmiiFrontendAppMap[deploymentInterface.Name]
|
||||
if ok {
|
||||
if !DefaultCmiiOperator.DeploymentRestart(deploymentInterface.Namespace, deploymentInterface.Name) {
|
||||
log.ErrorF("[RestartCmiiFrontendDeployment] - restart of [%s] [%s] failed !", deploymentInterface.Namespace, deploymentInterface.Name)
|
||||
@@ -486,7 +486,7 @@ func BackupAllCmiiDeploymentToMap(cmiiEnv string) (backendMap, frontendMap, srsM
|
||||
}
|
||||
|
||||
// add srs part
|
||||
for key, value := range config.CmiiSrsAppMap {
|
||||
for key, value := range d_app.CmiiSrsAppMap {
|
||||
var app *CmiiDeploymentInterface
|
||||
if strings.Contains(value, "deployment") {
|
||||
app = DefaultCmiiOperator.DeploymentOneInterface(cmiiEnv, key)
|
||||
@@ -546,7 +546,7 @@ func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
|
||||
only := make(map[string]string, 150)
|
||||
// front
|
||||
utils.AppendContentToFile("---\n", filePath)
|
||||
for key, value := range config.CmiiFrontendAppMap {
|
||||
for key, value := range d_app.CmiiFrontendAppMap {
|
||||
_, ok := only[key]
|
||||
if !ok {
|
||||
deploy := DefaultCmiiOperator.DeploymentOneInterface(cmiiEnv, key)
|
||||
@@ -557,7 +557,7 @@ func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
|
||||
}
|
||||
}
|
||||
utils.AppendContentToFile("---\n", filePath)
|
||||
for key, value := range config.CmiiBackendAppMap {
|
||||
for key, value := range d_app.CmiiBackendAppMap {
|
||||
_, ok := only[key]
|
||||
if !ok {
|
||||
deploy := DefaultCmiiOperator.DeploymentOneInterface(cmiiEnv, key)
|
||||
@@ -570,7 +570,7 @@ func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
|
||||
// backend
|
||||
utils.AppendContentToFile("---\n", filePath)
|
||||
// gis server
|
||||
for key, value := range config.CmiiGISAppMap {
|
||||
for key, value := range d_app.CmiiGISAppMap {
|
||||
_, ok := only[key]
|
||||
if !ok {
|
||||
deploy := DefaultCmiiOperator.DeploymentOneInterface(cmiiEnv, key)
|
||||
@@ -582,7 +582,7 @@ func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
|
||||
}
|
||||
// srs
|
||||
utils.AppendContentToFile("---\n", filePath)
|
||||
for key, value := range config.CmiiSrsAppMap {
|
||||
for key, value := range d_app.CmiiSrsAppMap {
|
||||
_, ok := only[key]
|
||||
if !ok {
|
||||
var app *CmiiDeploymentInterface
|
||||
@@ -609,9 +609,9 @@ func BackUpAllCmiiAppImageNameFromEnv(cmiiEnv string) {
|
||||
func FilterAllCmiiAppStrict(source []CmiiDeploymentInterface) (result []CmiiDeploymentInterface) {
|
||||
|
||||
for _, c := range source {
|
||||
_, ok := config.CmiiBackendAppMap[c.ContainerName]
|
||||
_, ok := d_app.CmiiBackendAppMap[c.ContainerName]
|
||||
if !ok {
|
||||
_, ok = config.CmiiFrontendAppMap[c.ContainerName]
|
||||
_, ok = d_app.CmiiFrontendAppMap[c.ContainerName]
|
||||
if !ok {
|
||||
log.WarnF("[FilterAllCmiiAppStrict] - [%s] not cmii pod !", c.ContainerName)
|
||||
continue
|
||||
@@ -663,9 +663,9 @@ func FilterAllCmiiAppSoft(source []CmiiDeploymentInterface) (result []CmiiDeploy
|
||||
|
||||
func FilterAllCmiiPodStrict(podList []CmiiPodInterface) (result []CmiiPodInterface) {
|
||||
for _, c := range podList {
|
||||
_, ok := config.CmiiBackendAppMap[c.ContainerName]
|
||||
_, ok := d_app.CmiiBackendAppMap[c.ContainerName]
|
||||
if !ok {
|
||||
_, ok = config.CmiiFrontendAppMap[c.ContainerName]
|
||||
_, ok = d_app.CmiiFrontendAppMap[c.ContainerName]
|
||||
if !ok {
|
||||
log.WarnF("[FilterAllCmiiPodStrict] - [%s] not cmii pod !", c.ContainerName)
|
||||
continue
|
||||
@@ -735,9 +735,9 @@ func FilterAllCmiiNodeSoft(nodeList []CmiiNodeInterface) (result []CmiiNodeInter
|
||||
}
|
||||
|
||||
func AppNameBelongsToCmiiImage(appName string) bool {
|
||||
_, ok := config.CmiiBackendAppMap[appName]
|
||||
_, ok := d_app.CmiiBackendAppMap[appName]
|
||||
if !ok {
|
||||
_, ok = config.CmiiFrontendAppMap[appName]
|
||||
_, ok = d_app.CmiiFrontendAppMap[appName]
|
||||
if !ok {
|
||||
log.WarnF("[AppNameBelongsToCmiiImage] - [%s] not cmii app !", appName)
|
||||
return false
|
||||
|
||||
@@ -253,7 +253,7 @@ func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
|
||||
// 计算20:00的时间
|
||||
now := time.Now()
|
||||
|
||||
targetTime := time.Date(now.Year(), now.Month(), now.Day(), 17, 34, 00, 0, now.Location())
|
||||
targetTime := time.Date(now.Year(), now.Month(), now.Day(), 9, 13, 00, 0, now.Location())
|
||||
|
||||
duration := time.Duration(0)
|
||||
|
||||
@@ -278,9 +278,9 @@ func TestUpdateCmiiDeploymentImageTag(t *testing.T) {
|
||||
//"cmii-uav-multilink": "5.5.0",
|
||||
//"cmii-uav-process": "5.6.0-060601",
|
||||
//"cmii-uav-industrial-portfolio": "5.6.0-061303",
|
||||
"cmii-uav-industrial-portfolio": "5.6.0-061401",
|
||||
"cmii-uav-industrial-portfolio": "5.6.0-061801",
|
||||
//"cmii-uas-lifecycle": "5.6.0",
|
||||
"cmii-uas-lifecycle": "5.6.0-061401",
|
||||
//"cmii-uas-lifecycle": "5.6.0-061401",
|
||||
}
|
||||
|
||||
for appName, newTag := range appNameTagMap {
|
||||
|
||||
@@ -5,10 +5,9 @@ import (
|
||||
"os"
|
||||
"slices"
|
||||
"strings"
|
||||
"wdd.io/agent-operator/config"
|
||||
|
||||
image2 "wdd.io/agent-common/image"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-deploy/d_app"
|
||||
"wdd.io/agent-operator/image"
|
||||
)
|
||||
|
||||
@@ -422,8 +421,8 @@ func buildAllCmiiImageNameListFromVersion(cmiiVersion string) []string {
|
||||
|
||||
var realCmiiImageName []string
|
||||
|
||||
backendMap := config.CmiiBackendAppMap
|
||||
frontendMap := config.CmiiFrontendAppMap
|
||||
backendMap := d_app.CmiiBackendAppMap
|
||||
frontendMap := d_app.CmiiFrontendAppMap
|
||||
|
||||
for app := range backendMap {
|
||||
backendMap[app] = cmiiVersion
|
||||
@@ -435,7 +434,7 @@ func buildAllCmiiImageNameListFromVersion(cmiiVersion string) []string {
|
||||
realCmiiImageName = append(realCmiiImageName, image.CmiiImageMapToFullNameList(backendMap)...)
|
||||
realCmiiImageName = append(realCmiiImageName, image.CmiiImageMapToFullNameList(frontendMap)...)
|
||||
|
||||
for key, value := range config.CmiiSrsAppMap {
|
||||
for key, value := range d_app.CmiiSrsAppMap {
|
||||
var app *CmiiDeploymentInterface
|
||||
if strings.Contains(value, "deployment") {
|
||||
app = DefaultCmiiOperator.DeploymentOneInterface(demo, key)
|
||||
@@ -470,12 +469,12 @@ func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool, shouldDow
|
||||
|
||||
if isRKE {
|
||||
log.Info("DCU for rke!")
|
||||
fulleImageNameList = config.Rancher1204Amd64
|
||||
fulleImageNameList = d_app.Rancher1204Amd64
|
||||
gzipFolderPrefix = image.OfflineImageGzipFolderPrefix + "rke/"
|
||||
} else {
|
||||
log.Info("DCU for middle!")
|
||||
|
||||
fulleImageNameList = config.MiddlewareAmd64
|
||||
fulleImageNameList = d_app.MiddlewareAmd64
|
||||
gzipFolderPrefix = image.OfflineImageGzipFolderPrefix + "middle/"
|
||||
}
|
||||
|
||||
@@ -488,7 +487,7 @@ func LoadSplitCmiiGzipImageToTargetHarbor(projectName, targetHarborHost string)
|
||||
projectGzipFolder := image.OfflineImageGzipFolderPrefix + projectName
|
||||
errorLoadImageNameList = append(errorLoadImageNameList, image.LoadFromFolderPath(projectGzipFolder)...)
|
||||
// read from json
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(config.Cmii520DemoImageList, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(d_app.Cmii520DemoImageList, targetHarborHost)...)
|
||||
|
||||
// re-tag
|
||||
// push
|
||||
@@ -506,8 +505,8 @@ func LoadSplitDepGzipImageToTargetHarbor(targetHarborHost string) (errorLoadImag
|
||||
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(middle)...)
|
||||
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(rke)...)
|
||||
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(config.MiddlewareAmd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(config.Rancher1204Amd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(d_app.MiddlewareAmd64, targetHarborHost)...)
|
||||
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(d_app.Rancher1204Amd64, targetHarborHost)...)
|
||||
|
||||
return errorLoadImageNameList, errorPushImageNameList
|
||||
|
||||
|
||||
@@ -102,7 +102,8 @@ func DeleteByKubectl(applyFilePath string, cmiiEnv string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
log.InfoF("successfully deleted resources in file %s\n%s", applyFilePath, output)
|
||||
log.InfoF("successfully deleted resources in file %s", applyFilePath)
|
||||
fmt.Println(string(output))
|
||||
return true
|
||||
}
|
||||
|
||||
@@ -114,7 +115,7 @@ func ApplyByKubectl(applyFilePath string, cmiiEnv string) bool {
|
||||
cmd.Env = append(os.Environ(), fmt.Sprintf("KUBECONFIG=%s", kubeconfig))
|
||||
output, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
log.ErrorF("failed to apply resources in file %s: %v\n%s", applyFilePath, err, output)
|
||||
log.ErrorF("failed to apply resources in file %s: %v \n %s", applyFilePath, err, output)
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
@@ -1,325 +0,0 @@
|
||||
package config
|
||||
|
||||
var CmiiBackendAppMap = map[string]string{
|
||||
"cmii-admin-data": "5.2.0",
|
||||
"cmii-admin-gateway": "5.2.0",
|
||||
"cmii-admin-user": "5.2.0",
|
||||
"cmii-app-release": "4.2.0-validation",
|
||||
"cmii-open-gateway": "5.2.0",
|
||||
"cmii-suav-supervision": "5.2.0",
|
||||
"cmii-uav-airspace": "5.2.0",
|
||||
"cmii-uav-alarm": "5.2.0",
|
||||
"cmii-uav-autowaypoint": "4.1.6-cm-0828",
|
||||
"cmii-uav-brain": "5.2.0",
|
||||
"cmii-uav-cloud-live": "5.2.0",
|
||||
"cmii-uav-clusters": "5.2.0",
|
||||
"cmii-uav-cms": "5.2.0",
|
||||
"cmii-uav-data-post-process": "5.2.0",
|
||||
"cmii-uav-depotautoreturn": "4.2.0",
|
||||
"cmii-uav-developer": "5.2.0-25858",
|
||||
"cmii-uav-device": "5.2.0",
|
||||
"cmii-uav-emergency": "5.2.0",
|
||||
"cmii-uav-gateway": "5.2.0",
|
||||
"cmii-uav-industrial-portfolio": "5.2.0-25268-10",
|
||||
"cmii-uav-integration": "5.2.0-25447",
|
||||
"cmii-uav-kpi-monitor": "5.2.0",
|
||||
"cmii-uav-logger": "5.2.0",
|
||||
"cmii-uav-material-warehouse": "5.2.0",
|
||||
"cmii-uav-mission": "5.2.0-25840",
|
||||
"cmii-uav-mqtthandler": "5.2.0-25340",
|
||||
"cmii-uav-notice": "5.2.0",
|
||||
"cmii-uav-oauth": "5.2.0",
|
||||
"cmii-uav-process": "5.2.0",
|
||||
"cmii-uav-surveillance": "5.2.0-25854",
|
||||
"cmii-uav-threedsimulation": "5.2.0",
|
||||
"cmii-uav-tower": "5.2.0",
|
||||
"cmii-uav-user": "5.2.0",
|
||||
"cmii-uav-waypoint": "5.2.0",
|
||||
"cmii-uav-multilink": "5.2.0",
|
||||
"cmii-uav-bridge": "5.2.0",
|
||||
"cmii-uas-lifecycle": "5.2.0",
|
||||
"cmii-uas-gateway": "5.2.0",
|
||||
}
|
||||
|
||||
var CmiiFrontendAppMap = map[string]string{
|
||||
"cmii-suav-platform-supervision": "5.2.0",
|
||||
"cmii-suav-platform-supervisionh5": "5.2.0",
|
||||
"cmii-uav-platform": "5.2.0-011004",
|
||||
"cmii-uav-platform-ai-brain": "5.2.0",
|
||||
"cmii-uav-platform-armypeople": "5.2.0-24538",
|
||||
"cmii-uav-platform-base": "5.2.0",
|
||||
"cmii-uav-platform-cms-portal": "5.2.0",
|
||||
"cmii-uav-platform-detection": "5.2.0",
|
||||
"cmii-uav-platform-emergency-rescue": "5.2.0",
|
||||
"cmii-uav-platform-hljtt": "5.2.0",
|
||||
"cmii-uav-platform-jiangsuwenlv": "4.1.3-jiangsu-0427",
|
||||
"cmii-uav-platform-logistics": "5.2.0",
|
||||
"cmii-uav-platform-media": "5.2.0",
|
||||
"cmii-uav-platform-multiterminal": "5.2.0",
|
||||
"cmii-uav-platform-mws": "5.2.0",
|
||||
"cmii-uav-platform-oms": "5.2.0",
|
||||
"cmii-uav-platform-open": "5.2.0",
|
||||
"cmii-uav-platform-qingdao": "4.1.6-24238-qingdao",
|
||||
"cmii-uav-platform-qinghaitourism": "4.1.0-21377-0508",
|
||||
"cmii-uav-platform-security": "4.1.6",
|
||||
"cmii-uav-platform-securityh5": "5.2.0",
|
||||
"cmii-uav-platform-seniclive": "5.2.0",
|
||||
"cmii-uav-platform-share": "5.2.0",
|
||||
"cmii-uav-platform-splice": "5.2.0",
|
||||
"cmii-uav-platform-threedsimulation": "5.2.0-21392",
|
||||
"cmii-uav-platform-visualization": "5.2.0",
|
||||
}
|
||||
|
||||
var CmiiMiddlewareNameMap = map[string]string{
|
||||
"helm-nacos": "single",
|
||||
"helm-emqxs": "single",
|
||||
"helm-mysql": "single",
|
||||
"helm-redis": "replication",
|
||||
"helm-rabbitmq": "single",
|
||||
}
|
||||
|
||||
var CmiiSrsAppMap = map[string]string{
|
||||
"helm-live-op-v2": "deployment",
|
||||
"helm-live-rtsp-op": "4.1.6",
|
||||
"helm-live-srs-rtc": "statefulset",
|
||||
}
|
||||
|
||||
var CmiiGISAppMap = map[string]string{
|
||||
"cmii-uav-gis-server": "5.4.0",
|
||||
"cmii-uav-grid-datasource": "5.4.0",
|
||||
"cmii-uav-grid-engine": "5.4.0",
|
||||
"cmii-uav-grid-manage": "5.4.0",
|
||||
}
|
||||
|
||||
var MiddlewareAmd64 = []string{
|
||||
"bitnami/redis:6.2.6-debian-10-r0",
|
||||
"bitnami/redis:6.2.14-debian-11-r1",
|
||||
"bitnami/mysql:8.0.35-debian-11-r1",
|
||||
"bitnami/mysql:8.1.0-debian-11-r42",
|
||||
"simonrupf/chronyd:0.4.3",
|
||||
"bitnami/bitnami-shell:10-debian-10-r140",
|
||||
"bitnami/bitnami-shell:11-debian-11-r136",
|
||||
"bitnami/rabbitmq:3.9.12-debian-10-r3",
|
||||
"bitnami/rabbitmq:3.11.26-debian-11-r2",
|
||||
"ossrs/srs:v4.0.136",
|
||||
"ossrs/srs:v5.0.195",
|
||||
"ossrs/srs:v4.0-r3",
|
||||
"emqx/emqx:4.2.12",
|
||||
"emqx/emqx:5.5.1",
|
||||
"nacos/nacos-server:v2.1.2",
|
||||
"nacos/nacos-server:v2.1.2-slim",
|
||||
"mongo:5.0",
|
||||
"rabbitmq:3.9-management",
|
||||
"bitnami/minio:2022.5.4",
|
||||
"bitnami/minio:2023.5.4",
|
||||
"kubernetesui/dashboard:v2.0.1",
|
||||
"kubernetesui/metrics-scraper:v1.0.4",
|
||||
"nginx:1.21.3",
|
||||
"redis:6.0.20-alpine",
|
||||
"dyrnq/nfs-subdir-external-provisioner:v4.0.2",
|
||||
"jerrychina2020/rke-tools:v0.175-linux",
|
||||
"busybox:latest",
|
||||
}
|
||||
|
||||
var Rancher1204Amd64 = []string{
|
||||
"rancher/backup-restore-operator:v1.0.3",
|
||||
"rancher/calico-cni:v3.17.2",
|
||||
"rancher/calico-ctl:v3.17.2",
|
||||
"rancher/calico-kube-controllers:v3.17.2",
|
||||
"rancher/calico-node:v3.17.2",
|
||||
"rancher/calico-pod2daemon-flexvol:v3.17.2",
|
||||
"rancher/cis-operator:v1.0.3",
|
||||
"rancher/cluster-proportional-autoscaler:1.7.1",
|
||||
"rancher/coredns-coredns:1.8.0",
|
||||
"rancher/coreos-etcd:v3.4.14-rancher1",
|
||||
"rancher/coreos-kube-state-metrics:v1.9.7",
|
||||
"rancher/coreos-prometheus-config-reloader:v0.39.0",
|
||||
"rancher/coreos-prometheus-operator:v0.39.0",
|
||||
"rancher/externalip-webhook:v0.1.6",
|
||||
"rancher/flannel-cni:v0.3.0-rancher6",
|
||||
"rancher/coreos-flannel:v0.13.0-rancher1",
|
||||
"rancher/fleet-agent:v0.3.4",
|
||||
"rancher/fleet:v0.3.4",
|
||||
"rancher/fluentd:v0.1.24",
|
||||
"rancher/grafana-grafana:7.1.5",
|
||||
"rancher/hyperkube:v1.20.4-rancher1",
|
||||
"rancher/jimmidyson-configmap-reload:v0.3.0",
|
||||
"rancher/k8s-dns-dnsmasq-nanny:1.15.2",
|
||||
"rancher/k8s-dns-kube-dns:1.15.2",
|
||||
"rancher/k8s-dns-node-cache:1.15.13",
|
||||
"rancher/k8s-dns-sidecar:1.15.2",
|
||||
"rancher/klipper-lb:v0.1.2",
|
||||
"rancher/kube-api-auth:v0.1.4",
|
||||
"rancher/kubectl:v1.20.4",
|
||||
"rancher/kubernetes-external-dns:v0.7.3",
|
||||
"rancher/cluster-proportional-autoscaler:1.8.1",
|
||||
"rancher/library-busybox:1.31.1",
|
||||
"rancher/library-busybox:1.32.1",
|
||||
"rancher/library-nginx:1.19.2-alpine",
|
||||
"rancher/library-traefik:1.7.19",
|
||||
"rancher/local-path-provisioner:v0.0.11",
|
||||
"rancher/local-path-provisioner:v0.0.14",
|
||||
"rancher/local-path-provisioner:v0.0.19",
|
||||
"rancher/log-aggregator:v0.1.7",
|
||||
"rancher/istio-kubectl:1.5.10",
|
||||
"rancher/metrics-server:v0.4.1",
|
||||
"rancher/configmap-reload:v0.3.0-rancher4",
|
||||
"rancher/nginx-ingress-controller-defaultbackend:1.5-rancher1",
|
||||
"rancher/nginx-ingress-controller:nginx-0.43.0-rancher1",
|
||||
"rancher/opa-gatekeeper:v3.1.0-beta.7",
|
||||
"rancher/openzipkin-zipkin:2.14.2",
|
||||
"rancher/pause:3.2",
|
||||
"rancher/plugins-docker:18.09",
|
||||
"rancher/prom-alertmanager:v0.21.0",
|
||||
"rancher/prom-node-exporter:v1.0.1",
|
||||
"rancher/prom-prometheus:v2.18.2",
|
||||
"rancher/prometheus-auth:v0.2.1",
|
||||
"rancher/rancher-agent:v2.5.7",
|
||||
"rancher/rancher-webhook:v0.1.0-beta9",
|
||||
"rancher/rancher:v2.5.7",
|
||||
"rancher/rke-tools:v0.1.72",
|
||||
"rancher/security-scan:v0.1.14",
|
||||
"rancher/security-scan:v0.2.2",
|
||||
"rancher/shell:v0.1.6",
|
||||
"rancher/sonobuoy-sonobuoy:v0.16.3",
|
||||
"rancher/system-upgrade-controller:v0.6.2",
|
||||
}
|
||||
|
||||
var CmiiSRSImageList = []string{
|
||||
"harbor.cdcyy.com.cn/cmii/cmii-live-operator:5.2.0",
|
||||
"harbor.cdcyy.com.cn/cmii/cmii-srs-oss-adaptor:2023-SA",
|
||||
}
|
||||
|
||||
var Cmii530DemoImageList = []string{
|
||||
"cmii-admin-data:5.2.0",
|
||||
"cmii-admin-gateway:5.2.0",
|
||||
"cmii-admin-user:5.2.0",
|
||||
"cmii-app-release:4.2.0-validation",
|
||||
"cmii-open-gateway:5.2.0",
|
||||
"cmii-suav-supervision:5.2.0",
|
||||
"cmii-uav-airspace:5.2.0",
|
||||
"cmii-uav-alarm:5.2.0",
|
||||
"cmii-uav-autowaypoint:4.1.6-cm-0828",
|
||||
"cmii-uav-brain:5.2.0",
|
||||
"cmii-uav-cloud-live:5.2.0",
|
||||
"cmii-uav-clusters:5.2.0",
|
||||
"cmii-uav-cms:5.2.0",
|
||||
"cmii-uav-data-post-process:5.2.0",
|
||||
"cmii-uav-depotautoreturn:4.2.0",
|
||||
"cmii-uav-developer:5.2.0-25858",
|
||||
"cmii-uav-device:5.2.0",
|
||||
"cmii-uav-emergency:5.2.0",
|
||||
"cmii-uav-gateway:5.2.0",
|
||||
"cmii-uav-gis-server:5.2.0",
|
||||
"cmii-uav-grid-datasource:5.2.0-24810",
|
||||
"cmii-uav-grid-engine:5.1.0",
|
||||
"cmii-uav-grid-manage:5.1.0",
|
||||
"cmii-uav-industrial-portfolio:5.2.0-25268-12",
|
||||
"cmii-uav-integration:5.2.0-25447",
|
||||
"cmii-uav-kpi-monitor:5.2.0",
|
||||
"cmii-uav-logger:5.2.0",
|
||||
"cmii-uav-material-warehouse:5.2.0",
|
||||
"cmii-uav-mission:5.2.0-25840",
|
||||
"cmii-uav-mqtthandler:5.2.0-25340-1",
|
||||
"cmii-uav-notice:5.2.0",
|
||||
"cmii-uav-oauth:5.2.0",
|
||||
"cmii-uav-process:5.2.0",
|
||||
"cmii-uav-surveillance:5.2.0-21794",
|
||||
"cmii-uav-threedsimulation:5.2.0",
|
||||
"cmii-uav-tower:5.3.0",
|
||||
"cmii-uav-user:5.2.0",
|
||||
"cmii-uav-waypoint:5.2.0-011102",
|
||||
"cmii-suav-platform-supervision:5.2.0",
|
||||
"cmii-suav-platform-supervisionh5:5.2.0",
|
||||
"cmii-uav-platform:5.2.0",
|
||||
"cmii-uav-platform-ai-brain:5.2.0",
|
||||
"cmii-uav-platform-armypeople:5.2.0-24538",
|
||||
"cmii-uav-platform-base:5.2.0",
|
||||
"cmii-uav-platform-cms-portal:5.2.0",
|
||||
"cmii-uav-platform-detection:5.2.0",
|
||||
"cmii-uav-platform-emergency-rescue:5.2.0",
|
||||
"cmii-uav-platform-hljtt:5.2.0",
|
||||
"cmii-uav-platform-jiangsuwenlv:4.1.3-jiangsu-0427",
|
||||
"cmii-uav-platform-logistics:5.2.0",
|
||||
"cmii-uav-platform-media:5.2.0",
|
||||
"cmii-uav-platform-multiterminal:5.2.0",
|
||||
"cmii-uav-platform-mws:5.2.0",
|
||||
"cmii-uav-platform-oms:5.2.0",
|
||||
"cmii-uav-platform-open:5.2.0",
|
||||
"cmii-uav-platform-qingdao:4.1.6-24238-qingdao",
|
||||
"cmii-uav-platform-qinghaitourism:4.1.0-21377-0508",
|
||||
"cmii-uav-platform-security:4.1.6",
|
||||
"cmii-uav-platform-securityh5:5.2.0",
|
||||
"cmii-uav-platform-seniclive:5.2.0",
|
||||
"cmii-uav-platform-share:5.2.0",
|
||||
"cmii-uav-platform-splice:5.2.0",
|
||||
"cmii-uav-platform-threedsimulation:5.2.0-21392",
|
||||
"cmii-uav-platform-visualization:5.2.0",
|
||||
}
|
||||
|
||||
var Cmii520DemoImageList = []string{
|
||||
"cmii-admin-data:5.2.0",
|
||||
"cmii-admin-gateway:5.2.0",
|
||||
"cmii-admin-user:5.2.0",
|
||||
"cmii-app-release:4.2.0-validation",
|
||||
"cmii-open-gateway:5.2.0",
|
||||
"cmii-suav-supervision:5.2.0",
|
||||
"cmii-uav-airspace:5.2.0",
|
||||
"cmii-uav-alarm:5.2.0",
|
||||
"cmii-uav-autowaypoint:4.1.6-cm-0828",
|
||||
"cmii-uav-brain:5.2.0",
|
||||
"cmii-uav-cloud-live:5.2.0",
|
||||
"cmii-uav-clusters:5.2.0",
|
||||
"cmii-uav-cms:5.2.0",
|
||||
"cmii-uav-data-post-process:5.2.0",
|
||||
"cmii-uav-depotautoreturn:4.2.0",
|
||||
"cmii-uav-developer:5.2.0-25858",
|
||||
"cmii-uav-device:5.2.0",
|
||||
"cmii-uav-emergency:5.2.0",
|
||||
"cmii-uav-gateway:5.2.0",
|
||||
"cmii-uav-gis-server:5.2.0",
|
||||
"cmii-uav-grid-datasource:5.2.0-24810",
|
||||
"cmii-uav-grid-engine:5.1.0",
|
||||
"cmii-uav-grid-manage:5.1.0",
|
||||
"cmii-uav-industrial-portfolio:5.2.0-25268-12",
|
||||
"cmii-uav-integration:5.2.0-25447",
|
||||
"cmii-uav-kpi-monitor:5.2.0",
|
||||
"cmii-uav-logger:5.2.0",
|
||||
"cmii-uav-material-warehouse:5.2.0",
|
||||
"cmii-uav-mission:5.2.0-25840",
|
||||
"cmii-uav-mqtthandler:5.2.0-25340-1",
|
||||
"cmii-uav-notice:5.2.0",
|
||||
"cmii-uav-oauth:5.2.0",
|
||||
"cmii-uav-process:5.2.0",
|
||||
"cmii-uav-surveillance:5.2.0-21794",
|
||||
"cmii-uav-threedsimulation:5.2.0",
|
||||
"cmii-uav-tower:5.3.0",
|
||||
"cmii-uav-user:5.2.0",
|
||||
"cmii-uav-waypoint:5.2.0-011102",
|
||||
"cmii-suav-platform-supervision:5.2.0",
|
||||
"cmii-suav-platform-supervisionh5:5.2.0",
|
||||
"cmii-uav-platform:5.2.0",
|
||||
"cmii-uav-platform-ai-brain:5.2.0",
|
||||
"cmii-uav-platform-armypeople:5.2.0-24538",
|
||||
"cmii-uav-platform-base:5.2.0",
|
||||
"cmii-uav-platform-cms-portal:5.2.0",
|
||||
"cmii-uav-platform-detection:5.2.0",
|
||||
"cmii-uav-platform-emergency-rescue:5.2.0",
|
||||
"cmii-uav-platform-hljtt:5.2.0",
|
||||
"cmii-uav-platform-jiangsuwenlv:4.1.3-jiangsu-0427",
|
||||
"cmii-uav-platform-logistics:5.2.0",
|
||||
"cmii-uav-platform-media:5.2.0",
|
||||
"cmii-uav-platform-multiterminal:5.2.0",
|
||||
"cmii-uav-platform-mws:5.2.0",
|
||||
"cmii-uav-platform-oms:5.2.0",
|
||||
"cmii-uav-platform-open:5.2.0",
|
||||
"cmii-uav-platform-qingdao:4.1.6-24238-qingdao",
|
||||
"cmii-uav-platform-qinghaitourism:4.1.0-21377-0508",
|
||||
"cmii-uav-platform-security:4.1.6",
|
||||
"cmii-uav-platform-securityh5:5.2.0",
|
||||
"cmii-uav-platform-seniclive:5.2.0",
|
||||
"cmii-uav-platform-share:5.2.0",
|
||||
"cmii-uav-platform-splice:5.2.0",
|
||||
"cmii-uav-platform-threedsimulation:5.2.0-21392",
|
||||
"cmii-uav-platform-visualization:5.2.0",
|
||||
}
|
||||
@@ -6,21 +6,20 @@ import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/filters"
|
||||
"github.com/docker/docker/client"
|
||||
"github.com/klauspost/pgzip"
|
||||
"io"
|
||||
"io/fs"
|
||||
"os"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"wdd.io/agent-operator/config"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/filters"
|
||||
"github.com/docker/docker/client"
|
||||
"github.com/klauspost/pgzip"
|
||||
image2 "wdd.io/agent-common/image"
|
||||
"wdd.io/agent-common/logger"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-deploy/d_app"
|
||||
)
|
||||
|
||||
var apiClient = newClient()
|
||||
@@ -554,17 +553,17 @@ func GenerateCmiiTagVersionImageMap(specificTag string) (backendMap, frontendMap
|
||||
|
||||
}
|
||||
|
||||
backendMap = make(map[string]string, len(config.CmiiBackendAppMap))
|
||||
frontendMap = make(map[string]string, len(config.CmiiFrontendAppMap))
|
||||
srsMap = make(map[string]string, len(config.CmiiSrsAppMap))
|
||||
backendMap = make(map[string]string, len(d_app.CmiiBackendAppMap))
|
||||
frontendMap = make(map[string]string, len(d_app.CmiiFrontendAppMap))
|
||||
srsMap = make(map[string]string, len(d_app.CmiiSrsAppMap))
|
||||
|
||||
for imageName, _ := range config.CmiiBackendAppMap {
|
||||
for imageName, _ := range d_app.CmiiBackendAppMap {
|
||||
backendMap[imageName] = specificTag
|
||||
}
|
||||
for imageName, _ := range config.CmiiFrontendAppMap {
|
||||
for imageName, _ := range d_app.CmiiFrontendAppMap {
|
||||
frontendMap[imageName] = specificTag
|
||||
}
|
||||
for imageName, imageTag := range config.CmiiSrsAppMap {
|
||||
for imageName, imageTag := range d_app.CmiiSrsAppMap {
|
||||
srsMap[imageName] = imageTag
|
||||
}
|
||||
|
||||
@@ -595,13 +594,13 @@ func WriteDependencyImageToFile() {
|
||||
|
||||
middleFile := imageFilePrefix + "middle-image.txt"
|
||||
_ = os.Remove(middleFile)
|
||||
for _, image := range config.MiddlewareAmd64 {
|
||||
for _, image := range d_app.MiddlewareAmd64 {
|
||||
utils.AppendContentToFile(image+"\n", middleFile)
|
||||
}
|
||||
|
||||
rkeFile := imageFilePrefix + "rke-image.txt"
|
||||
_ = os.Remove(rkeFile)
|
||||
for _, image := range config.Rancher1204Amd64 {
|
||||
for _, image := range d_app.Rancher1204Amd64 {
|
||||
utils.AppendContentToFile(image+"\n", rkeFile)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"wdd.io/agent-common/assert"
|
||||
"wdd.io/agent-common/image"
|
||||
"wdd.io/agent-common/utils"
|
||||
"wdd.io/agent-operator/config"
|
||||
"wdd.io/agent-deploy/d_app"
|
||||
"wdd.io/agent-operator/real_project/zjjt"
|
||||
)
|
||||
|
||||
@@ -129,7 +129,7 @@ func TestImageFullNameToGzipFileName(t *testing.T) {
|
||||
"busybox",
|
||||
}
|
||||
|
||||
test = append(test, config.MiddlewareAmd64...)
|
||||
test = append(test, d_app.MiddlewareAmd64...)
|
||||
|
||||
for _, s := range test {
|
||||
gzipFileName := image.ImageFullNameToGzipFileName(s)
|
||||
|
||||
@@ -62,3 +62,4 @@
|
||||
2024-06-14-17-45-15 uavcloud-demo cmii-uas-lifecycle 5.6.0-061401 5.6.0
|
||||
2024-06-14-17-47-17 uavcloud-demo cmii-uav-industrial-portfolio 5.6.0-061303 5.6.0-061401
|
||||
2024-06-14-17-49-53 uavcloud-demo cmii-uas-lifecycle 5.6.0 5.6.0-061401
|
||||
2024-06-18-09-13-18 uavcloud-demo cmii-uav-industrial-portfolio 5.6.0-061602 5.6.0-061801
|
||||
|
||||
Reference in New Issue
Block a user