Merge pull request #16980 from vrothberg/fix-kube

kube play: fix the error logic with --quiet
This commit is contained in:
OpenShift Merge Robot
2023-01-03 14:04:04 -05:00
committed by GitHub
2 changed files with 47 additions and 9 deletions

View File

@ -344,10 +344,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
fmt.Println("Pods stopped:") fmt.Println("Pods stopped:")
} }
for _, stopped := range reports.StopReport { for _, stopped := range reports.StopReport {
if len(stopped.Errs) == 0 && !quiet { switch {
fmt.Println(stopped.Id) case len(stopped.Errs) > 0:
} else {
podStopErrors = append(podStopErrors, stopped.Errs...) podStopErrors = append(podStopErrors, stopped.Errs...)
case quiet:
default:
fmt.Println(stopped.Id)
} }
} }
// Dump any stop errors // Dump any stop errors
@ -361,10 +363,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
fmt.Println("Pods removed:") fmt.Println("Pods removed:")
} }
for _, removed := range reports.RmReport { for _, removed := range reports.RmReport {
if removed.Err == nil && !quiet { switch {
fmt.Println(removed.Id) case removed.Err != nil:
} else {
podRmErrors = append(podRmErrors, removed.Err) podRmErrors = append(podRmErrors, removed.Err)
case quiet:
default:
fmt.Println(removed.Id)
} }
} }
@ -378,10 +382,12 @@ func teardown(body io.Reader, options entities.PlayKubeDownOptions, quiet bool)
fmt.Println("Volumes removed:") fmt.Println("Volumes removed:")
} }
for _, removed := range reports.VolumeRmReport { for _, removed := range reports.VolumeRmReport {
if removed.Err == nil && !quiet { switch {
fmt.Println(removed.Id) case removed.Err != nil:
} else {
volRmErrors = append(volRmErrors, removed.Err) volRmErrors = append(volRmErrors, removed.Err)
case quiet:
default:
fmt.Println(removed.Id)
} }
} }

View File

@ -4519,6 +4519,38 @@ cgroups="disabled"`), 0644)
Expect(kube).Should(Exit(0)) Expect(kube).Should(Exit(0))
}) })
It("podman kube --quiet with error", func() {
yaml := `
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
spec:
replicas: 2
template:
metadata:
labels:
app: guestbook
tier: frontend
spec:
containers:
- name: php-redis
image: quay.io/libpod/alpine_nginx:latest
ports:
- containerPort: 1234
`
err = writeYaml(yaml, kubeYaml)
Expect(err).ToNot(HaveOccurred())
kube := podmanTest.Podman([]string{"kube", "play", "--quiet", kubeYaml})
kube.WaitWithDefaultTimeout()
Expect(kube).To(ExitWithError())
// The ugly format-error exited once in Podman. The test makes
// sure it's not coming back.
Expect(kube.ErrorToString()).To(Not(ContainSubstring("Error: %!s(<nil>)")))
})
It("podman kube play invalid yaml should clean up pod that was created before failure", func() { It("podman kube play invalid yaml should clean up pod that was created before failure", func() {
podTemplate := `--- podTemplate := `---
apiVersion: v1 apiVersion: v1