Age | Commit message (Collapse) | Author | Files | Lines |
|
JIRA: YARDSTICK-904
This task is about to implement a get function in ssh.py to
fetch desired files/folder in a remote VM to a local path.
In some test cases, test tools will produce results in files.
We want retain the original result files and archive them in
Yardstick docker for future usage.
Change-Id: Ifd333eb044ce31cffa6f5b2a8f6a46648a8858d1
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
Change-Id: I1c529eeb0ef47752ed15e3e7941f57f7793ebfd4
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
os.stat is being called multiple times for some reason
we only care that is it called at some point.
======================================================================
FAIL: tests.unit.test_ssh.SSHRunTestCase.test__put_file_sftp
tags: worker-1
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/test_ssh.py", line 458, in test__put_file_sftp
mock_stat.assert_called_once_with("localfile")
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 947, in assert_called_once_with
raise AssertionError(msg)
AssertionError: Expected 'stat' to be called once. Called 3 times.
Ran 1209 tests in 2.618s
FAILED (id=0, failures=1)
error: testr failed (1)
+ testr failing
======================================================================
FAIL: tests.unit.test_ssh.SSHRunTestCase.test__put_file_sftp
tags: worker-1
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/tests/unit/test_ssh.py", line 458, in test__put_file_sftp
mock_stat.assert_called_once_with("localfile")
File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-master/.tox/py3/lib/python3.5/site-packages/mock/mock.py", line 947, in assert_called_once_with
raise AssertionError(msg)
AssertionError: Expected 'stat' to be called once. Called 3 times.
Ran 1 tests in 0.110s
FAILED (id=0, failures=1)
Change-Id: I73370996e6e0543419eec8ecbe81be424ec15822
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Refactored main NSB VNF classes accroding to class diagram
https://wiki.opnfv.org/display/yardstick/NSB+class+diagram
All the SampleVNFs have been separated and placed under
the SampleVNF class.
Added AutoConnectSSH to automatically create SSH conneciton on demand.
Added VnfdHelper class to wrap the VNFD dictionary in prepartion for
class-based modeling.
Extracted DpdkVnfSetupEnvHelper for DPDK based VNF setup.
Extracted Stats and other client config to ResourceHelper
Had to replace dict_key_flatten with deepgetitem due to Python 2.7
Jinja2 infinite recursion.
Change-Id: Ia8840e9c44cdbdf39aab6b02e6d2176b31937dc9
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
we need to be following defautl paramiko rules,
first use pkey, then key_filenames (autodetecting ~/.ssh/ keys),
then password
We have too much boilerplate redudant code everywhere, we need
to standardize on a factory function that takes a node dict.
Using Python3 ChainMap we can layer overrides and defaults.
VNF descriptors have to default key_filename, password to Python None.
The only way to do this is to omit key values if the variable is not
defined, this way the dict will not have the value and it will
default to Python None
Add python2 chainmap backport
Updated unittest mocking to use ssh.SSH.from_node
Change-Id: I80b0cb606e593b33e317c9e5e8ed0b74da591514
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Porting to Python3 using Openstack guidelines:
https://wiki.openstack.org/wiki/Python3
This passes unittests on Python 3.5 and passes opnfv_smoke suite
Updates:
use six for urlparse and urlopen
fix exception.message attribute removal
run unittests on python3
use unitest.mock on python 3
fix open mock for vsperf
fix float division by using delta/eplison comparison
use unicode in StringIO
use plugin/sample_config.yaml relative path from test case
fixed apexlake unittests
upgraded to mock 2.0.0 to match python3 unittest.mock features
fixed flake8 issues
implement safe JSON decode with oslo_serialization.jsonutils.dump_as_bytes()
implement safe unicode encode/decode with oslo_utils.encodeutils
heat: convert pub key file from bytes to unicode
pkg_resources returns raw bytes, in python3
we have to decode this to utf-8 unicode
so JSON can encode it for heat template
JIRA: YARDSTICK-452
Change-Id: Ib80dd1d0c0eb0592acd832b82f6a7f8f7c20bfda
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
~ is not expanded in double quotes, so we have a dilemma.
We need to quote in order to preserve filenames with spaces,
but we have to make sure we don't quote the ~ so it can be expanded.
To resolve this we use a regex to search for tidle-prefixes
and excluded them from quotes.
Added unittests for the cases:
path with tilde
path with space
path with tilde and space
see bash man page for details of tidle expansion
Tilde Expansion
If a word begins with an unquoted tilde character (`~'), all of the
characters preceding the first unquoted slash (or all characters, if there is
no unquoted slash) are considered a tilde-prefix. If none of the characters in
the tilde-prefix are quoted, the characters in the tilde-prefix following the
tilde are treated as a possible login name. If this login name is the null
string, the tilde is replaced with the value of the shell parameter HOME. If
HOME is unset, the home directory of the user executing the shell is
substituted instead. Otherwise, the tilde-prefix is replaced with the
home directory associated with the specified login name.
JIRA: YARDSTICK-501
Change-Id: I324be20aba0dbd50434fbd8081685c598ebd8a84
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-501
An redundant pair of quotation in ssh.py causes remotepath cannot be found.
Change-Id: I2df8ab59830fd28d8ad8882a93a8efbd4d1f7cb7
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
upstream openstack rally added new _put_file_* methods
we should use these
https://github.com/openstack/rally/blob/0.7.0/rally/common/sshutils.py#L270
Updates:
imported rally test__put_file_shell unittests
quote to prevent word split
use -- guard
only chmod on cat success
Change-Id: I357d1a66b5beddad8042958f4e55d67fc68929f6
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
For some VNFs we may want to send periodic commands, for example to print
statistics, but otherwise not write anything for long periods of time.
Currently when we can no longer read from stdin we close it.
A workaround is to constantly spam stdin with newlines to keep forcing
stdin open. We don't want to have to do this, so add an enable flag to
keep stdin open. If the caller wants to close stdin at some point it
can.
Change-Id: I9496022295dfd19804572e484fe4f170ca7d4ac3
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-319
Change-Id: I25ee9a2582c751024b30e91eabf77aebb14a02f7
Signed-off-by: rexlee8776 <limingjiang@huawei.com>
|
|
VM A runs pktgen-dpdk as a traffic generator and is connected
back-to-back with VM B running testpmd for forwarding packets.
1. use linux expect to fetch the latency statics data.
2. fetch 10 samples of latency and calculate avg_latency.
3. use screen to keep test scripts running in the background.
4. add a function send_command() for screen in ssh.py
JIRA:YARDSTICK-233
Change-Id: I90ae64b3d198c79f159275ae35715eb284f05080
Signed-off-by: wu.zhihui <wu.zhihui1@zte.com.cn>
|
|
Unit test file for ssh.py originates from rally. It is modified to
be consistent with the ssh module used in yardstick - some tests for
missing functionality are removed and naming convention is changed
(ssh in yardstick vs sshutils in rally).
Running of unittest from run_test.sh is NOT enabled.
JIRA:-
Change-Id: I3ea554e3fbe6f1f906778f88ddd859424331c8df
Signed-off-by: Kristian Hunt <kristian.hunt@gmail.com>
|