fix: change the port ID definition in kubernetes.go file (#1515)

This commit is contained in:
AhmedGrati 2022-08-16 11:57:43 +00:00 committed by GitHub
parent 1b040dd299
commit 6512dd3dd4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 4 additions and 12 deletions

View File

@ -18,6 +18,7 @@ package kobject
import ( import (
"path/filepath" "path/filepath"
"strconv"
"time" "time"
dockerCliTypes "github.com/docker/cli/cli/compose/types" dockerCliTypes "github.com/docker/cli/cli/compose/types"
@ -196,7 +197,7 @@ type Ports struct {
// ID returns an unique id for this port settings, to avoid conflict // ID returns an unique id for this port settings, to avoid conflict
func (port *Ports) ID() string { func (port *Ports) ID() string {
return string(port.ContainerPort) + port.Protocol return strconv.Itoa(int(port.ContainerPort)) + port.Protocol
} }
// Volumes holds the volume struct of container // Volumes holds the volume struct of container

View File

@ -90,7 +90,6 @@ func parseV1V2(files []string) (kobject.KomposeObject, error) {
func loadPorts(composePorts []string, expose []string) ([]kobject.Ports, error) { func loadPorts(composePorts []string, expose []string) ([]kobject.Ports, error) {
kp := []kobject.Ports{} kp := []kobject.Ports{}
exist := map[string]bool{} exist := map[string]bool{}
for _, cp := range composePorts { for _, cp := range composePorts {
var hostIP string var hostIP string

View File

@ -222,7 +222,6 @@ func loadV3Volumes(volumes []types.ServiceVolumeConfig) []string {
// expose ports will be treated as TCP ports // expose ports will be treated as TCP ports
func loadV3Ports(ports []types.ServicePortConfig, expose []string) []kobject.Ports { func loadV3Ports(ports []types.ServicePortConfig, expose []string) []kobject.Ports {
komposePorts := []kobject.Ports{} komposePorts := []kobject.Ports{}
exist := map[string]bool{} exist := map[string]bool{}
for _, port := range ports { for _, port := range ports {
@ -235,7 +234,6 @@ func loadV3Ports(ports []types.ServicePortConfig, expose []string) []kobject.Por
HostIP: "", HostIP: "",
Protocol: strings.ToUpper(port.Protocol), Protocol: strings.ToUpper(port.Protocol),
}) })
exist[cast.ToString(port.Target)+port.Protocol] = true exist[cast.ToString(port.Target)+port.Protocol] = true
} }

View File

@ -513,7 +513,6 @@ func (k *Kubernetes) UpdateKubernetesObjects(name string, service kobject.Servic
// Configure the container ports. // Configure the container ports.
ports := ConfigPorts(service) ports := ConfigPorts(service)
// Configure capabilities // Configure capabilities
capabilities := ConfigCapabilities(service) capabilities := ConfigCapabilities(service)

View File

@ -1436,7 +1436,6 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
objects = append(objects, c) objects = append(objects, c)
} }
} }
podSpec.Append( podSpec.Append(
SetPorts(service), SetPorts(service),
ImagePullPolicy(name, service), ImagePullPolicy(name, service),
@ -1492,17 +1491,14 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
} else { } else {
objects = k.CreateWorkloadAndConfigMapObjects(name, service, opt) objects = k.CreateWorkloadAndConfigMapObjects(name, service, opt)
} }
if opt.Controller == StatefulStateController { if opt.Controller == StatefulStateController {
service.ServiceType = "Headless" service.ServiceType = "Headless"
} }
k.configKubeServiceAndIngressForService(service, name, &objects) k.configKubeServiceAndIngressForService(service, name, &objects)
err := k.UpdateKubernetesObjects(name, service, opt, &objects) err := k.UpdateKubernetesObjects(name, service, opt, &objects)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "Error transforming Kubernetes objects") return nil, errors.Wrap(err, "Error transforming Kubernetes objects")
} }
if err := k.configNetworkPolicyForService(service, name, &objects); err != nil { if err := k.configNetworkPolicyForService(service, name, &objects); err != nil {
return nil, err return nil, err
} }
@ -1513,7 +1509,6 @@ func (k *Kubernetes) Transform(komposeObject kobject.KomposeObject, opt kobject.
k.SortServicesFirst(&allobjects) k.SortServicesFirst(&allobjects)
k.RemoveDupObjects(&allobjects) k.RemoveDupObjects(&allobjects)
// k.FixWorkloadVersion(&allobjects) // k.FixWorkloadVersion(&allobjects)
return allobjects, nil return allobjects, nil
} }

View File

@ -44,7 +44,7 @@ func newServiceConfig() kobject.ServiceConfig {
ContainerName: "name", ContainerName: "name",
Image: "image", Image: "image",
Environment: []kobject.EnvVar{kobject.EnvVar{Name: "env", Value: "value"}}, Environment: []kobject.EnvVar{kobject.EnvVar{Name: "env", Value: "value"}},
Port: []kobject.Ports{kobject.Ports{HostPort: 123, ContainerPort: 456}, kobject.Ports{HostPort: 123, ContainerPort: 456, Protocol: string(api.ProtocolUDP)}}, Port: []kobject.Ports{kobject.Ports{HostPort: 123, ContainerPort: 456}, kobject.Ports{HostPort: 123, ContainerPort: 456, Protocol: string(api.ProtocolUDP)}, kobject.Ports{HostPort: 55564, ContainerPort: 55564}, kobject.Ports{HostPort: 55563, ContainerPort: 55563}},
Command: []string{"cmd"}, Command: []string{"cmd"},
WorkingDir: "dir", WorkingDir: "dir",
Args: []string{"arg1", "arg2"}, Args: []string{"arg1", "arg2"},
@ -119,6 +119,7 @@ func equalPorts(kobjectPorts []kobject.Ports, k8sPorts []api.ContainerPort) bool
return false return false
} }
for _, port := range kobjectPorts { for _, port := range kobjectPorts {
fmt.Println(port)
found := false found := false
for _, k8sPort := range k8sPorts { for _, k8sPort := range k8sPorts {
// FIXME: HostPort should be copied to container port // FIXME: HostPort should be copied to container port

View File

@ -210,7 +210,6 @@ func SetPorts(service kobject.ServiceConfig) PodSpecOption {
return func(podSpec *PodSpec) { return func(podSpec *PodSpec) {
// Configure the container ports. // Configure the container ports.
ports := ConfigPorts(service) ports := ConfigPorts(service)
for i := range podSpec.Containers { for i := range podSpec.Containers {
if GetContainerName(service) == podSpec.Containers[i].Name { if GetContainerName(service) == podSpec.Containers[i].Name {
podSpec.Containers[i].Ports = ports podSpec.Containers[i].Ports = ports