Code Review
/
csit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Add 2048B file size cps rps tests in job specs for http-ldpreload-nginx-1_21_5.
[csit.git]
/
resources
/
libraries
/
python
/
SetupFramework.py
diff --git
a/resources/libraries/python/SetupFramework.py
b/resources/libraries/python/SetupFramework.py
index
880b1c9
..
95ca8a7
100644
(file)
--- a/
resources/libraries/python/SetupFramework.py
+++ b/
resources/libraries/python/SetupFramework.py
@@
-1,4
+1,4
@@
-# Copyright (c) 202
1
Cisco and/or its affiliates.
+# Copyright (c) 202
3
Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@
-56,7
+56,8
@@
def pack_framework_dir():
run(
[
u"tar", u"--sparse", u"--exclude-vcs", u"--exclude=output*.xml",
run(
[
u"tar", u"--sparse", u"--exclude-vcs", u"--exclude=output*.xml",
- u"--exclude=./tmp", u"-zcf", file_name, u"."
+ u"--exclude=./tmp", u"--exclude=./env", u"--exclude=./.git",
+ u"-zcf", file_name, u"."
], msg=u"Could not pack testing framework"
)
], msg=u"Could not pack testing framework"
)
@@
-105,7
+106,7
@@
def extract_tarball_at_node(tarball, node):
node, cmd,
message=f"Failed to extract {tarball} at node {node[u'type']} "
f"host {node[u'host']}, port {node[u'port']}",
node, cmd,
message=f"Failed to extract {tarball} at node {node[u'type']} "
f"host {node[u'host']}, port {node[u'port']}",
- timeout=60, include_reason=True
+ timeout=60
0
, include_reason=True
)
logger.console(
f"Extracting tarball to {con.REMOTE_FW_DIR} on {node[u'type']} "
)
logger.console(
f"Extracting tarball to {con.REMOTE_FW_DIR} on {node[u'type']} "
@@
-116,9
+117,13
@@
def extract_tarball_at_node(tarball, node):
def create_env_directory_at_node(node):
"""Create fresh virtualenv to a directory, install pip requirements.
def create_env_directory_at_node(node):
"""Create fresh virtualenv to a directory, install pip requirements.
+ Return stdout and stderr of the command,
+ so we see which installs are behaving weird (e.g. attempting download).
+
:param node: Node to create virtualenv on.
:type node: dict
:param node: Node to create virtualenv on.
:type node: dict
- :returns: nothing
+ :returns: Stdout and stderr.
+ :rtype: str, str
:raises RuntimeError: When failed to setup virtualenv.
"""
logger.console(
:raises RuntimeError: When failed to setup virtualenv.
"""
logger.console(
@@
-129,8
+134,8
@@
def create_env_directory_at_node(node):
f"-p $(which python3) --system-site-packages --never-download env " \
f"&& source env/bin/activate && ANSIBLE_SKIP_CONFLICT_CHECK=1 " \
f"pip3 install -r requirements.txt"
f"-p $(which python3) --system-site-packages --never-download env " \
f"&& source env/bin/activate && ANSIBLE_SKIP_CONFLICT_CHECK=1 " \
f"pip3 install -r requirements.txt"
- exec_cmd_no_error(
- node, cmd, timeout=
1
00, include_reason=True,
+
stdout, stderr =
exec_cmd_no_error(
+ node, cmd, timeout=
3
00, include_reason=True,
message=f"Failed install at node {node[u'type']} host {node[u'host']}, "
f"port {node[u'port']}"
)
message=f"Failed install at node {node[u'type']} host {node[u'host']}, "
f"port {node[u'port']}"
)
@@
-138,6
+143,7
@@
def create_env_directory_at_node(node):
f"Virtualenv setup on {node[u'type']} host {node[u'host']}, "
f"port {node[u'port']} done."
)
f"Virtualenv setup on {node[u'type']} host {node[u'host']}, "
f"port {node[u'port']} done."
)
+ return stdout, stderr
def setup_node(node, tarball, remote_tarball, results=None, logs=None):
def setup_node(node, tarball, remote_tarball, results=None, logs=None):
@@
-160,7
+166,10
@@
def setup_node(node, tarball, remote_tarball, results=None, logs=None):
copy_tarball_to_node(tarball, node)
extract_tarball_at_node(remote_tarball, node)
if node[u"type"] == NodeType.TG:
copy_tarball_to_node(tarball, node)
extract_tarball_at_node(remote_tarball, node)
if node[u"type"] == NodeType.TG:
- create_env_directory_at_node(node)
+ stdout, stderr = create_env_directory_at_node(node)
+ if isinstance(logs, list):
+ logs.append(f"{node[u'host']} Env stdout: {stdout}")
+ logs.append(f"{node[u'host']} Env stderr: {stderr}")
except Exception:
# any exception must result in result = False
# since this runs in a thread and can't be caught anywhere else
except Exception:
# any exception must result in result = False
# since this runs in a thread and can't be caught anywhere else
@@
-206,7
+215,7
@@
def delete_framework_dir(node):
node, f"sudo rm -rf {con.REMOTE_FW_DIR}",
message=f"Framework delete failed at node {node[u'type']} "
f"host {node[u'host']}, port {node[u'port']}",
node, f"sudo rm -rf {con.REMOTE_FW_DIR}",
message=f"Framework delete failed at node {node[u'type']} "
f"host {node[u'host']}, port {node[u'port']}",
- timeout=100, include_reason=True
+ timeout=100, include_reason=True
,
)
logger.console(
f"Deleting framework directory on {node[u'type']} host {node[u'host']},"
)
logger.console(
f"Deleting framework directory on {node[u'type']} host {node[u'host']},"
@@
-250,9
+259,9
@@
def cleanup_node(node, results=None, logs=None):
class SetupFramework:
"""Setup suite run on topology nodes.
class SetupFramework:
"""Setup suite run on topology nodes.
- Many VAT/CLI based tests need the scripts at remote hosts before executing
-
them.
This class packs the whole testing directory and copies it over
- to all nodes in topology under /tmp/
+ Some tests need the scripts at remote hosts before executing them.
+ This class packs the whole testing directory and copies it over
+ to all nodes in topology under /tmp/
.
"""
@staticmethod
"""
@staticmethod