aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-10-04NSB Prox minor refactor of BNGAbhijit Sinha2-7/+10
JIRA: YARDSTICK-802 - Updated the BNG code with minor refactor. - Corrected the CPE core name - Update binsearch traffic profile with 64B Change-Id: Iae0be766edb986520045655fa567651711813a8b Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2017-10-03Merge "NSB PROX test hang fixes"Ross Brattain30-130/+440
2017-10-03NSB PROX test hang fixesRoss Brattain30-130/+440
The PROX tests were hanging in the duration runner. These are fixes for various errors: raise error in collect_kpi if VNF is down move prox dpdk_rebind after collectd stop fix dpdk nicbind rebind to group by drivers prox: raise error in collect_kpi if the VNF is down prox: add VNF_TYPE for consistency sample_vnf: debug and fix kill_vnf pkill is not matching some executable names, add some debug process dumps and try switching back to killall until we can find the issue sample_vnf: add default timeout, so we can override default 3600 SSH timeout collect_kpi is the point at which we check the VNFs and TGs for failures or exits queues are the problem make sure we aren't silently blocking on non-empty queues by canceling join thread in subprocess fixup duration runner to close queues and other attempt to stop duration runner from hanging VnfdHelper: memoize port_num resource: fail if ssh can't connect at the end of 3600 second test our ssh connection is dead, so we can't actually stop collectd unless we reconnect fix stop() logic to ignore ssh errors Change-Id: I6c8e682a80cb9d00362e2fef4a46df080f304e55 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03Merge "exec_tests: remove releng clone code"Ross Brattain1-18/+1
2017-10-03Merge "Ensure that at least one handler is available"Ross Brattain4-18/+49
2017-10-03Merge "runners: add timeout to queue put"Ross Brattain2-6/+14
2017-10-02Enable multi-port perf in trex as TGDeepak S5-22/+29
set TRex -c option for threads per port based on hardware number of queues. We can't auto-detect number of queues and we can't use more than one thread per core on systems with single-queue interfaces, so move the option to the config file options: tg_0: queues_per_port: 2 also enable trex debug by removing >/dev/null redirection options: tg_0: trex_server_debug: true Change-Id: I46da187849282bf28f4ef5b333e1ae890e202768 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02runners: add timeout to queue putRoss Brattain2-6/+14
we don't want to block the test waiting to put KPIs Add moderate timeout. In case we do timeout, it doesn't matter if we drop intermitten KPIs Change-Id: I049c785355993e6b286748a5c897d54dd2923dc9 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02Merge "add collectd resource node capability"Ross Brattain6-47/+155
2017-10-02add collectd resource node capabilityRoss Brattain6-47/+155
allow manually adding collectd nodes using Node context. if a node is present with a collectd config dict then we can create a ResourceProfile object for it and connect to collectd. example nodes: - name: compute_0 role: Compute ip: 1.1.1.1 user: root password: r00t collectd: interval: 5 plugins: ovs_stats: {} Change-Id: Ie0c00fdb58373206071daa1fb13faf175c4313e0 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02Merge "ansible: add grub.cfg hugepages regexp replace"Ross Brattain2-0/+39
2017-10-02Merge "Optimize Core usage for the sampleVNFs"Ross Brattain2-13/+10
2017-10-02Optimize Core usage for the sampleVNFsDeepak S2-13/+10
Change-Id: I80aa7e796b9ca4c4881c78310860e293a4a75560 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02load_images.sh: Add missing ssh_optionsAlexandru Avadanii1-0/+1
Empty ssh_options led to ssh login failure, which stopped the whole script. Change-Id: I8374a30a02b14d04eb0f623a0c58d7ebed77a589 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2017-10-02Merge "CI: add new test cases into CI so they can have result"Ross Brattain1-1/+22
2017-10-02Merge "Enabling multi_VM & multi port launch in standalone context"Ross Brattain21-2639/+2289
2017-10-02Merge "drain runner queue and undo cancel_join_thread"Ross Brattain9-49/+137
2017-10-02Merge "Grafana Dashboard update for Prox Tests"Ross Brattain32-402/+402
2017-10-02Prox L3FWD 2-port test fixAbhijit Sinha1-5/+0
JIRA: YARDSTICK-802 Updated the handle config for l3fwd 2 port test The tx and rx descripters is removed as they were not there in original DATS config. The BM test was dropping packets beacuse of this. Change-Id: I40d113267cbb3376a772b5a5aaecf74bea9d06fb Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2017-10-02drain runner queue and undo cancel_join_threadRoss Brattain9-49/+137
Sometimes the runners can hang. Initially debugging lead to the queue join thread, so I thought we could cancel all the join threads and everything would be okay. But it turns out canceling the queue join threads can lead to corruption of the queues, so when we go to drain the queues the task hangs. But it also turns out that we were not properly draining the queues in the task process. We were waiting for all the runners to exit, then draining the queues. This is bad and will cause the queues to fill up and hang and/or drop data or corrupt the queues. The proper fix seems to be to draining the queues in a loop before calling join with a timeout. Also modified the queue drain loops to no block on queue.get() Revert "cancel all queue join threads" This reverts commit 75c0e3a54b8f6e8fd77c7d9d95decab830159929. Revert "duration runner: add teardown and cancel all queue join threads" This reverts commit 7eb6abb6931b24e085b139cc3500f4497cdde57d. Change-Id: Ic4f8e814cf23615621c1250535967716b425ac18 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-01Merge "Fix src/dst ip update in ixia configuration"Ross Brattain1-2/+2
2017-10-01Merge "Adding example testcase to enable multiport support for http"Ross Brattain5-118/+2582
2017-10-01Merge "NSB: cancel all queue join threads"Ross Brattain5-2/+9
2017-10-01Merge "code inspection fixes: test_pktgen"Ross Brattain1-7/+7
2017-10-01Merge "duration runner: add teardown and cancel all queue join threads"Ross Brattain1-5/+20
2017-10-01NSB: cancel all queue join threadsRoss Brattain5-2/+9
In some cases we are blocking in base.Runner join() because the queues are not empty call cancel_join_thread to prevent the Queue from blocking the Process exit https://docs.python.org/3.3/library/multiprocessing.html#all-platforms Joining processes that use queues Bear in mind that a process that has put items in a queue will wait before terminating until all the buffered items are fed by the "feeder" thread to the underlying pipe. (The child process can call the cancel_join_thread() method of the queue to avoid this behaviour.) This means that whenever you use a queue you need to make sure that all items which have been put on the queue will eventually be removed before the process is joined. Otherwise you cannot be sure that processes which have put items on the queue will terminate. Remember also that non-daemonic processes will be joined automatically. Warning As mentioned above, if a child process has put items on a queue (and it has not used JoinableQueue.cancel_join_thread), then that process will not terminate until all buffered items have been flushed to the pipe. This means that if you try joining that process you may get a deadlock unless you are sure that all items which have been put on the queue have been consumed. Similarly, if the child process is non-daemonic then the parent process may hang on exit when it tries to join all its non-daemonic children. cancel_join_thread() Prevent join_thread() from blocking. In particular, this prevents the background thread from being joined automatically when the process exits – see join_thread(). A better name for this method might be allow_exit_without_flush(). It is likely to cause enqueued data to lost, and you almost certainly will not need to use it. It is really only there if you need the current process to exit immediately without waiting to flush enqueued data to the underlying pipe, and you don’t care about lost data. Change-Id: I61f11a3b01109d96b7a5445c60f1e171401157fc Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-01duration runner: add teardown and cancel all queue join threadsRoss Brattain1-5/+20
calculate timeout once catch exceptions in benchmark.teardown() In some cases we are blocking in base.Runner join() because the queues are not empty call cancel_join_thread to prevent the Queue from blocking the Process exit https://docs.python.org/3.3/library/multiprocessing.html#all-platforms Joining processes that use queues Bear in mind that a process that has put items in a queue will wait before terminating until all the buffered items are fed by the "feeder" thread to the underlying pipe. (The child process can call the cancel_join_thread() method of the queue to avoid this behaviour.) This means that whenever you use a queue you need to make sure that all items which have been put on the queue will eventually be removed before the process is joined. Otherwise you cannot be sure that processes which have put items on the queue will terminate. Remember also that non-daemonic processes will be joined automatically. Warning As mentioned above, if a child process has put items on a queue (and it has not used JoinableQueue.cancel_join_thread), then that process will not terminate until all buffered items have been flushed to the pipe. This means that if you try joining that process you may get a deadlock unless you are sure that all items which have been put on the queue have been consumed. Similarly, if the child process is non-daemonic then the parent process may hang on exit when it tries to join all its non-daemonic children. cancel_join_thread() Prevent join_thread() from blocking. In particular, this prevents the background thread from being joined automatically when the process exits – see join_thread(). A better name for this method might be allow_exit_without_flush(). It is likely to cause enqueued data to lost, and you almost certainly will not need to use it. It is really only there if you need the current process to exit immediately without waiting to flush enqueued data to the underlying pipe, and you don’t care about lost data. Change-Id: If7b904a060b9ed68b7def78c851deefca4e0de5d Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-01cancel all queue join threadsRoss Brattain5-0/+16
In some cases we are blocking in base.Runner join() because the queues are not empty call cancel_join_thread to prevent the Queue from blocking the Process exit https://docs.python.org/3.3/library/multiprocessing.html#all-platforms Joining processes that use queues Bear in mind that a process that has put items in a queue will wait before terminating until all the buffered items are fed by the "feeder" thread to the underlying pipe. (The child process can call the cancel_join_thread() method of the queue to avoid this behaviour.) This means that whenever you use a queue you need to make sure that all items which have been put on the queue will eventually be removed before the process is joined. Otherwise you cannot be sure that processes which have put items on the queue will terminate. Remember also that non-daemonic processes will be joined automatically. Warning As mentioned above, if a child process has put items on a queue (and it has not used JoinableQueue.cancel_join_thread), then that process will not terminate until all buffered items have been flushed to the pipe. This means that if you try joining that process you may get a deadlock unless you are sure that all items which have been put on the queue have been consumed. Similarly, if the child process is non-daemonic then the parent process may hang on exit when it tries to join all its non-daemonic children. cancel_join_thread() Prevent join_thread() from blocking. In particular, this prevents the background thread from being joined automatically when the process exits – see join_thread(). A better name for this method might be allow_exit_without_flush(). It is likely to cause enqueued data to lost, and you almost certainly will not need to use it. It is really only there if you need the current process to exit immediately without waiting to flush enqueued data to the underlying pipe, and you don’t care about lost data. Change-Id: I345c722a752bddf9f0824a11cdf52ae9f04669af Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-01code inspection fixes: test_pktgenRoss Brattain1-7/+7
Change-Id: I05cb069984b7674924cfcb1ed023048c0aa0c444 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-30Adding example testcase to enable multiport support for httpDeepak S5-118/+2582
Change-Id: I780aa3ea6b04df08baffb5ee5beff66bdc37f37e Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-30Merge "dpdk: pciutils and lspci is required for dpdk-devbind.py"Ross Brattain1-0/+1
2017-09-30Merge "replace ansible modules"Ross Brattain19-1680/+124
2017-09-30Merge "Adapt getting the image architecture to mcp"Ross Brattain1-4/+7
2017-09-30Merge "bugfix: tc054 default value is wrong"Jing Lu2-60/+27
2017-09-30Merge "Remove checkno.png and checkyes.png due to license issue"Jing Lu7-18/+18
2017-09-30Remove checkno.png and checkyes.png due to license issuechenjiankun7-18/+18
JIRA: YARDSTICK-817 Since checkno.png and checkyes.png is not Apache-2 license based. so we need to remove them. Change-Id: I40dd303fb54a3736ca969ac1c186d2cd23408436 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2017-09-29Fix src/dst ip update in ixia configurationDeepak S1-2/+2
Change-Id: I03976c182e164a512a5ef48ad20928f27451c3f6 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-09-29Auto create ixia config based on the traffic profileDeepak S11-310/+96
Change-Id: I031cc7f24f0c0816eb577a4d1606a714f68a5f83 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-29Merge "NSB: ignore VNF node if there is no VNF model"Ross Brattain1-1/+5
2017-09-29replace ansible modulesRoss Brattain19-1680/+124
Change-Id: Ia7c1ce781075142910a6c618a9a23f34a710dfe9 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-29Enabling multi_VM & multi port launch in standalone contextDeepak S21-2639/+2289
new context names: - SRIOV - StandaloneSriov - OvsDpdk - StandaloneOvsDpdk - Seperate helper, libvirt, server info class - Allow multi-port and multi-VM support. Change-Id: I3c65e4535082fa0e2f4c6ee11c3bca9ccfdc01b8 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Martin Banszel <martinx.banszel@intel.com>
2017-09-29Grafana Dashboard update for Prox TestsAbhijit Sinha32-402/+402
JIRA: YARDSTICK-802 Updated the Grafana dashboards to collect KPI's correctly & incorporate scale up changes in topology Influx-db stores the KPI’s fields as: <TG><Port><kpi> TG has changed from : tg__1 to tg__0 VNF has changed from : vnf__1 to vnf__0 Change-Id: I3bd8be61210906bc4de95c9b1986033572d93277 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2017-09-29Adapt getting the image architecture to mcpCristina Pauna1-4/+7
The part which gets the image architecture still uses the old fuel command. Adapted the script to use the mcp command. JIRA: ARMBAND-285 Change-Id: Iddce77c3a856ea11f9994861151db89a402e735e Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2017-09-29dpdk: pciutils and lspci is required for dpdk-devbind.pyRoss Brattain1-0/+1
Change-Id: I8529f33d849fc659b557e1d19761c0765ebda57e Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-09-29CI: add new test cases into CI so they can have resultrexlee87761-1/+22
Change-Id: Ib2b165c41121b29b2af378dc420c2360786de3f0 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-29bugfix: tc054 default value is wrongrexlee87762-60/+27
management route ip is not common in most SUTs, so it should be removed. also huawei pod1 ipmi info should updated so this test case can be added into ci later Change-Id: I3a29c59c473ee7087d4d61753ffc955b061571fb Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-09-28Adjusted IPs in some prox tests.Maciej Skrocki2-4/+4
Change-Id: Iff39fa5b90d1ae5534ce1fff31dfb84c1e47340c Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-09-28Merge "add collectd ansible"Ross Brattain34-6/+721
2017-09-28Switched to stable/euphrates for samplevnfs projextMaciej Skrocki1-1/+1
Change-Id: I0305c263740c25bdfa3bb2667838ca2b75d33ba0 Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-09-28add collectd ansibleRoss Brattain34-6/+721
required DPDK fixes to enable building collectd with dpdkstats need /usr/lib/dpdk-pmd symlinks Compiling all this code requies more space than the default ubuntu cloud-image, so we need to resize the cloud image somehow Change-Id: Ib39fc94ba8101ca1aebc7d2a710be88b0338f7c3 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com> Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>