diff --git a/adaptor/pod/server/ali/create_container_group.go b/adaptor/pod/server/ali/create_container_group.go index c8588ab4..6e754c80 100644 --- a/adaptor/pod/server/ali/create_container_group.go +++ b/adaptor/pod/server/ali/create_container_group.go @@ -10,6 +10,7 @@ import ( "gitlink.org.cn/JCCE/PCM/common/tenanter" "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbpod" "gitlink.org.cn/JCCE/PCM/lan_trans/idl/pbtenant" + "strconv" ) // CreateContainerGroup invokes the eci.CreateContainerGroup API synchronously @@ -32,21 +33,26 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat glog.Infof("load tenant from file finished") tenanters, err := tenanter.GetTenanters(provider) var regionId int32 + var cpuPod string + var memoryPod string + container := *request.Container + containerImage := container[0].Image + containerName := container[0].Name + cpuPodFloat, _ := container[0].Cpu.GetValue() + memoryPodFloat, _ := container[0].Memory.GetValue() switch request.ProviderId { case 0: regionId, _ = tenanter.GetAliRegionId(request.RegionId) case 1: regionId, _ = tenanter.GetTencentRegionId(request.RegionId) + case 2: regionId, _ = tenanter.GetHuaweiRegionId(request.RegionId) + cpuPod = strconv.FormatFloat(cpuPodFloat*1000, 'f', 0, 64) + memoryPod = strconv.FormatFloat(memoryPodFloat, 'f', 0, 64) case 3: regionId, _ = tenanter.GetK8SRegionId(request.RegionId) } - container := *request.Container - containerImage := container[0].Image - containerName := container[0].Name - containerPod := container[0].Cpu - memoryPod := container[0].Memory requestPCM := &pbpod.CreatePodReq{ RequestSource: "ali", @@ -56,8 +62,8 @@ func CreateContainerGroup(request *CreateContainerGroupRequest) (response *Creat RegionId: regionId, ContainerImage: containerImage, ContainerName: containerName, - CpuPod: string(containerPod), - MemoryPod: string(memoryPod), + CpuPod: cpuPod + "m", + MemoryPod: memoryPod + "Gi", SecurityGroupId: "sg-6qlun7hd", SubnetId: "subnet-mnwfg2fk", VpcId: "vpc-rkwt40g5", diff --git a/adaptor/pod/server/kubernetes/client-go/kubernetes/typed/core/v1/pod.go b/adaptor/pod/server/kubernetes/client-go/kubernetes/typed/core/v1/pod.go index 5d087693..a52f7320 100644 --- a/adaptor/pod/server/kubernetes/client-go/kubernetes/typed/core/v1/pod.go +++ b/adaptor/pod/server/kubernetes/client-go/kubernetes/typed/core/v1/pod.go @@ -130,6 +130,7 @@ func (c *pods) Create(ctx context.Context, pod *v1.Pod, opts metav1.CreateOption var cpuPod string var memoryPod string + //华为(K8S)与其他厂商的CPU单位和格式有区别 switch pod.Spec.ProviderId { case 0: regionId, _ = tenanter.GetAliRegionId(pod.Spec.RegionId) diff --git a/examples/pcm_ali.go b/examples/pcm_ali.go index a323b80b..e72ab41c 100644 --- a/examples/pcm_ali.go +++ b/examples/pcm_ali.go @@ -31,8 +31,8 @@ func _main(args []*string) (_err error) { createContainerGroupsRequest := pcm_pod_ali.CreateContainerGroupRequest{ RpcRequest: nil, //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 - RegionId: "cn-hangzhou", - ProviderId: 3, + RegionId: "cn-east-3", + ProviderId: 2, Namespace: "pcm", ContainerGroupName: "sdk-alitohuawei", Container: &containers, diff --git a/examples/pcm_huawei.go b/examples/pcm_huawei.go index 79baf82a..c4c23eb7 100644 --- a/examples/pcm_huawei.go +++ b/examples/pcm_huawei.go @@ -60,7 +60,7 @@ func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) { Labels: map[string]string{"name": "test_api"}, }, Spec: corev1.PodSpec{ - ProviderId: 1, + ProviderId: 3, //ali:cn-hangzhou tc:ap-guangzhou hw: cn-east-3 RegionId: "ap-guangzhou", RestartPolicy: corev1.RestartPolicyAlways, @@ -93,7 +93,7 @@ func CreatePod(client *kubernetes.Clientset) (*corev1.Pod, error) { }, nil } -// UpdatePod 删除Pod +// UpdatePod 更新Pod func UpdatePod(client *kubernetes.Clientset) error { pod := corev1.Pod{ TypeMeta: metav1.TypeMeta{