test/e2e: fix network prune flake

Creating networks in a different dir is not parallel safe when running
containers on them as the network configs may end up using the same
bridge names which then causes conflicts on the host.

Fixes #23876

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2024-09-05 17:47:53 +02:00
parent 8578fddf0f
commit 1543c5f0ad
2 changed files with 4 additions and 1 deletions

View File

@ -1410,6 +1410,9 @@ func WaitForService(address url.URL) {
// This needs to be called for all test they may remove networks from other tests, // This needs to be called for all test they may remove networks from other tests,
// so netwokr prune, system prune, or system reset. // so netwokr prune, system prune, or system reset.
// see https://github.com/containers/podman/issues/17946 // see https://github.com/containers/podman/issues/17946
// Note that when using this and running containers with custom networks you must use the
// ginkgo Serial decorator to ensure no parallel test are running otherwise we get flakes,
// https://github.com/containers/podman/issues/23876
func useCustomNetworkDir(podmanTest *PodmanTestIntegration, tempdir string) { func useCustomNetworkDir(podmanTest *PodmanTestIntegration, tempdir string) {
// set custom network directory to prevent flakes since the dir is shared with all tests by default // set custom network directory to prevent flakes since the dir is shared with all tests by default
podmanTest.NetworkConfigDir = tempdir podmanTest.NetworkConfigDir = tempdir

View File

@ -695,7 +695,7 @@ var _ = Describe("Podman network", func() {
Expect(listAgain.OutputToStringArray()).Should(ContainElement("podman")) Expect(listAgain.OutputToStringArray()).Should(ContainElement("podman"))
}) })
It("podman network prune", func() { It("podman network prune", Serial, func() {
useCustomNetworkDir(podmanTest, tempdir) useCustomNetworkDir(podmanTest, tempdir)
// Create two networks // Create two networks
// Check they are there // Check they are there