|
|
|
|
@@ -15,7 +15,6 @@ import (
|
|
|
|
|
"wdd.io/agent-operator/image"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const OfflineImageGzipFolderPrefix = "/root/octopus_image/"
|
|
|
|
|
const OfflineDeployHarborHost = "harbor.wdd.io"
|
|
|
|
|
const PublicDeployHarborHost = "42.192.52.227"
|
|
|
|
|
const DirectPushDeployHarborHost = "36.134.71.138"
|
|
|
|
|
@@ -63,19 +62,19 @@ func (sync ImageSyncEntity) PullFromEntityAndSyncConditionally() (imageSyncResul
|
|
|
|
|
// get version images
|
|
|
|
|
errorPullImageList, errorGzipImageList, allCmiiImageNameList, allGzipFileNameList = DownloadCompressUploadFromVersion(sync.ProjectVersion, sync.CompressImageToGzip, sync.UploadToDemoMinio)
|
|
|
|
|
|
|
|
|
|
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectVersion
|
|
|
|
|
gzipFolderFullPath = image.OfflineImageGzipFolderPrefix + sync.ProjectVersion
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
// get demo images
|
|
|
|
|
|
|
|
|
|
errorPullImageList, errorGzipImageList, allCmiiImageNameList, allGzipFileNameList = DownloadCompressUploadFromDemo(sync.ProjectName, sync.CompressImageToGzip, sync.UploadToDemoMinio)
|
|
|
|
|
gzipFolderFullPath = OfflineImageGzipFolderPrefix + sync.ProjectName
|
|
|
|
|
gzipFolderFullPath = image.OfflineImageGzipFolderPrefix + sync.ProjectName
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
// 拉取特定的镜像
|
|
|
|
|
|
|
|
|
|
gzipFolderFullPath = OfflineImageGzipFolderPrefix + "tmp"
|
|
|
|
|
gzipFolderFullPath = image.OfflineImageGzipFolderPrefix + "tmp"
|
|
|
|
|
// 组装镜像名称
|
|
|
|
|
allCmiiImageNameList = concatAndUniformCmiiImage(sync.FullNameImageList, sync.CmiiNameTagList)
|
|
|
|
|
|
|
|
|
|
@@ -178,7 +177,7 @@ func DownloadCompressUpload(fullNameList []string, shouldGzip bool, gzipFolderFu
|
|
|
|
|
|
|
|
|
|
// start to upload
|
|
|
|
|
// extract demo oss location suffix from gzipFolderFullPath
|
|
|
|
|
trimPrefix := strings.TrimPrefix(gzipFolderFullPath, OfflineImageGzipFolderPrefix)
|
|
|
|
|
trimPrefix := strings.TrimPrefix(gzipFolderFullPath, image.OfflineImageGzipFolderPrefix)
|
|
|
|
|
bucketName := "cmlc-installation/" + trimPrefix
|
|
|
|
|
log.InfoF("gzip file location in demo oss is %s", DefaultDemoEndpoint+"/"+bucketName)
|
|
|
|
|
|
|
|
|
|
@@ -290,10 +289,10 @@ func parseAndDownloadFromOss(ossUrlPrefix, ossFileName, localGzipFolder string)
|
|
|
|
|
func DownloadCompressUploadFromDemo(projectName string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList []string) {
|
|
|
|
|
|
|
|
|
|
// generate a project folder
|
|
|
|
|
err := os.MkdirAll(OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
|
|
|
|
err := os.MkdirAll(image.OfflineImageGzipFolderPrefix+projectName, os.ModeDir)
|
|
|
|
|
if err != nil {
|
|
|
|
|
if !errors.Is(err, os.ErrExist) {
|
|
|
|
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+projectName, err.Error())
|
|
|
|
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", image.OfflineImageGzipFolderPrefix+projectName, err.Error())
|
|
|
|
|
return errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -303,7 +302,7 @@ func DownloadCompressUploadFromDemo(projectName string, shouldGzip bool, shouldO
|
|
|
|
|
|
|
|
|
|
// do work
|
|
|
|
|
// DCU
|
|
|
|
|
return DownloadCompressUpload(allCmiiImageNameListFromDemo, shouldGzip, OfflineImageGzipFolderPrefix+projectName, shouldOss)
|
|
|
|
|
return DownloadCompressUpload(allCmiiImageNameListFromDemo, shouldGzip, image.OfflineImageGzipFolderPrefix+projectName, shouldOss)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func buildAllCmiiImageNameListFromDemo(projectName string) []string {
|
|
|
|
|
@@ -313,9 +312,9 @@ func buildAllCmiiImageNameListFromDemo(projectName string) []string {
|
|
|
|
|
backendMap, frontendMap, srsMap := BackupAllCmiiDeploymentToMap(demo)
|
|
|
|
|
|
|
|
|
|
// save map to file
|
|
|
|
|
backendMapFile := OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
|
|
|
|
frontendMapFile := OfflineImageGzipFolderPrefix + projectName + "-frontend-app.json"
|
|
|
|
|
srsMapFile := OfflineImageGzipFolderPrefix + projectName + "-srs-app.json"
|
|
|
|
|
backendMapFile := image.OfflineImageGzipFolderPrefix + projectName + "-backend-app.json"
|
|
|
|
|
frontendMapFile := image.OfflineImageGzipFolderPrefix + projectName + "-frontend-app.json"
|
|
|
|
|
srsMapFile := image.OfflineImageGzipFolderPrefix + projectName + "-srs-app.json"
|
|
|
|
|
_ = os.Remove(backendMapFile)
|
|
|
|
|
_ = os.Remove(frontendMapFile)
|
|
|
|
|
_ = os.Remove(srsMapFile)
|
|
|
|
|
@@ -333,9 +332,9 @@ func buildAllCmiiImageNameListFromDemo(projectName string) []string {
|
|
|
|
|
// srsMapFile,
|
|
|
|
|
//)
|
|
|
|
|
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(backendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(frontendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(srsMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCmiiImageMapToList(backendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCmiiImageMapToList(frontendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCmiiImageMapToList(srsMap)...)
|
|
|
|
|
|
|
|
|
|
utils.BeautifulPrintListWithTitle(realCmiiImageName, "Cmii Project Image => "+projectName)
|
|
|
|
|
|
|
|
|
|
@@ -346,10 +345,10 @@ func buildAllCmiiImageNameListFromDemo(projectName string) []string {
|
|
|
|
|
func DownloadCompressUploadFromVersion(cmiiVersion string, shouldGzip bool, shouldOss bool) (errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList []string) {
|
|
|
|
|
|
|
|
|
|
// generate a project folder
|
|
|
|
|
err := os.MkdirAll(OfflineImageGzipFolderPrefix+cmiiVersion, os.ModeDir)
|
|
|
|
|
err := os.MkdirAll(image.OfflineImageGzipFolderPrefix+cmiiVersion, os.ModeDir)
|
|
|
|
|
if err != nil {
|
|
|
|
|
if !errors.Is(err, os.ErrExist) {
|
|
|
|
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", OfflineImageGzipFolderPrefix+cmiiVersion, err.Error())
|
|
|
|
|
log.ErrorF("[Download_Compress_Upload_From_Demo] - create folder of %s error %s", image.OfflineImageGzipFolderPrefix+cmiiVersion, err.Error())
|
|
|
|
|
return errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@@ -359,7 +358,7 @@ func DownloadCompressUploadFromVersion(cmiiVersion string, shouldGzip bool, shou
|
|
|
|
|
|
|
|
|
|
// do work
|
|
|
|
|
// DCU procedure
|
|
|
|
|
return DownloadCompressUpload(realCmiiImageName, shouldGzip, OfflineImageGzipFolderPrefix+cmiiVersion, shouldOss)
|
|
|
|
|
return DownloadCompressUpload(realCmiiImageName, shouldGzip, image.OfflineImageGzipFolderPrefix+cmiiVersion, shouldOss)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -377,8 +376,8 @@ func buildAllCmiiImageNameListFromVersion(cmiiVersion string) []string {
|
|
|
|
|
frontendMap[app] = cmiiVersion
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(backendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCMiiImageMapToList(frontendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCmiiImageMapToList(backendMap)...)
|
|
|
|
|
realCmiiImageName = append(realCmiiImageName, image.ConvertCmiiImageMapToList(frontendMap)...)
|
|
|
|
|
|
|
|
|
|
for key, value := range CmiiSrsAppMap {
|
|
|
|
|
var app *CmiiDeploymentInterface
|
|
|
|
|
@@ -401,16 +400,16 @@ func buildAllCmiiImageNameListFromVersion(cmiiVersion string) []string {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool, downloadMiddle bool, downloadRke bool) (errorPullImageList, errorGzipImageList, realCmiiImageName, allGzipFileNameList []string) {
|
|
|
|
|
err := os.MkdirAll(OfflineImageGzipFolderPrefix, os.ModeDir)
|
|
|
|
|
err := os.MkdirAll(image.OfflineImageGzipFolderPrefix, os.ModeDir)
|
|
|
|
|
if err != nil {
|
|
|
|
|
if !errors.Is(err, os.ErrExist) {
|
|
|
|
|
log.ErrorF("[FetchDependencyRepos] - create folder of %s error %s", OfflineImageGzipFolderPrefix, err.Error())
|
|
|
|
|
log.ErrorF("[FetchDependencyRepos] - create folder of %s error %s", image.OfflineImageGzipFolderPrefix, err.Error())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if downloadMiddle {
|
|
|
|
|
|
|
|
|
|
gzipFolderPrefix := OfflineImageGzipFolderPrefix + "middle/"
|
|
|
|
|
gzipFolderPrefix := image.OfflineImageGzipFolderPrefix + "middle/"
|
|
|
|
|
|
|
|
|
|
// remove folder first
|
|
|
|
|
utils.RemoveFolderComplete(gzipFolderPrefix)
|
|
|
|
|
@@ -419,7 +418,7 @@ func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool, downloadM
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if downloadRke {
|
|
|
|
|
gzipFolderPrefix := OfflineImageGzipFolderPrefix + "rke/"
|
|
|
|
|
gzipFolderPrefix := image.OfflineImageGzipFolderPrefix + "rke/"
|
|
|
|
|
return DownloadCompressUpload(image.MiddlewareAmd64, shouldGzip, gzipFolderPrefix, shouldOss)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -429,7 +428,7 @@ func DownloadCompressUploadDependency(shouldGzip bool, shouldOss bool, downloadM
|
|
|
|
|
func LoadSplitCmiiGzipImageToTargetHarbor(projectName, targetHarborHost string) (errorLoadImageNameList, errorPushImageNameList []string) {
|
|
|
|
|
|
|
|
|
|
// list folder
|
|
|
|
|
projectGzipFolder := OfflineImageGzipFolderPrefix + projectName
|
|
|
|
|
projectGzipFolder := image.OfflineImageGzipFolderPrefix + projectName
|
|
|
|
|
errorLoadImageNameList = append(errorLoadImageNameList, image.LoadFromFolderPath(projectGzipFolder)...)
|
|
|
|
|
// read from json
|
|
|
|
|
errorPushImageNameList = append(errorPushImageNameList, image.TagFromListAndPushToCHarbor(image.Cmii520DemoImageList, targetHarborHost)...)
|
|
|
|
|
@@ -445,8 +444,8 @@ func LoadSplitCmiiGzipImageToTargetHarbor(projectName, targetHarborHost string)
|
|
|
|
|
|
|
|
|
|
func LoadSplitDepGzipImageToTargetHarbor(targetHarborHost string) (errorLoadImageNameList []string, errorPushImageNameList []string) {
|
|
|
|
|
|
|
|
|
|
//middle := OfflineImageGzipFolderPrefix + "middle/"
|
|
|
|
|
//rke := OfflineImageGzipFolderPrefix + "rke/"
|
|
|
|
|
//middle := image.OfflineImageGzipFolderPrefix + "middle/"
|
|
|
|
|
//rke := image.OfflineImageGzipFolderPrefix + "rke/"
|
|
|
|
|
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(middle)...)
|
|
|
|
|
//errorLoadImageNameList = append(errorLoadImageNameList, ImageLoadFromFolderPath(rke)...)
|
|
|
|
|
|
|
|
|
|
|