summaryrefslogtreecommitdiffstats
path: root/docs/submodules/yardstick
AgeCommit message (Collapse)AuthorFilesLines
2017-10-12Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "NSB Prox Grafana dashboard updates" - NSB Prox Grafana dashboard updates JIRA: YARDSTICK-802 Updating the Grafana dashboards with common data format for all BM and Opensatck Prox tests and adding minor improvements - Correct the test description - Re-run the tests and verify that all the fields are graph correct - Label the axes correctly. eg: For Throughput added label "MPPS" Change-Id: I62b471926fe3c4c8876b70053a92d06f4373e296 Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com>
2017-10-12Update git submodulesDhaval Patel1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Version changes for collectd, pmu-tools, intel_cmt_cat Bumping collectd version to include pmu plugin enablement, bounding pmu-tools and intel_cmt_cat to a commit-id Change-Id: I666d52c5574cec0caebb07535332984fa77e5b65 Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com>
2017-10-12Update git submoduleschenjiankun1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Change 'SUCCESS' to 'PASS' when report to MongoDB JIRA: YARDSTICK-822 To keep consistent with other testing project, we need to change 'SUCCESS' to 'PASS', 'FAILED' to 'FAIL'. Change-Id: I392e4dc6dd2e028cd43cba0d1bf8ee04618326d7 Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
2017-10-12Update git submodulesJingLu51-0/+0
* Update docs/submodules/yardstick from branch 'master' - Bugfix: Reference for the tool used in TC044 mentioned in the user guide is wrong JIRA: YARDSTICK-821 Change-Id: I09b189008df4ec2e6db92cf24c45d8206ed2062f Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-10-12Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Bug in NSB Prox ACL Test 4 Port" - Bug in NSB Prox ACL Test 4 Port JIRA: YARDSTICK-802 Generator was incorrectly configured to generated traffic for p0, p1 (twice), and p3 Should be p0, p1, p2 and p3 Change-Id: Ib62a3c6523b1eda635b8c727c36e140fd480003e Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
2017-10-12Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Doc amendment: env prepare command" - Doc amendment: env prepare command JIRA: YARDSTICK-637 Change-Id: I7e5e1afb7b5a7e97aa070c03cded3be285d97cc2 Signed-off-by: JingLu5 <lvjing5@huawei.com>
2017-10-12Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Use "protocol" parameters in iperf3 yaml and task file" - Use "protocol" parameters in iperf3 yaml and task file JIRA: YARDSTICK-755 There is a history problem that iperf use udp to set a net protocol. This code will change it to protocol. so you could use 'tcp','udp' and other protocol. Change-Id: I1a101013dfe58165a3ed08aa77f0aa2f73d57a12 Signed-off-by: Ace Lee <liyin11@huawei.com>
2017-10-11Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - cgnat: duplicate keys are not allowed the current ConfigParser does not handle duplicate keys in ini files. Change-Id: Iaafbbab740a809a59edfd93c84d0029ef10ac6f3 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-11Update git submodulesDeepak S1-0/+0
* Update docs/submodules/yardstick from branch 'master' - private-> uplink and public->downlink changing private and public to new uplink/downlink name Change-Id: I8c3f582ba5592418a397e2500e0b998c3eed54f2 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-11Update git submodulesDeepak S1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Enable intel_pmu plugin in collectd Change-Id: I62c6416e5c79d0b90880985bb5c076b65e34192e Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-10Update git submodulesJing Zhang1-0/+0
* Update docs/submodules/yardstick from branch 'master' - TC008 Interrupt Affinity Fix The smp_affinity takes hex mask, currently it is given hex number. Change-Id: Id738bfe10551dad1f5df48910a230b12f50d1b3d JIRA: YARDSTICK-818 Signed-off-by: Jing Zhang <jing.c.zhang@nokia.com>
2017-10-10Update git submodulesDeepak S1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Bugfix: Update HW lb config VNF thread to start from core 1 Change-Id: Ib0007fa3689b90346598baaef5c6e88d4fdf444a Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-09Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - install pmu tools collectd plugin Added review dependency, removed collectd commit-id replicating bash script, added pmu roles to playbook Create local mirror for event list generation, copy script to image, and run event list generation at runtime if intel_pmu is enabled. Change-Id: Ie46a2b197f4d2037cf3eed194764ce9eb5670415 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-06Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "libyajl: install from pkg" - libyajl: install from pkg libyajl needed for ovs_events and ovs_stats, removed installing from src and rather installing as deb pkg Change-Id: Ic1ebf88304bbc7f4fa7b9b51c95f1e8e729e71e3 Signed-off-by: Dhaval Patel <dhaval.r.patel@intel.com>
2017-10-06Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "NSB Prox vPE Test" - NSB Prox vPE Test JIRA: YARDSTICK-802 Addition of Prox vPE test case - The tests supports BM, Openstack Heat - Supports 4 ports - Grafana dashboards included - Added support for parameters.lua for prox additional files - Unit tests for code coverage Change-Id: I5cccb351dacba88a293ae4b8aba1f0a803d62e6d Signed-off-by: Abhijit Sinha <abhijit.sinha@intel.com> Signed-off-by: Daniel MArtin Buckley <daniel.m.buckley@intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-06Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "fix random test_task unittest fail due to os.environ mock" - fix random test_task unittest fail due to os.environ mock sometime Jenkins fails due to what I guess are concurrency problems in os.environ mock ====================================================================== FAIL: tests.unit.benchmark.core.test_task.TaskTestCase.test_parse_suite_with_constraint_no_args tags: worker-10 ---------------------------------------------------------------------- Traceback (most recent call last): File "/usr/lib/python3.5/unittest/mock.py", line 1157, in patched return func(*args, **keywargs) File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/tests/unit/benchmark/core/test_task.py", line 208, in test_parse_suite_with_constraint_no_args task_files, task_args, task_args_fnames = t.parse_suite() File "/home/jenkins/opnfv/slave_root/workspace/yardstick-verify-euphrates/yardstick/benchmark/core/task.py", line 455, in parse_suite cur_pod = os.environ.get('NODE_NAME', None) File "/usr/lib/python3.5/unittest/mock.py", line 917, in __call__ return _mock_self._mock_call(*args, **kwargs) File "/usr/lib/python3.5/unittest/mock.py", line 976, in _mock_call result = next(effect) StopIteration Ran 1262 tests in 2.375s FAILED (id=0, failures=1) error: testr failed (1) + testr failing Replace the mock decorator with a context manager to try to reduce the scope and duration of the mock. Change-Id: I342fe6c403e66c53ac4c39fd88fa9047cdfae5d9 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-06Update git submodulesCristina Pauna1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Update load_images.sh to MCP@aarch64 The load_images.sh script still contained old functionality. The changes are: - don't use TestVM anymore, MCP does not load that by default like Fuel did upload the cirros image instead - don't upload the kernel separately for aarch64, one part image works now - add the needed extra-properties accordingly to each image The script was tested on arm, the test are running now without errors JIRA: ARMBAND-285 Change-Id: Iee8ce6cde43bebceb2edbb1310ea81c665876aff Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
2017-10-06Update git submodulesNavya1-0/+0
* Update docs/submodules/yardstick from branch 'master' - KVMFORNFV:Livemigration testcase changes in Yardstick This patch includes changing the function call to place the respective bash file to the given TARGET_SCRIPT path. Change-Id: Iba2adf4bdb6d9045493f5099e29ade4e8e6b5cd3 Signed-off-by: Navya <navyax.bathula@intel.com>
2017-10-06Update git submodulesMaciej Skrocki1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Fixed compilation of latest samplevnf added download_civetweb and install_civetweb roles. Change-Id: Id4f60cc07b3befc7edb3cfc38773fe1a73a44c1f Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Adding scale out templates for ovs_dpdk/sriov using 2 node setup" - Adding scale out templates for ovs_dpdk/sriov using 2 node setup 2 - node setup: - Traffic generator starts new stream on both uplink and downlink This patch addes amsible scripts to enable scale_out testcases - vfw Change-Id: I0340636bce3e74cd6175f728b9e7e014a4eb2fd5 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Adding 2 node ixia generic scale-out test case generation" - Adding 2 node ixia generic scale-out test case generation Change-Id: I7da2d5bcd7c58c669e28a7271e4c6848c003e84a Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Adding auto generate scale-out support for correlated traffic" - Adding auto generate scale-out support for correlated traffic Change-Id: I2755b596068545c1a3a672ceff47d814a44ae050 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Added example TC with collectd on compute node" - Added example TC with collectd on compute node To be used with yardstick/etc/yardstick/nodes/pod.yaml.collectd.sample Change-Id: I6eff4f6adf57596e06c685ab87b83699696ad7b6 Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "heat: add port name as port" - heat: add port name as port Change-Id: Ibd159359c6f57d573a909d6841c121c15bf692c1 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "add wait_for_instantiate" - add wait_for_instantiate Change-Id: Idc54fc907dba4603984712fc43a0db8dfd4b7374 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Add intermediate variables for attacker,monitor,result_checker" - Add intermediate variables for attacker,monitor,result_checker JIRA: YARDSTICK-790 Change-Id: I6bb36c98b8673155d3142fc54cfb39315d5ce613 Signed-off-by: qiujuan <juan_qiu@tongji.edu.cn>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Adding sample testcases to run on standalone context" - Adding sample testcases to run on standalone context - vFW - vCGNAPT - vACL - UDP Replay - vPE (Only OVS supported) Change-Id: Idbc4d1d6bc1283e40d2fcb9457a871a9198ad147 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "rewrite _generate_pod_yaml to combine name and pkey setting" - rewrite _generate_pod_yaml to combine name and pkey setting just deepcopy and change. This will probably break in the future if we use anything other than dicts and list. Change-Id: I9a9b0c5b09b3e3ebd7ed593bf6339ea030605f93 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-05Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "NSB Prox minor refactor of BNG" - NSB Prox minor refactor of BNG 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-04Update git submodulesMaciej Skrocki1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Making sure yardstick container uses hosts timezone This is required for influxdb results being reported "in the future" when the timezones do not match. Change-Id: Ic41e19d26c46b6ccfa6dacddb595236af19e437a Signed-off-by: Maciej Skrocki <maciej.skrocki@intel.com>
2017-10-04Update git submodulesDeepak S1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Disable VNF deploy by default Change-Id: I27bcc41c855f34fb1fd0332fc24e7bf0b2af4ec2 Signed-off-by: Deepak S <deepak.s@linux.intel.com> Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "NSB PROX test hang fixes" - NSB PROX test hang fixes 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-03Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "exec_tests: remove releng clone code" - exec_tests: remove releng clone code we bind-mount the credentials into the container so we don't need to clone releng Change-Id: I838745a1470015a693f1801c93b930e8df06ef4b Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-03Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Ensure that at least one handler is available" - Ensure that at least one handler is available https://jira.opnfv.org/browse/YARDSTICK-773?filter=-3 Remove dependency of yardstick on utils methods Change-Id: Iadf502364a7f08c279a8f0d17d7e45e8047f4066 Signed-off-by: Edward MacGillivray <edward.s.macgillivray@intel.com>
2017-10-03Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "runners: add timeout to queue put" - runners: add timeout to queue put 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-03Update git submodulesDeepak S1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Enable multi-port perf in trex as TG 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-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "add collectd resource node capability" - add collectd resource node capability 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-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "ansible: add grub.cfg hugepages regexp replace" - ansible: add grub.cfg hugepages regexp replace when building the image in chroot we can't run update-grub of grub-mkconfig because both commands probe for root partitions, which doesn't work in the chroot. Instead we manually regexp replace the kernel boot line in /boot/**/grub*.cfg Change-Id: I31fac2a3db4d1d044f11357b1715119066509676 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Optimize Core usage for the sampleVNFs" - Optimize Core usage for the sampleVNFs 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-02Update git submodulesAlexandru Avadanii1-0/+0
* Update docs/submodules/yardstick from branch 'master' - load_images.sh: Add missing ssh_options 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-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "CI: add new test cases into CI so they can have result" - CI: add new test cases into CI so they can have result Change-Id: Ib2b165c41121b29b2af378dc420c2360786de3f0 Signed-off-by: rexlee8776 <limingjiang@huawei.com>
2017-10-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Enabling multi_VM & multi port launch in standalone context" - Enabling multi_VM & multi port launch in standalone context 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-10-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "drain runner queue and undo cancel_join_thread" - drain runner queue and undo cancel_join_thread 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-02Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Grafana Dashboard update for Prox Tests" - Grafana Dashboard update for Prox Tests 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-10-02Update git submodulesAbhijit Sinha1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Prox L3FWD 2-port test fix 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-01Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Fix src/dst ip update in ixia configuration" - Fix src/dst ip update in ixia configuration Change-Id: I03976c182e164a512a5ef48ad20928f27451c3f6 Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-01Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "Adding example testcase to enable multiport support for http" - Adding example testcase to enable multiport support for http Change-Id: I780aa3ea6b04df08baffb5ee5beff66bdc37f37e Signed-off-by: Deepak S <deepak.s@linux.intel.com>
2017-10-01Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "NSB: cancel all queue join threads" - NSB: cancel all queue join threads 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-01Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "code inspection fixes: test_pktgen" - code inspection fixes: test_pktgen Change-Id: I05cb069984b7674924cfcb1ed023048c0aa0c444 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
2017-10-01Update git submodulesRoss Brattain1-0/+0
* Update docs/submodules/yardstick from branch 'master' - Merge "duration runner: add teardown and cancel all queue join threads" - duration runner: add teardown and cancel all queue join threads 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>