Consistent Yaml convention througout play kube tests

Signed-off-by: Aditya Kamath <theunrealgeek@gmail.com>
This commit is contained in:
theunrealgeek
2020-06-02 20:49:12 -07:00
parent 5330ce9876
commit 10ebb74d6f

View File

@ -3,6 +3,7 @@
package integration package integration
import ( import (
"bytes"
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"os" "os"
@ -14,7 +15,7 @@ import (
. "github.com/onsi/gomega" . "github.com/onsi/gomega"
) )
var unknownKindYAML = ` var unknownKindYaml = `
apiVerson: v1 apiVerson: v1
kind: UnknownKind kind: UnknownKind
metadata: metadata:
@ -25,7 +26,7 @@ spec:
hostname: unknown hostname: unknown
` `
var yamlTemplate = ` var podYamlTemplate = `
apiVersion: v1 apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
@ -88,7 +89,7 @@ spec:
status: {} status: {}
` `
var deploymentYAMLTemplate = ` var deploymentYamlTemplate = `
apiVersion: v1 apiVersion: v1
kind: Deployment kind: Deployment
metadata: metadata:
@ -176,7 +177,7 @@ var (
seccompPwdEPERM = []byte(`{"defaultAction":"SCMP_ACT_ALLOW","syscalls":[{"name":"getcwd","action":"SCMP_ACT_ERRNO"}]}`) seccompPwdEPERM = []byte(`{"defaultAction":"SCMP_ACT_ALLOW","syscalls":[{"name":"getcwd","action":"SCMP_ACT_ERRNO"}]}`)
) )
func writeYAML(content string, fileName string) error { func writeYaml(content string, fileName string) error {
f, err := os.Create(fileName) f, err := os.Create(fileName)
if err != nil { if err != nil {
return err return err
@ -191,42 +192,34 @@ func writeYAML(content string, fileName string) error {
return nil return nil
} }
func generateKubeYaml(pod *Pod, fileName string) error { func generatePodKubeYaml(pod *Pod, fileName string) error {
f, err := os.Create(fileName) templateBytes := &bytes.Buffer{}
if err != nil {
return err
}
defer f.Close()
t, err := template.New("pod").Parse(yamlTemplate) t, err := template.New("pod").Parse(podYamlTemplate)
if err != nil { if err != nil {
return err return err
} }
if err := t.Execute(f, pod); err != nil { if err := t.Execute(templateBytes, pod); err != nil {
return err return err
} }
return nil return writeYaml(templateBytes.String(), fileName)
} }
func generateDeploymentKubeYaml(deployment *Deployment, fileName string) error { func generateDeploymentKubeYaml(deployment *Deployment, fileName string) error {
f, err := os.Create(fileName) templateBytes := &bytes.Buffer{}
if err != nil {
return err
}
defer f.Close()
t, err := template.New("deployment").Parse(deploymentYAMLTemplate) t, err := template.New("deployment").Parse(deploymentYamlTemplate)
if err != nil { if err != nil {
return err return err
} }
if err := t.Execute(f, deployment); err != nil { if err := t.Execute(templateBytes, deployment); err != nil {
return err return err
} }
return nil return writeYaml(templateBytes.String(), fileName)
} }
// Pod describes the options a kube yaml can be configured at pod level // Pod describes the options a kube yaml can be configured at pod level
@ -417,7 +410,7 @@ var _ = Describe("Podman generate kube", func() {
}) })
It("podman play kube fail with yaml of unsupported kind", func() { It("podman play kube fail with yaml of unsupported kind", func() {
err := writeYAML(unknownKindYAML, kubeYaml) err := writeYaml(unknownKindYaml, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -427,7 +420,7 @@ var _ = Describe("Podman generate kube", func() {
}) })
It("podman play kube fail with nonexist authfile", func() { It("podman play kube fail with nonexist authfile", func() {
err := generateKubeYaml(getPod(), kubeYaml) err := generatePodKubeYaml(getPod(), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", "--authfile", "/tmp/nonexist", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", "--authfile", "/tmp/nonexist", kubeYaml})
@ -438,7 +431,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube test correct command", func() { It("podman play kube test correct command", func() {
pod := getPod() pod := getPod()
err := generateKubeYaml(pod, kubeYaml) err := generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -454,7 +447,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube test correct output", func() { It("podman play kube test correct output", func() {
p := getPod(withCtr(getCtr(withCmd([]string{"echo", "hello"})))) p := getPod(withCtr(getCtr(withCmd([]string{"echo", "hello"}))))
err := generateKubeYaml(p, kubeYaml) err := generatePodKubeYaml(p, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -474,7 +467,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube test hostname", func() { It("podman play kube test hostname", func() {
pod := getPod() pod := getPod()
err := generateKubeYaml(pod, kubeYaml) err := generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -490,7 +483,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube test with customized hostname", func() { It("podman play kube test with customized hostname", func() {
hostname := "myhostname" hostname := "myhostname"
pod := getPod(withHostname(hostname)) pod := getPod(withHostname(hostname))
err := generateKubeYaml(getPod(withHostname(hostname)), kubeYaml) err := generatePodKubeYaml(getPod(withHostname(hostname)), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -508,7 +501,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := getCtr(withCapAdd([]string{capAdd}), withCmd([]string{"cat", "/proc/self/status"})) ctr := getCtr(withCapAdd([]string{capAdd}), withCmd([]string{"cat", "/proc/self/status"}))
pod := getPod(withCtr(ctr)) pod := getPod(withCtr(ctr))
err := generateKubeYaml(pod, kubeYaml) err := generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -526,7 +519,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := getCtr(withCapDrop([]string{capDrop})) ctr := getCtr(withCapDrop([]string{capDrop}))
pod := getPod(withCtr(ctr)) pod := getPod(withCtr(ctr))
err := generateKubeYaml(pod, kubeYaml) err := generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -542,7 +535,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube no security context", func() { It("podman play kube no security context", func() {
// expect play kube to not fail if no security context is specified // expect play kube to not fail if no security context is specified
pod := getPod(withCtr(getCtr(withSecurityContext(false)))) pod := getPod(withCtr(getCtr(withSecurityContext(false))))
err := generateKubeYaml(pod, kubeYaml) err := generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -566,7 +559,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := getCtr(withCmd([]string{"pwd"})) ctr := getCtr(withCmd([]string{"pwd"}))
pod := getPod(withCtr(ctr), withAnnotation(ctrAnnotation, "localhost/"+filepath.Base(jsonFile))) pod := getPod(withCtr(ctr), withAnnotation(ctrAnnotation, "localhost/"+filepath.Base(jsonFile)))
err = generateKubeYaml(pod, kubeYaml) err = generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
// CreateSeccompJson will put the profile into podmanTest.TempDir. Use --seccomp-profile-root to tell play kube where to look // CreateSeccompJson will put the profile into podmanTest.TempDir. Use --seccomp-profile-root to tell play kube where to look
@ -592,7 +585,7 @@ var _ = Describe("Podman generate kube", func() {
ctr := getCtr(withCmd([]string{"pwd"})) ctr := getCtr(withCmd([]string{"pwd"}))
pod := getPod(withCtr(ctr), withAnnotation("seccomp.security.alpha.kubernetes.io/pod", "localhost/"+filepath.Base(jsonFile))) pod := getPod(withCtr(ctr), withAnnotation("seccomp.security.alpha.kubernetes.io/pod", "localhost/"+filepath.Base(jsonFile)))
err = generateKubeYaml(pod, kubeYaml) err = generatePodKubeYaml(pod, kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
// CreateSeccompJson will put the profile into podmanTest.TempDir. Use --seccomp-profile-root to tell play kube where to look // CreateSeccompJson will put the profile into podmanTest.TempDir. Use --seccomp-profile-root to tell play kube where to look
@ -608,7 +601,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube with pull policy of never should be 125", func() { It("podman play kube with pull policy of never should be 125", func() {
ctr := getCtr(withPullPolicy("never"), withImage(BB_GLIBC)) ctr := getCtr(withPullPolicy("never"), withImage(BB_GLIBC))
err := generateKubeYaml(getPod(withCtr(ctr)), kubeYaml) err := generatePodKubeYaml(getPod(withCtr(ctr)), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -618,7 +611,7 @@ var _ = Describe("Podman generate kube", func() {
It("podman play kube with pull policy of missing", func() { It("podman play kube with pull policy of missing", func() {
ctr := getCtr(withPullPolicy("missing"), withImage(BB)) ctr := getCtr(withPullPolicy("missing"), withImage(BB))
err := generateKubeYaml(getPod(withCtr(ctr)), kubeYaml) err := generatePodKubeYaml(getPod(withCtr(ctr)), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -644,7 +637,7 @@ var _ = Describe("Podman generate kube", func() {
oldBBinspect := inspect.InspectImageJSON() oldBBinspect := inspect.InspectImageJSON()
ctr := getCtr(withPullPolicy("always"), withImage(BB)) ctr := getCtr(withPullPolicy("always"), withImage(BB))
err := generateKubeYaml(getPod(withCtr(ctr)), kubeYaml) err := generatePodKubeYaml(getPod(withCtr(ctr)), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})
@ -675,7 +668,7 @@ var _ = Describe("Podman generate kube", func() {
oldBBinspect := inspect.InspectImageJSON() oldBBinspect := inspect.InspectImageJSON()
ctr := getCtr(withImage(BB)) ctr := getCtr(withImage(BB))
err := generateKubeYaml(getPod(withCtr(ctr)), kubeYaml) err := generatePodKubeYaml(getPod(withCtr(ctr)), kubeYaml)
Expect(err).To(BeNil()) Expect(err).To(BeNil())
kube := podmanTest.Podman([]string{"play", "kube", kubeYaml}) kube := podmanTest.Podman([]string{"play", "kube", kubeYaml})