Remove ReservedAnnotations from kube generate specification

Reserved annotations are used internally by Podman and would effect
nothing when run with Kubernetes so we should not be generating these
annotations.

Fixes: https://github.com/containers/podman/issues/17105

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
Daniel J Walsh
2023-01-17 13:55:24 -05:00
parent 281ccbf5ee
commit ef3f098796
9 changed files with 28 additions and 29 deletions

View File

@@ -18,7 +18,7 @@ import (
. "github.com/onsi/gomega/gexec"
)
var _ = Describe("Podman generate kube", func() {
var _ = Describe("Podman kube generate", func() {
var (
tempdir string
err error
@@ -41,19 +41,19 @@ var _ = Describe("Podman generate kube", func() {
})
It("podman generate pod kube on bogus object", func() {
It("podman kube generate pod on bogus object", func() {
session := podmanTest.Podman([]string{"generate", "kube", "foobar"})
session.WaitWithDefaultTimeout()
Expect(session).To(ExitWithError())
})
It("podman generate service kube on bogus object", func() {
session := podmanTest.Podman([]string{"generate", "kube", "-s", "foobar"})
It("podman kube generate service on bogus object", func() {
session := podmanTest.Podman([]string{"kube", "generate", "-s", "foobar"})
session.WaitWithDefaultTimeout()
Expect(session).To(ExitWithError())
})
It("podman generate kube on container", func() {
It("podman kube generate on container", func() {
session := podmanTest.RunTopContainer("top")
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
@@ -72,6 +72,7 @@ var _ = Describe("Podman generate kube", func() {
Expect(pod.Spec.Containers[0].SecurityContext).To(BeNil())
Expect(pod.Spec.Containers[0].Env).To(BeNil())
Expect(pod).To(HaveField("Name", "top-pod"))
Expect(pod.Annotations).To(HaveLen(0))
numContainers := 0
for range pod.Spec.Containers {
@@ -80,7 +81,7 @@ var _ = Describe("Podman generate kube", func() {
Expect(numContainers).To(Equal(1))
})
It("podman generate service kube on container with --security-opt level", func() {
It("podman kube generate service on container with --security-opt level", func() {
session := podmanTest.Podman([]string{"create", "--name", "test", "--security-opt", "label=level:s0:c100,c200", "alpine"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
@@ -166,6 +167,7 @@ var _ = Describe("Podman generate kube", func() {
err := yaml.Unmarshal(kube.Out.Contents(), pod)
Expect(err).ToNot(HaveOccurred())
Expect(pod.Spec).To(HaveField("HostNetwork", false))
Expect(pod.Annotations).To(HaveLen(0))
numContainers := 0
for range pod.Spec.Containers {

View File

@@ -33,7 +33,7 @@ json.dump(yaml.safe_load(sys.stdin), sys.stdout)'
cname=c$(random_string 15)
run_podman container create --cap-drop fowner --cap-drop setfcap --name $cname $IMAGE top
run_podman kube generate $cname
assert "$output" !~ "Kubernetes only allows 63 characters"
# Convert yaml to json, and dump to stdout (to help in case of errors)
json=$(yaml2json <<<"$output")
jq . <<<"$json"
@@ -101,11 +101,6 @@ status | = | null
apiVersion | = | v1
kind | = | Pod
metadata.annotations.\"io.kubernetes.cri-o.ContainerType/$cname1\" | = | container
metadata.annotations.\"io.kubernetes.cri-o.ContainerType/$cname2\" | = | container
metadata.annotations.\"io.kubernetes.cri-o.SandboxID/$cname1\" | =~ | [0-9a-f]\\{56\\}
metadata.annotations.\"io.kubernetes.cri-o.SandboxID/$cname2\" | =~ | [0-9a-f]\\{56\\}
metadata.creationTimestamp | =~ | [0-9T:-]\\+Z
metadata.labels.app | = | ${pname}
metadata.name | = | ${pname}