Age | Commit message (Collapse) | Author | Files | Lines |
|
- path should be defined via TREX_CLIENT_LIB environmental variable e.g. TREX_CLIENT_LIB=/opt/trex_client/stl
- refactored unit tests
Change-Id: I18767e48daf774432c010f1b88d18a4f0ee4e156
Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I361d88043076c2f901ff6df22f2849edc7559ba0
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
tc057(HA_TC014)
JIRA: YARDSTICK-779
Change-Id: I6a812b1c88229b20a0dd0ce5bc135c9ba15266db
Signed-off-by: tjuyinkanglin <14_ykl@tongji.edu.cn>
|
|
JIRA: YARDSTICK-781
This patch adds some common openstack opertation scenarios
Change-Id: I1300a61b389202242f112b6d280ab47746379546
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
tc058(HA_TC015)"
|
|
|
|
|
|
We can either cat remote files, or we can just sftp get
them.
use sftp get for /proc/cpuinfo since it can be so very large
on systems with 88+ cores.
Change-Id: I420b8c5eefdce8bb3e3b13dcc8257583dee537c1
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
use network address with netmasks to be proper
ports_mac_list is no longer valid, remove it
nd_route_tbl needs to default to something otherwise
the VNF will segfault if it receives IPv6 on the port,
which it will because something in Neutron is sending
out IPv6 packets.
disable use of the routing table gateways to set arp add.
We set the next hop IP to always be the TG IP address,
so we need to always use the TG IP in arp add to send
to the TG MAC address
don't use gateways to get local addresses.
we can't use gateways because with OpenStack if we define
a gateway is breaks the default route and we can no longer
connect to the instance via floating IP.
Change-Id: I0ebefe8ac09812b6030046f73bf772edda1c7d27
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
This patch adds the framesize and flow into test option instead of
adding a seperate file to avoid the multiple file update incase of ip
change.
Change-Id: Ic473c73773ad36422ecc02618b8c646a5336b70a
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
Change-Id: I5471d2e894ca78407a57f3ba01202264c69ad174
Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
|
|
fix exception handling
Change-Id: I46fd0dbf21f3d3308e4f38fcfae5df2716ad7190
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
need to use create=True with mock open anyway
Change-Id: I3a35688cf8c367434db9d0cf057030d49deddd0d
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I5ac8e5d573c390460e2472c7b3b4649cc78dd295
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
JIRA: YARDSTICK-781
This patch adds some common openstack opertation scenarios
Change-Id: Ie59f0d5ae0842f8347824c961436b889a95b1a72
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
|
|
|
|
|
|
Change-Id: Ic1f13c0d28c1a1b01bbf3c8a6a618a5b3ab5bbeb
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
remove ..... split and use os.path.relpath to remove
prefix
use set operations to find missing modules, so we
don't need to check dict contains multiple times
Change-Id: I9531360fb9b2999e83874f144f1d06d825b22b2c
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I3f7b9ca17164564b11517116e7e73b47f42243b9
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: I9c027af082cedbadc23b0151d403dab4e9756da4
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
This patch fixes import error related to ixnetwork and do not wait for
TG server to start as IXIA is always running :)
Change-Id: I49d6b100eadafad75431cb8974605a6faa496f23
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
we get TypeError sometimes, so
we need to catch them
Change-Id: I5fc58006f18acf84f62d8f4a21077d71b2fb0ed8
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
|
|
|
|
|
|
Exception:
line 502, in get_route_data
return next((route[data_key] for route in route_list if route['if'] ==
port), None)
TypeError: 'NoneType' object is not iterable
Change-Id: Ia45d90a4e9a61cb917b23efd03b86eafb249b747
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
There are multiple issues wiht YAML loading.
1. Jinja2 renders None values as a string 'None'. This is not valid YAML
we need to render None values to '~' or 'null' which is the native YAML
None value.
2. Jinja2 renders dict and lists that contain unicode with
u'foo' values. This is not value YAML syntax.
Because we are serializing dict and lists into YAML, we
need to encode them as valid YAML. We can override Jinja2 finalize to
use yaml.dump to dump inline YAML.
We use yaml.safe_dump(elem, default_flow_style=True).replace('\n', '')
to generate valid single-line YAML dict and list values.
But this problem highlights the general difficulties with templating and
loading files.
We could avoid this Python->Jinja2->YAML->Python issue by directly
injecting the list or dict after the YAML is loaded.
I'm not sure of the real utility of these templates.
3. On Python 2 YAML loader is rendering all strings
as unicode. This does not work for Trex because Trex is broken
and badly coded. Trex does type checking against str() which
is different for Python 2 and Python 3.
The default YAML loader will return native string types, str() or unicode()
for Python 2 and Python 3 respectively.
The bad Trex codes is in convert_val:
https://github.com/cisco-system-traffic-generator/trex-core/blob/master/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_packet_builder_scapy.py#L674
def convert_val (val):
if is_integer(val):
return val
if type(val) == str:
return ipv4_str_to_num (is_valid_ipv4(val))
raise CTRexPacketBuildException(-11,("init val invalid %s ") % val );
This code is doing type(val) == str. This is bad and broken.
We can't fix Trex, so we have to render all strings as native str() types
The bug here was that the Heat template loader template_format.py
was overriding the global YAML loader to always return unicode.
We don't want this global override.
To fix this we have to use local subclasses of the yaml.SafeLoader
class.
But in order to dynamically subclass from CSafeLoader or SafeLoader
we have to use the type() builtin to define a new class at runtime.
Once we have new classes defined, we can safely isolate different
YAML constructors and return unicode or not depending on the case.
To be consistent we implement a new yaml_loader.py module to centralize
all non-Heat template yaml loading to ensure correct uncode/str
conversion
Change-Id: Iebf9cf78fbda390977c390436b0869e7bbf503eb
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
new non-blocking code of run_traffic has raise condition which causes
trex client to exit with STLError. This patches captures the exception
and exit gracefully
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in
_bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114,
in run
self._target(*self._args, **self._kwargs)
File
"/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/network_services/vnf_generic/vnf/sample_vnf.py",
line 945, in _traffic_runner
self.resource_helper.run_traffic(traffic_profile)
File
"/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/network_services/vnf_generic/vnf/sample_vnf.py",
line 506, in run_traffic
self._run_traffic_once(traffic_profile)
File
"/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/network_services/vnf_generic/vnf/tg_rfc2544_trex.py",
line 63, in _run_traffic_once
self.client.stop(self.my_ports)
File
"/opt/nsb_bin/trex/scripts/automation/trex_control_plane/stl/trex_stl_lib/trex_stl_client.py",
line 1202, in wrap2
raise STLError("'{0}' - connection to the server had been lost: '{1}'".format(func_name, client.conn.get_disconnection_cause()))
STLError:
Change-Id: Ie5741339451e0a3f9c4bb48f64fd35d86d18e5d4
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
iteritems is not supported in Python 3
we have to use items()
Change-Id: Ib923dfea4220eeab311949c9f6f420fef378e98a
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I8d7cea75aa864c37a058a154a38c9828ea5da434
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I81e119deec36ae90749c2eb1d555f75475ce2474
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
|
|
|
|
|
|
untill we fix the sequence issue, we need to make the instantiate
blocking call to avoid hangs
Change-Id: Ie337372625d506e6b3c74a5248204a87fec1ca2c
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: Id8901aabef402d5743e2575e275b5a57046e897c
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
Change-Id: If021ed0f099c81492fd7509317efc31f020e6d18
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I3b353c5887db0ebbe33e37db505e72b85167b54e
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|