mirror of
https://github.com/containers/podman
synced 2024-10-20 17:23:30 +00:00
df036f9f8e
This change adds the following annotation to every container created by podman: ```json "Annotations": { "io.containers.manager": "libpod" } ``` Target of this annotaions is to indicate which project in the containers ecosystem is the major manager of a container when applications share the same storage paths. This way projects can decide if they want to manipulate the container or not. For example, since CRI-O and podman are not using the same container library (libpod), CRI-O can skip podman containers and provide the end user more useful information. A corresponding end-to-end test has been adapted as well. Relates to: https://github.com/cri-o/cri-o/pull/2761 Signed-off-by: Sascha Grunert <sgrunert@suse.com>
46 lines
1 KiB
Go
46 lines
1 KiB
Go
package integration
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/containers/libpod/pkg/annotations"
|
|
. "github.com/containers/libpod/test/utils"
|
|
. "github.com/onsi/ginkgo"
|
|
. "github.com/onsi/gomega"
|
|
)
|
|
|
|
var _ = Describe("Podman container inspect", func() {
|
|
var (
|
|
tempdir string
|
|
err error
|
|
podmanTest *PodmanTestIntegration
|
|
)
|
|
|
|
BeforeEach(func() {
|
|
tempdir, err = CreateTempDirInTempDir()
|
|
if err != nil {
|
|
os.Exit(1)
|
|
}
|
|
podmanTest = PodmanTestCreate(tempdir)
|
|
podmanTest.Setup()
|
|
podmanTest.SeedImages()
|
|
})
|
|
|
|
AfterEach(func() {
|
|
podmanTest.CleanupPod()
|
|
f := CurrentGinkgoTestDescription()
|
|
processTestResult(f)
|
|
})
|
|
|
|
It("podman inspect a container for the container manager annotation", func() {
|
|
const testContainer = "container-inspect-test-1"
|
|
setup := podmanTest.RunTopContainer(testContainer)
|
|
setup.WaitWithDefaultTimeout()
|
|
Expect(setup.ExitCode()).To(Equal(0))
|
|
|
|
data := podmanTest.InspectContainer(testContainer)
|
|
Expect(data[0].Config.Annotations[annotations.ContainerManager]).
|
|
To(Equal(annotations.ContainerManagerLibpod))
|
|
})
|
|
})
|