LingxinMeng 7 달 전
부모
커밋
2072ef7a7d
5개의 변경된 파일77개의 추가작업 그리고 25개의 파일을 삭제
  1. 13 6
      src/main/main.go
  2. 11 5
      src/package/infra/application.yaml
  3. 2 1
      src/package/infra/i_application.go
  4. 26 6
      src/package/infra/i_oss.go
  5. 25 7
      src/package/service/run_task.go

+ 13 - 6
src/main/main.go

@@ -25,12 +25,19 @@ func init() {
 	// 3 初始化 docker 客户端
 	infra.InitDockerClient(infra.ApplicationYaml.Docker.Host)
 	// 3 初始化 阿里云oss 客户端
-	infra.InitOss(
-		infra.ApplicationYaml.Oss.IsUseCname,
-		infra.ApplicationYaml.Oss.Endpoint,
-		infra.ApplicationYaml.Oss.AccessKeyId,
-		infra.ApplicationYaml.Oss.AccessKeySecret,
-		infra.ApplicationYaml.Oss.BucketName,
+	infra.InitOssCicv(
+		infra.ApplicationYaml.OssCicv.IsUseCname,
+		infra.ApplicationYaml.OssCicv.Endpoint,
+		infra.ApplicationYaml.OssCicv.AccessKeyId,
+		infra.ApplicationYaml.OssCicv.AccessKeySecret,
+		infra.ApplicationYaml.OssCicv.BucketName,
+	)
+	infra.InitOssPji(
+		infra.ApplicationYaml.OssPji.IsUseCname,
+		infra.ApplicationYaml.OssPji.Endpoint,
+		infra.ApplicationYaml.OssPji.AccessKeyId,
+		infra.ApplicationYaml.OssPji.AccessKeySecret,
+		infra.ApplicationYaml.OssPji.BucketName,
 	)
 	// 4 初始化 Redis 客户端
 	infra.InitRedisClient(

+ 11 - 5
src/package/infra/application.yaml

@@ -22,16 +22,22 @@ kafka:
   partition: 0
   broker: 10.14.85.239:9092
 
-oss:
+oss-cicv:
   type: Aliyun # Minio 或 Aliyun
-#  is-user-cname: true
-#  endpoint: open-bucket.oss.icvdc.com
-  is-user-cname: false
-  endpoint: oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com
+  is-user-cname: false #  is-user-cname: true
+  endpoint: oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com #  endpoint: open-bucket.oss.icvdc.com
   access-key-id: n8glvFGS25MrLY7j
   access-key-secret: xZ2Fozoarpfw0z28FUhtg8cu0yDc5d
   bucket-name: open-bucket
 
+oss-pji:
+  type: Aliyun # Minio 或 Aliyun
+  is-user-cname: false #  is-user-cname: true
+  endpoint: oss-cn-beijing-gqzl-d01-a.ops.gqzl-cloud.com #  endpoint: pji-bucket1.oss.icvdc.com
+  access-key-id: n8glvFGS25MrLY7j
+  access-key-secret: xZ2Fozoarpfw0z28FUhtg8cu0yDc5d
+  bucket-name: pji-bucket1
+
 gpu-node-list:
   - hostname: gpu003
     ip: 10.14.85.238

+ 2 - 1
src/package/infra/i_application.go

@@ -13,7 +13,8 @@ type ApplicationYamlStruct struct {
 	Log             LogStruct    `yaml:"log"`
 	Redis           RedisStruct  `yaml:"redis"`
 	Kafka           KafkaStruct  `yaml:"kafka"`
-	Oss             OssStruct    `yaml:"oss"`
+	OssCicv         OssStruct    `yaml:"oss-cicv"`
+	OssPji          OssStruct    `yaml:"oss-pji"`
 	GpuNodeList     []GpuNode    `yaml:"gpu-node-list"`
 	K8s             K8sStruct    `yaml:"k8s"`
 	Docker          DockerStruct `yaml:"docker"`

+ 26 - 6
src/package/infra/i_oss.go

@@ -6,22 +6,42 @@ import (
 )
 
 var (
-	GlobalOssClient *oss.Client
-	GlobalOssBucket *oss.Bucket
+	GlobalOssClientCicv *oss.Client
+	GlobalOssBucketCicv *oss.Bucket
+	GlobalOssClientPji  *oss.Client
+	GlobalOssBucketPji  *oss.Bucket
 )
 
-func InitOss(isUseCname bool, endpoint string, accessKeyId string, accessKeySecret string, bucketName string) {
+func InitOssCicv(isUseCname bool, endpoint string, accessKeyId string, accessKeySecret string, bucketName string) {
 	var err error
 	if isUseCname {
-		GlobalOssClient, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(true)) // 公网
+		GlobalOssClientCicv, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(true)) // 公网
 	} else {
-		GlobalOssClient, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(false)) // 内网
+		GlobalOssClientCicv, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(false)) // 内网
 	}
 	if err != nil {
 		GlobalLogger.Error("无法创建阿里云client:", err)
 		os.Exit(-1)
 	}
-	GlobalOssBucket, err = GlobalOssClient.Bucket(bucketName)
+	GlobalOssBucketCicv, err = GlobalOssClientCicv.Bucket(bucketName)
+	if err != nil {
+		GlobalLogger.Error("无法创建阿里云bucket:", err)
+		os.Exit(-1)
+	}
+}
+
+func InitOssPji(isUseCname bool, endpoint string, accessKeyId string, accessKeySecret string, bucketName string) {
+	var err error
+	if isUseCname {
+		GlobalOssClientPji, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(true)) // 公网
+	} else {
+		GlobalOssClientPji, err = oss.New(endpoint, accessKeyId, accessKeySecret, oss.UseCname(false)) // 内网
+	}
+	if err != nil {
+		GlobalLogger.Error("无法创建阿里云client:", err)
+		os.Exit(-1)
+	}
+	GlobalOssBucketPji, err = GlobalOssClientPji.Bucket(bucketName)
 	if err != nil {
 		GlobalLogger.Error("无法创建阿里云bucket:", err)
 		os.Exit(-1)

+ 25 - 7
src/package/service/run_task.go

@@ -129,7 +129,11 @@ func RunWaitingCluster() {
 				algorithmImageName = infra.ApplicationYaml.K8s.RegistryUri + "/cicvdcl_" + util.MD5HashShort(algorithmTarName)
 				newAlgorithm = util.ImageExists(infra.GlobalDockerClient, algorithmImageName)
 				if newAlgorithm {
-					_ = infra.GlobalOssBucket.GetObjectToFile(firstTaskCache.AlgorithmObjectKey, algorithmTarPath)
+					if firstTaskCache.EquipmentType == "JIN_LONG_BA_SHI" || firstTaskCache.EquipmentType == "PU_JIN_DUO_GONG_NENG_CHE" {
+						err = infra.GlobalOssBucketCicv.GetObjectToFile(firstTaskCache.AlgorithmObjectKey, algorithmTarPath)
+					} else {
+						err = infra.GlobalOssBucketPji.GetObjectToFile(firstTaskCache.AlgorithmObjectKey, algorithmTarPath)
+					}
 					if err != nil {
 						infra.GlobalLogger.Error("下载oss上的算法镜像 "+firstTaskCache.AlgorithmObjectKey+" 失败,错误信息为:", err)
 						time.Sleep(time.Duration(2) * time.Second)
@@ -270,11 +274,20 @@ func RunWaitingCluster() {
 		podString = strings.Replace(podString, "platform-ip", infra.ApplicationYaml.Web.IpPrivate+":"+infra.ApplicationYaml.Web.Port, -1)
 		podString = strings.Replace(podString, "simulation-cloud-ip", infra.ApplicationYaml.Web.IpPrivate+":"+infra.ApplicationYaml.Web.Port, -1)
 		podString = strings.Replace(podString, "platform-type", "\""+infra.ApplicationYaml.K8s.PlatformType+"\"", -1)
-		podString = strings.Replace(podString, "oss-type", infra.ApplicationYaml.Oss.Type, -1)
-		podString = strings.Replace(podString, "oss-ip", infra.ApplicationYaml.Oss.Endpoint, -1) // 不带http://前缀
-		podString = strings.Replace(podString, "oss-access-key", infra.ApplicationYaml.Oss.AccessKeyId, -1)
-		podString = strings.Replace(podString, "oss-secret-key", infra.ApplicationYaml.Oss.AccessKeySecret, -1)
-		podString = strings.Replace(podString, "oss-bucket", infra.ApplicationYaml.Oss.BucketName, -1)
+		if firstTaskCache.EquipmentType == "JIN_LONG_BA_SHI" || firstTaskCache.EquipmentType == "PU_JIN_DUO_GONG_NENG_CHE" {
+			podString = strings.Replace(podString, "oss-type", infra.ApplicationYaml.OssCicv.Type, -1)
+			podString = strings.Replace(podString, "oss-ip", infra.ApplicationYaml.OssCicv.Endpoint, -1) // 不带http://前缀
+			podString = strings.Replace(podString, "oss-access-key", infra.ApplicationYaml.OssCicv.AccessKeyId, -1)
+			podString = strings.Replace(podString, "oss-secret-key", infra.ApplicationYaml.OssCicv.AccessKeySecret, -1)
+			podString = strings.Replace(podString, "oss-bucket", infra.ApplicationYaml.OssCicv.BucketName, -1)
+		} else {
+			podString = strings.Replace(podString, "oss-type", infra.ApplicationYaml.OssPji.Type, -1)
+			podString = strings.Replace(podString, "oss-ip", infra.ApplicationYaml.OssPji.Endpoint, -1) // 不带http://前缀
+			podString = strings.Replace(podString, "oss-access-key", infra.ApplicationYaml.OssPji.AccessKeyId, -1)
+			podString = strings.Replace(podString, "oss-secret-key", infra.ApplicationYaml.OssPji.AccessKeySecret, -1)
+			podString = strings.Replace(podString, "oss-bucket", infra.ApplicationYaml.OssPji.BucketName, -1)
+		}
+
 		podString = strings.Replace(podString, "kafka-ip", infra.ApplicationYaml.Kafka.Broker, -1)
 		podString = strings.Replace(podString, "kafka-topic", projectId, -1)
 		podString = strings.Replace(podString, "kafka-partition", "\""+util.ToString(infra.ApplicationYaml.Kafka.Partition)+"\"", -1)
@@ -286,7 +299,12 @@ func RunWaitingCluster() {
 		tempDir := "/mnt/disk001/dcl_dispatch_server/temp/"
 		util.CreateDir(tempDir)
 		xoscLocalPath := tempDir + util.NewShortUUID() + ".xosc"
-		err = infra.GlobalOssBucket.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
+		if firstTaskCache.EquipmentType == "JIN_LONG_BA_SHI" || firstTaskCache.EquipmentType == "PU_JIN_DUO_GONG_NENG_CHE" {
+			err = infra.GlobalOssBucketCicv.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
+		} else {
+			err = infra.GlobalOssBucketPji.GetObjectToFile(firstTaskCache.Task.Scenario.ScenarioOsc, xoscLocalPath)
+		}
+
 		if err != nil {
 			infra.GlobalLogger.Errorf("下载xosc文件【%v】失败,错误信息为:%v", xoscOssPath, err)
 			continue