Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
|
|
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>
|
|
Change-Id: I5ac8e5d573c390460e2472c7b3b4649cc78dd295
Signed-off-by: Ross Brattain <ross.b.brattain@intel.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>
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
|
|
|
Change-Id: I8d6b9bed24c9afa4be54296515e6aa91e84fe650
Signed-off-by: Martin Banszel <martinx.banszel@intel.com>
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
flake8 warns about indent
Change-Id: Ib7a57dcb8462de24a2ccb1fdbc60db995cc60d33
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
test_instantiate_panic fails randomly sometimes
in Jenkins, the test doesn't really do anything
useful, so remove it
Change-Id: Ia44ebbe778b812ae1b4660d64e88bf029fed3701
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
Problem:
Running Vsperf in Tgen mode is supported but the integration is not complete at the code level
i.e. not ready-to-use, and dpdk loopback is not supported inside the VM.
Solution:
(1) Completely automates VM image generation and supports 1G huge pages.
(2) Adds a new test scenario VsperfDPDK for testpmd based loopback inside the VM.
Update 1-2: Fixed "line too long" issues not reported by local run_tests.sh (why?)
Update 3: Per comment change to use SSH.from_node() and add unit test cases
Update 4: Add more unit test cases for coverage and ready the code for merge
JIRA: YARDSTICK-661
Change-Id: Iea3014d4c83e1b0c079019a4ed27771d40a7eed8
Signed-off-by: Jing Zhang <jing.c.zhang@nokia.com>
|
|
Note: This patch should be merger to stable branch.
Change-Id: I7f07a7c367fc387494f2313143a300fef85a8fd1
Signed-off-by: JingLu5 <lvjing5@huawei.com>
|
|
|
|
Change-Id: I3639ab84ab5b9e802e1bbd23674b0fbda46fdc66
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
PROX was added to samplevnf project
https://git.opnfv.org/samplevnf/tree/VNFs/DPPD-PROX
JIRA: YARDSTICK-638
Change-Id: If9875b1130c6bed87deb8720b0d8b28ede9289d9
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
|
|
JIRA: YARDSTICK-784
Currently we have yardstick report in GUI.
But if users do not use GUI, they can't see this report.
So we need generate a report each task.
After run each test case, we can see report:
http://ip:port/report/report.html
Change-Id: Ic76cf57f55aa6680b91272e210135136f0225373
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
|
|
Change-Id: I10630599065e6c159b137bd4d6ee89353a1c411b
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Change-Id: I3df6bc606f2ac78baf611aee22b9247f6f9d5136
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|
|
Traceback (most recent call last):
File "/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/cmd/commands/task.py", line 54, in do_start
result = Task().start(param, **kwargs)
File "/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/benchmark/core/task.py", line 148, in start
self._do_output(output_config, result)
File "/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/benchmark/core/task.py", line 227, in _do_output
dispatchers = DispatcherBase.get(output_config)
File "/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/dispatcher/base.py", line 46, in get
for out_type in config['DEFAULT']['dispatcher']]
File "/opt/nsb_bin/yardstick_venv/lib/python2.7/site-packages/yardstick-0.1.dev0-py2.7.egg/yardstick/dispatcher/base.py", line 38, in get_cls
raise RuntimeError("No such dispatcher_type %s" % dispatcher_type)
RuntimeError: No such dispatcher_type Http # setup multiple dipatcher with comma deperted e.g. file
Change-Id: I497d0d9ce7fdb7ea2913af6ebeb4bb9008344fed
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
|
|
import the AnsibleCommon class to execute Ansible playbooks
Update node context support to use AnsibleCommon
needs unittests
We must call ansible-playbook as an executable, so we must create temp
files for inventory, and for the playbooks.
AnsibleCommon has evolved to be quite flexible, it auto-generates the
inventory from the context['nodes'] and generates groups from the node
Role.
We also support either a single playbook filename, or a list of
filenames.
If given a list we dynamically generate a playbook that includes the
other playbooks.
We support adding any number of extra_vars using a temp JSON file.
Also designed to be extended by subclassing.
Change-Id: I5bd0a2b4547feaadd70b7e2b8801f19371b99df0
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
|