mirror of
https://github.com/containers/podman.git
synced 2025-06-26 21:07:02 +08:00
Do not add TCP to protocol in generated kube yaml
As the default protocol in k8s is TCP, don't add it to the generate yaml when using protocol. Add UDP to the protocol of the generated yaml when udp is being used. Add tests for this as well. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
This commit is contained in:
@ -578,7 +578,8 @@ func ocicniPortMappingToContainerPort(portMappings []types.OCICNIPortMapping) ([
|
|||||||
var protocol v1.Protocol
|
var protocol v1.Protocol
|
||||||
switch strings.ToUpper(p.Protocol) {
|
switch strings.ToUpper(p.Protocol) {
|
||||||
case "TCP":
|
case "TCP":
|
||||||
protocol = v1.ProtocolTCP
|
// do nothing as it is the default protocol in k8s, there is no need to explicitly
|
||||||
|
// add it to the generated yaml
|
||||||
case "UDP":
|
case "UDP":
|
||||||
protocol = v1.ProtocolUDP
|
protocol = v1.ProtocolUDP
|
||||||
default:
|
default:
|
||||||
|
@ -451,6 +451,10 @@ var _ = Describe("Podman generate kube", func() {
|
|||||||
foundOtherPort := 0
|
foundOtherPort := 0
|
||||||
for _, ctr := range pod.Spec.Containers {
|
for _, ctr := range pod.Spec.Containers {
|
||||||
for _, port := range ctr.Ports {
|
for _, port := range ctr.Ports {
|
||||||
|
// Since we are using tcp here, the generated kube yaml shouldn't
|
||||||
|
// have anything for protocol under the ports as tcp is the default
|
||||||
|
// for k8s
|
||||||
|
Expect(port.Protocol).To(BeEmpty())
|
||||||
if port.HostPort == 4000 {
|
if port.HostPort == 4000 {
|
||||||
foundPort4000 = foundPort4000 + 1
|
foundPort4000 = foundPort4000 + 1
|
||||||
} else if port.HostPort == 5000 {
|
} else if port.HostPort == 5000 {
|
||||||
@ -463,6 +467,24 @@ var _ = Describe("Podman generate kube", func() {
|
|||||||
Expect(foundPort4000).To(Equal(1))
|
Expect(foundPort4000).To(Equal(1))
|
||||||
Expect(foundPort5000).To(Equal(1))
|
Expect(foundPort5000).To(Equal(1))
|
||||||
Expect(foundOtherPort).To(Equal(0))
|
Expect(foundOtherPort).To(Equal(0))
|
||||||
|
|
||||||
|
// Create container with UDP port and check the generated kube yaml
|
||||||
|
ctrWithUDP := podmanTest.Podman([]string{"create", "--pod", "new:test-pod", "-p", "6666:66/udp", ALPINE, "top"})
|
||||||
|
ctrWithUDP.WaitWithDefaultTimeout()
|
||||||
|
Expect(ctrWithUDP).Should(Exit(0))
|
||||||
|
|
||||||
|
kube = podmanTest.Podman([]string{"generate", "kube", "test-pod"})
|
||||||
|
kube.WaitWithDefaultTimeout()
|
||||||
|
Expect(kube).Should(Exit(0))
|
||||||
|
|
||||||
|
pod = new(v1.Pod)
|
||||||
|
err = yaml.Unmarshal(kube.Out.Contents(), pod)
|
||||||
|
Expect(err).To(BeNil())
|
||||||
|
|
||||||
|
containers := pod.Spec.Containers
|
||||||
|
Expect(len(containers)).To(Equal(1))
|
||||||
|
Expect(len(containers[0].Ports)).To(Equal(1))
|
||||||
|
Expect(containers[0].Ports[0].Protocol).To(Equal(v1.ProtocolUDP))
|
||||||
})
|
})
|
||||||
|
|
||||||
It("podman generate and reimport kube on pod", func() {
|
It("podman generate and reimport kube on pod", func() {
|
||||||
|
Reference in New Issue
Block a user