Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Attempt to turn on some more remote tests #7845

Merged
merged 1 commit into from
Oct 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions cmd/podman/common/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,12 @@ func GetCreateFlags(cf *ContainerCLIOpts) *pflag.FlagSet {
"env", "e", containerConfig.Env(),
"Set environment variables in container",
)
createFlags.BoolVar(
&cf.EnvHost,
"env-host", false, "Use all current host environment variables in container",
)
if !registry.IsRemote() {
createFlags.BoolVar(
&cf.EnvHost,
"env-host", false, "Use all current host environment variables in container",
)
}
createFlags.StringSliceVar(
&cf.EnvFile,
"env-file", []string{},
Expand Down
1 change: 0 additions & 1 deletion cmd/podman/containers/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,6 @@ func createFlags(flags *pflag.FlagSet) {
_ = flags.MarkHidden("signature-policy")
if registry.IsRemote() {
_ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("env-host")
_ = flags.MarkHidden("http-proxy")
}
}
Expand Down
1 change: 0 additions & 1 deletion cmd/podman/containers/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ func runFlags(flags *pflag.FlagSet) {
_ = flags.MarkHidden("signature-policy")
if registry.IsRemote() {
_ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("env-host")
_ = flags.MarkHidden("http-proxy")
_ = flags.MarkHidden("preserve-fds")
}
Expand Down
5 changes: 0 additions & 5 deletions cmd/podman/images/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,11 +86,6 @@ func searchFlags(flags *pflag.FlagSet) {
flags.BoolVar(&searchOptions.NoTrunc, "no-trunc", false, "Do not truncate the output")
flags.StringVar(&searchOptions.Authfile, "authfile", auth.GetDefaultAuthFile(), "Path of the authentication file. Use REGISTRY_AUTH_FILE environment variable to override")
flags.BoolVar(&searchOptions.TLSVerifyCLI, "tls-verify", true, "Require HTTPS and verify certificates when contacting registries")

if registry.IsRemote() {
_ = flags.MarkHidden("authfile")
_ = flags.MarkHidden("tls-verify")
}
}

// imageSearch implements the command for searching images.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/markdown/podman-search.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Note, searching without a search term will only work for registries that impleme

**--authfile**=*path*

Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json (Not available for remote commands)
Path of the authentication file. Default is ${XDG\_RUNTIME\_DIR}/containers/auth.json

Note: You can also override the default path of the authentication file by setting the REGISTRY\_AUTH\_FILE
environment variable. `export REGISTRY_AUTH_FILE=path`
Expand Down Expand Up @@ -74,7 +74,7 @@ Do not truncate the output
Require HTTPS and verify certificates when contacting registries (default: true). If explicitly set to true,
then TLS verification will be used. If set to false, then TLS verification will not be used if needed. If not specified,
default registries will be searched through (in /etc/containers/registries.conf), and TLS will be skipped if a default
registry is listed in the insecure registries. (Not available for remote commands)
registry is listed in the insecure registries.

**--help**, **-h**

Expand Down
9 changes: 6 additions & 3 deletions test/e2e/build_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@ var _ = Describe("Podman build", func() {
// Check that builds with different values for the squash options
// create the appropriate number of layers, then clean up after.
It("podman build basic alpine with squash", func() {
SkipIfRemote("FIXME: This is broken should be fixed")
session := podmanTest.PodmanNoCache([]string{"build", "-f", "build/squash/Dockerfile.squash-a", "-t", "test-squash-a:latest", "build/squash"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expand Down Expand Up @@ -221,16 +220,20 @@ var _ = Describe("Podman build", func() {
})

It("podman build --http_proxy flag", func() {
SkipIfRemote("FIXME: This is broken should be fixed")
SkipIfRemote("FIXME: This is broken should be fixed") // This is hanging currently.
os.Setenv("http_proxy", "1.2.3.4")
if IsRemote() {
podmanTest.StopRemoteService()
podmanTest.StartRemoteService()
}
podmanTest.RestoreAllArtifacts()
dockerfile := `FROM docker.io/library/alpine:latest
RUN printenv http_proxy`

dockerfilePath := filepath.Join(podmanTest.TempDir, "Dockerfile")
err := ioutil.WriteFile(dockerfilePath, []byte(dockerfile), 0755)
Expect(err).To(BeNil())
session := podmanTest.PodmanNoCache([]string{"build", "--file", dockerfilePath, podmanTest.TempDir})
session := podmanTest.PodmanNoCache([]string{"build", "--http-proxy", "--file", dockerfilePath, podmanTest.TempDir})
session.Wait(120)
Expect(session.ExitCode()).To(Equal(0))
ok, _ := session.GrepString("1.2.3.4")
Expand Down
2 changes: 0 additions & 2 deletions test/e2e/exec_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -284,8 +284,6 @@ var _ = Describe("Podman exec", func() {
})

It("podman exec preserves container groups with --user and --group-add", func() {
SkipIfRemote("FIXME: This is broken SECCOMP Failues?")

dockerfile := `FROM registry.fedoraproject.org/fedora-minimal
RUN groupadd -g 4000 first
RUN groupadd -g 4001 second
Expand Down
5 changes: 2 additions & 3 deletions test/e2e/images_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,6 @@ var _ = Describe("Podman images", func() {
})

It("podman images filter before image", func() {
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM docker.io/library/alpine:latest
RUN apk update && apk add strace
`
Expand Down Expand Up @@ -340,7 +339,7 @@ WORKDIR /test
})

It("podman images --all flag", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
podmanTest.RestoreAllArtifacts()
dockerfile := `FROM docker.io/library/alpine:latest
RUN mkdir hello
Expand Down Expand Up @@ -372,7 +371,7 @@ LABEL "com.example.vendor"="Example Vendor"
})

It("podman with images with no layers", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")
dockerfile := strings.Join([]string{
`FROM scratch`,
`LABEL org.opencontainers.image.authors="<somefolks@example.org>"`,
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/load_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ var _ = Describe("Podman load", func() {
})

It("podman load localhost registry from dir", func() {
SkipIfRemote("FIXME: podman-remote load is currently broken.")
SkipIfRemote("podman-remote does not support loading directories")
outfile := filepath.Join(podmanTest.TempDir, "load")

setup := podmanTest.PodmanNoCache([]string{"tag", BB, "hello:world"})
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/logs_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ var _ = Describe("Podman logs", func() {
})

It("two containers showing short container IDs", func() {
SkipIfRemote("FIXME: remote does not support multiple containers")
SkipIfRemote("FIXME: podman-remote logs does not support showing two containers at the same time")
log1 := podmanTest.Podman([]string{"run", "-dt", ALPINE, "sh", "-c", "echo podman; echo podman; echo podman"})
log1.WaitWithDefaultTimeout()
Expect(log1.ExitCode()).To(Equal(0))
Expand Down
7 changes: 6 additions & 1 deletion test/e2e/namespace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,14 @@ var _ = Describe("Podman namespaces", func() {
})

It("podman namespace test", func() {
SkipIfRemote("FIXME This should work on Remote")
podman1 := podmanTest.Podman([]string{"--namespace", "test1", "run", "-d", ALPINE, "echo", "hello"})
podman1.WaitWithDefaultTimeout()
if IsRemote() {
// --namespace flag not supported in podman remote
Expect(podman1.ExitCode()).To(Equal(125))
Expect(podman1.ErrorToString()).To(ContainSubstring("unknown flag: --namespace"))
return
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Silly question, but why not move the if IsRemote() down a couple of lines, and avoid duplicating the command & wait?

    podman1.WaitWithDefaultTimeout()
    if IsRemote() {
        Expect(125) // and message
    } else {
        Expect(0)  // and message
    }

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

Expect(podman1.ExitCode()).To(Equal(0))

podman2 := podmanTest.Podman([]string{"--namespace", "test2", "ps", "-aq"})
Expand Down
1 change: 0 additions & 1 deletion test/e2e/network_create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ var _ = Describe("Podman network create", func() {
})

It("podman network create with name and subnet", func() {
SkipIfRemote("FIXME, this should work on --remote")
var (
results []network.NcList
)
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/play_kube_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -793,7 +793,7 @@ var _ = Describe("Podman generate kube", func() {
})

It("podman play kube seccomp container level", func() {
SkipIfRemote("FIXME This is broken")
SkipIfRemote("podman-remote does not support --seccomp-profile-root flag")
// expect play kube is expected to set a seccomp label if it's applied as an annotation
jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM)
if err != nil {
Expand All @@ -820,7 +820,7 @@ var _ = Describe("Podman generate kube", func() {
})

It("podman play kube seccomp pod level", func() {
SkipIfRemote("FIXME: This should work with --remote")
SkipIfRemote("podman-remote does not support --seccomp-profile-root flag")
// expect play kube is expected to set a seccomp label if it's applied as an annotation
jsonFile, err := podmanTest.CreateSeccompJson(seccompPwdEPERM)
if err != nil {
Expand Down
1 change: 0 additions & 1 deletion test/e2e/pod_infra_container_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -377,7 +377,6 @@ var _ = Describe("Podman pod create", func() {
})

It("podman run --add-host in pod", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"pod", "create"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expand Down
1 change: 0 additions & 1 deletion test/e2e/pod_pod_namespaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ var _ = Describe("Podman pod create", func() {
})

It("podman pod container dontshare PIDNS", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"pod", "create"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expand Down
5 changes: 2 additions & 3 deletions test/e2e/prune_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ var _ = Describe("Podman prune", func() {
})

It("podman image prune skip cache images", func() {
SkipIfRemote("FIXME should work on podman --remote")
SkipIfRemote("FIXME: podman-remote build is not working the same as local build")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")

none := podmanTest.Podman([]string{"images", "-a"})
Expand All @@ -110,7 +110,7 @@ var _ = Describe("Podman prune", func() {
})

It("podman image prune dangling images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("FIXME: podman-remote build is not working the same as local build")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")

Expand Down Expand Up @@ -147,7 +147,6 @@ var _ = Describe("Podman prune", func() {
})

It("podman system image prune unused images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
podmanTest.RestoreAllArtifacts()
podmanTest.BuildImage(pruneImage, "alpine_bash:latest", "true")
prune := podmanTest.PodmanNoCache([]string{"system", "prune", "-a", "--force"})
Expand Down
12 changes: 8 additions & 4 deletions test/e2e/pull_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,8 @@ var _ = Describe("Podman pull", func() {
})

It("podman pull from docker-archive", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("podman-remote does not support pulling from docker-archive")

podmanTest.RestoreArtifact(ALPINE)
tarfn := filepath.Join(podmanTest.TempDir, "alp.tar")
session := podmanTest.PodmanNoCache([]string{"save", "-o", tarfn, "alpine"})
Expand Down Expand Up @@ -296,7 +297,8 @@ var _ = Describe("Podman pull", func() {
})

It("podman pull from oci-archive", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("podman-remote does not support pulling from oci-archive")

podmanTest.RestoreArtifact(ALPINE)
tarfn := filepath.Join(podmanTest.TempDir, "oci-alp.tar")
session := podmanTest.PodmanNoCache([]string{"save", "--format", "oci-archive", "-o", tarfn, "alpine"})
Expand All @@ -315,7 +317,8 @@ var _ = Describe("Podman pull", func() {
})

It("podman pull from local directory", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("podman-remote does not support pulling from local directory")

podmanTest.RestoreArtifact(ALPINE)
dirpath := filepath.Join(podmanTest.TempDir, "alpine")
os.MkdirAll(dirpath, os.ModePerm)
Expand All @@ -340,7 +343,8 @@ var _ = Describe("Podman pull", func() {
})

It("podman pull from local OCI directory", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("podman-remote does not support pulling from OCI directory")

podmanTest.RestoreArtifact(ALPINE)
dirpath := filepath.Join(podmanTest.TempDir, "alpine")
os.MkdirAll(dirpath, os.ModePerm)
Expand Down
4 changes: 2 additions & 2 deletions test/e2e/rmi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,8 @@ var _ = Describe("Podman rmi", func() {
})

It("podman rmi with cached images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("FIXME This should work on podman-remote, problem is with podman-remote build")

session := podmanTest.PodmanNoCache([]string{"rmi", "-fa"})
session.WaitWithDefaultTimeout()
Expect(session).Should(Exit(0))
Expand Down Expand Up @@ -255,7 +256,6 @@ var _ = Describe("Podman rmi", func() {
})

It("podman rmi -a with parent|child images", func() {
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM docker.io/library/alpine:latest AS base
RUN touch /1
ENV LOCAL=/1
Expand Down
2 changes: 1 addition & 1 deletion test/e2e/run_entrypoint_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
})

It("podman run user entrypoint overrides image entrypoint and image cmd", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("FIXME: podman-remote not handling passing --entrypoint=\"\" flag correctly")
dockerfile := `FROM docker.io/library/alpine:latest
CMD ["-i"]
ENTRYPOINT ["grep", "Alpine", "/etc/os-release"]
Expand Down
13 changes: 10 additions & 3 deletions test/e2e/run_env_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,11 +90,15 @@ var _ = Describe("Podman run", func() {
})

It("podman run --env-host environment test", func() {
SkipIfRemote("FIXME, We should check that --env-host reports correct error on podman-remote")
env := append(os.Environ(), "FOO=BAR")
session := podmanTest.PodmanAsUser([]string{"run", "--rm", "--env-host", ALPINE, "/bin/printenv", "FOO"}, 0, 0, "", env)

session.WaitWithDefaultTimeout()
if IsRemote() {
// podman-remote does not support --env-host
Expect(session.ExitCode()).To(Equal(125))
Expect(session.ErrorToString()).To(ContainSubstring("unknown flag: --env-host"))
return
}
Expect(session.ExitCode()).To(Equal(0))
match, _ := session.GrepString("BAR")
Expect(match).Should(BeTrue())
Expand All @@ -108,8 +112,11 @@ var _ = Describe("Podman run", func() {
})

It("podman run --http-proxy test", func() {
SkipIfRemote("FIXME: Should report proper error when http-proxy is not supported")
os.Setenv("http_proxy", "1.2.3.4")
if IsRemote() {
podmanTest.StopRemoteService()
podmanTest.StartRemoteService()
}
session := podmanTest.Podman([]string{"run", "--rm", ALPINE, "printenv", "http_proxy"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expand Down
5 changes: 4 additions & 1 deletion test/e2e/run_restart_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,14 @@ var _ = Describe("Podman run restart containers", func() {
})

It("Podman start after successful run", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"run", "--name", "test", ALPINE, "ls"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))

session = podmanTest.Podman([]string{"wait", "test"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))

session2 := podmanTest.Podman([]string{"start", "--attach", "test"})
session2.WaitWithDefaultTimeout()
Expect(session2.ExitCode()).To(Equal(0))
Expand Down
10 changes: 3 additions & 7 deletions test/e2e/run_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,6 @@ var _ = Describe("Podman run", func() {
podmanTest.Cleanup()
f := CurrentGinkgoTestDescription()
processTestResult(f)

})

It("podman run a container based on local image", func() {
Expand Down Expand Up @@ -321,7 +320,6 @@ var _ = Describe("Podman run", func() {
It("podman run user capabilities test with image", func() {
// We need to ignore the containers.conf on the test distribution for this test
os.Setenv("CONTAINERS_CONF", "/dev/null")
SkipIfRemote("FIXME This should work on podman-remote")
dockerfile := `FROM busybox
USER bin`
podmanTest.BuildImage(dockerfile, "test", "false")
Expand Down Expand Up @@ -565,7 +563,7 @@ USER bin`
})

It("podman run with secrets", func() {
SkipIfRemote("FIXME This should work on podman-remote")
SkipIfRemote("--default-mount-file option is not supported in podman-remote")
containersDir := filepath.Join(podmanTest.TempDir, "containers")
err := os.MkdirAll(containersDir, 0755)
Expect(err).To(BeNil())
Expand Down Expand Up @@ -725,7 +723,6 @@ USER bin`
})

It("podman run with built-in volume image", func() {
SkipIfRemote("FIXME This should work on podman-remote")
session := podmanTest.Podman([]string{"run", "--rm", redis, "ls"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
Expand Down Expand Up @@ -1041,7 +1038,6 @@ USER mail`
})

It("podman run with restart-policy always restarts containers", func() {
SkipIfRemote("FIXME This should work on podman-remote")
testDir := filepath.Join(podmanTest.RunRoot, "restart-test")
err := os.MkdirAll(testDir, 0755)
Expect(err).To(BeNil())
Expand All @@ -1051,11 +1047,11 @@ USER mail`
Expect(err).To(BeNil())
file.Close()

session := podmanTest.Podman([]string{"run", "-dt", "--restart", "always", "-v", fmt.Sprintf("%s:/tmp/runroot:Z", testDir), fedoraMinimal, "bash", "-c", "date +%N > /tmp/runroot/ran && while test -r /tmp/runroot/running; do sleep 0.1s; done"})
session := podmanTest.Podman([]string{"run", "-dt", "--restart", "always", "-v", fmt.Sprintf("%s:/tmp/runroot:Z", testDir), ALPINE, "sh", "-c", "date +%N > /tmp/runroot/ran && while test -r /tmp/runroot/running; do sleep 0.1s; done"})

found := false
testFile := filepath.Join(testDir, "ran")
for i := 0; i < 10; i++ {
for i := 0; i < 30; i++ {
time.Sleep(1 * time.Second)
if _, err := os.Stat(testFile); err == nil {
found = true
Expand Down
Loading