aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2020-01-09 13:45:06 +0000
committerPeter Mikus <pmikus@cisco.com>2020-01-09 15:21:54 +0000
commita08fc340f548a4b223c7c139b4fe59531cf7c694 (patch)
treeb5a7f7f1e1435a9cbd83dba0cf884725a52a34d2
parente0ad96405ff315c84dfb14ef5ab1928b06335c6f (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>
-rw-r--r--resources/libraries/python/ContainerUtils.py23
-rw-r--r--resources/libraries/robot/shared/container.robot1
2 files changed, 15 insertions, 9 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.
diff --git a/resources/libraries/robot/shared/container.robot b/resources/libraries/robot/shared/container.robot
index 485bc7e633..dbe2ae73a4 100644
--- a/resources/libraries/robot/shared/container.robot
+++ b/resources/libraries/robot/shared/container.robot
@@ -331,7 +331,6 @@
| | ... | tg_if2_ip4=${tg_if2_ip4} | tg_if2_mac=${tg_if2_mac}
| | ... | nodes=${nodes}
| | Start VPP in all '${container_group}' containers
-| | Verify VPP in all '${container_group}' containers
| Start vswitch in container
| | [Documentation]