diff options
author | Peter Mikus <pmikus@cisco.com> | 2020-01-09 13:45:06 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2020-01-09 15:21:54 +0000 |
commit | a08fc340f548a4b223c7c139b4fe59531cf7c694 (patch) | |
tree | b5a7f7f1e1435a9cbd83dba0cf884725a52a34d2 /resources/libraries/python | |
parent | e0ad96405ff315c84dfb14ef5ab1928b06335c6f (diff) |
FIX: Container test
+ We should check if container is UP
+ We should adjust privileges.
Change-Id: I3f604b7b9740943b4fd3b0574c18d2729e88b816
Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'resources/libraries/python')
-rw-r--r-- | resources/libraries/python/ContainerUtils.py | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/resources/libraries/python/ContainerUtils.py b/resources/libraries/python/ContainerUtils.py index 6e413c64f0..456cd221f3 100644 --- a/resources/libraries/python/ContainerUtils.py +++ b/resources/libraries/python/ContainerUtils.py @@ -564,12 +564,13 @@ class ContainerEngine: self.container.name, f"/tmp/vpp_sockets/{self.container.name}/stats.sock" ) + self.verify_vpp() + self.adjust_privileges() def restart_vpp(self): """Restart VPP service inside a container.""" self.execute(u"pkill vpp") self.start_vpp() - self.execute(u"cat /tmp/vppd.log") # TODO Rewrite to use the VPPUtil.py functionality and remove this. def verify_vpp(self, retries=120, retry_wait=1): @@ -578,19 +579,25 @@ class ContainerEngine: :param retries: Check for VPP for this number of times Default: 120 :param retry_wait: Wait for this number of seconds between retries. """ - cmd = (u"vppctl show pci 2>&1 | " - u"fgrep -v 'Connection refused' | " - u"fgrep -v 'No such file or directory'") - for _ in range(retries + 1): try: - self.execute(cmd) + self.execute( + u"vppctl show pci 2>&1 | " + u"fgrep -v 'Connection refused' | " + u"fgrep -v 'No such file or directory'" + ) break except RuntimeError: sleep(retry_wait) else: - msg = f"VPP did not come up in container: {self.container.name}" - raise RuntimeError(msg) + self.execute(u"cat /tmp/vppd.log") + raise RuntimeError( + f"VPP did not come up in container: {self.container.name}" + ) + + def adjust_privileges(self): + """Adjust privileges to control VPP without sudo.""" + self.execute("chmod -R o+rwx /run/vpp") def create_base_vpp_startup_config(self, cpuset_cpus=None): """Create base startup configuration of VPP on container. |