summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-09 18:40:36 -0500
committerGitHub <noreply@github.com>2021-02-09 18:40:36 -0500
commit2d829aeb1fe0dc19c45e796141ab78ff192b5dbb (patch)
treed1250fe1db1339b3f56eccf980aa74a4ec395ef2
parent8600c3b8e2436d73c7c13deb0da869b7f35069ea (diff)
parent46385dd609efb3ab36d326f9e32b6e04f31d8867 (diff)
downloadpodman-2d829aeb1fe0dc19c45e796141ab78ff192b5dbb.tar.gz
podman-2d829aeb1fe0dc19c45e796141ab78ff192b5dbb.tar.bz2
podman-2d829aeb1fe0dc19c45e796141ab78ff192b5dbb.zip
Merge pull request #9284 from rhatdan/annotations
Support annotations from containers.conf
-rw-r--r--pkg/specgen/generate/container.go10
-rw-r--r--test/e2e/config/containers.conf2
-rw-r--r--test/e2e/containers_conf_test.go11
-rw-r--r--test/e2e/run_test.go6
4 files changed, 29 insertions, 0 deletions
diff --git a/pkg/specgen/generate/container.go b/pkg/specgen/generate/container.go
index 31d317bf8..f2af9dd5f 100644
--- a/pkg/specgen/generate/container.go
+++ b/pkg/specgen/generate/container.go
@@ -3,6 +3,7 @@ package generate
import (
"context"
"os"
+ "strings"
"github.com/containers/image/v5/manifest"
"github.com/containers/podman/v2/libpod"
@@ -197,6 +198,15 @@ func CompleteSpec(ctx context.Context, r *libpod.Runtime, s *specgen.SpecGenerat
annotations[ann.ContainerType] = ann.ContainerTypeContainer
}
+ for _, v := range rtc.Containers.Annotations {
+ split := strings.SplitN(v, "=", 2)
+ k := split[0]
+ v := ""
+ if len(split) == 2 {
+ v = split[1]
+ }
+ annotations[k] = v
+ }
// now pass in the values from client
for k, v := range s.Annotations {
annotations[k] = v
diff --git a/test/e2e/config/containers.conf b/test/e2e/config/containers.conf
index 5a5e4b7a5..fdf679664 100644
--- a/test/e2e/config/containers.conf
+++ b/test/e2e/config/containers.conf
@@ -53,6 +53,8 @@ tz = "Pacific/Honolulu"
umask = "0002"
+annotations=["run.oci.keep_original_groups=1",]
+
[engine]
network_cmd_options=["allow_host_loopback=true"]
diff --git a/test/e2e/containers_conf_test.go b/test/e2e/containers_conf_test.go
index 719ac9fac..c78c93b8c 100644
--- a/test/e2e/containers_conf_test.go
+++ b/test/e2e/containers_conf_test.go
@@ -320,4 +320,15 @@ var _ = Describe("Podman run", func() {
Expect(session.OutputToString()).To(Equal("0022"))
})
+ It("podman run containers.conf annotations test", func() {
+ //containers.conf is set to "run.oci.keep_original_groups=1"
+ session := podmanTest.Podman([]string{"create", "--rm", "--name", "test", fedoraMinimal})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ inspect := podmanTest.Podman([]string{"inspect", "--format", "{{ .Config.Annotations }}", "test"})
+ inspect.WaitWithDefaultTimeout()
+ Expect(inspect.OutputToString()).To(ContainSubstring("run.oci.keep_original_groups:1"))
+ })
+
})
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 76d362288..934b78202 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -332,6 +332,9 @@ var _ = Describe("Podman run", func() {
It("podman run user capabilities test", func() {
// We need to ignore the containers.conf on the test distribution for this test
os.Setenv("CONTAINERS_CONF", "/dev/null")
+ if IsRemote() {
+ podmanTest.RestartRemoteService()
+ }
session := podmanTest.Podman([]string{"run", "--rm", "--user", "bin", ALPINE, "grep", "CapBnd", "/proc/self/status"})
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
@@ -424,6 +427,9 @@ 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")
+ if IsRemote() {
+ podmanTest.RestartRemoteService()
+ }
dockerfile := `FROM busybox
USER bin`
podmanTest.BuildImage(dockerfile, "test", "false")