osmith has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38425?usp=email )


Change subject: testenv: podman: restart_count in container_name
......................................................................

testenv: podman: restart_count in container_name

When running testsuites with multiple configurations in a row, as it is
the case with the ttcn3-ggsn jobs in jenkins, the podman container gets
restarted whenever switching to the next config.

Use a different name for each container by appending a restart count.
This should fix that podman sometimes didn't fully shutdown the
container yet and complains that the container name is already in use.
This happens even though we use "podman kill" and "podman wait" on the
previous container. When checking later, the container is really gone
and the same name can be used, it seems that it just needs some more
time to shutdown in some cases.

Fix for:
> Error: error creating container storage: the container name
> "testenv-ggsn_tests-osmo_ggsn_-osmocom-nightly-20241012-0752-2eb85125" is
> already in use by 
> "8b7ea42371a922ffbf4e966b853124b98cd25c9905ae443fefb4115a103d7779".
> You have to remove that container to be able to reuse that name.: that name 
> is already in use

Related: https://github.com/containers/podman/issues/2553
Related: https://jenkins.osmocom.org/jenkins/job/ttcn3-ggsn-test/2674/console
Change-Id: Ia791be2fee69765293ce7a7a058319c92bb92714
---
M _testenv/testenv/podman.py
1 file changed, 5 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/25/38425/1

diff --git a/_testenv/testenv/podman.py b/_testenv/testenv/podman.py
index bd1e8d8..683f468 100644
--- a/_testenv/testenv/podman.py
+++ b/_testenv/testenv/podman.py
@@ -20,6 +20,7 @@
 apt_dir_var_lib = None
 feed_watchdog_process = None
 run_shell_on_stop = False
+restart_count = 0


 def image_exists():
@@ -190,7 +191,8 @@

     testdir_topdir = testenv.testdir.testdir_topdir
     osmo_dev_dir = testenv.osmo_dev.get_osmo_dev_dir()
-    container_name = testenv.testdir.prefix
+    container_name = f"{testenv.testdir.prefix}-{restart_count}"
+
     # Custom seccomp profile that allows io_uring
     seccomp = os.path.join(testenv.data_dir, "podman/seccomp.json")

@@ -287,6 +289,7 @@
 def stop(restart=False):
     global container_name
     global run_shell_on_stop
+    global restart_count

     if not is_running():
         return
@@ -316,4 +319,5 @@
     container_name = None

     if restart:
+        restart_count += 1
         start()

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/38425?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ia791be2fee69765293ce7a7a058319c92bb92714
Gerrit-Change-Number: 38425
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <[email protected]>

Reply via email to