aboutsummaryrefslogtreecommitdiffstats
path: root/INFO.yaml
blob: 730cd4a6b6cff735c64aa662fe1f4ab50e2219d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
---
project: 'Test framework for verifying infrastructure compliance (yardstick)'
project_creation_date: 'April 28th, 2015'
project_category: 'Integration & Testing'
lifecycle_state: 'Incubation'
project_lead: &opnfv_yardstick_ptl
    name: 'Ross Brattain'
    email: 'ross.b.brattain@intel.com'
    id: 'rbbratta'
    company: 'intel.com'
    timezone: 'PST'
primary_contact: *opnfv_yardstick_ptl
issue_tracking:
    type: 'jira'
    url: 'https://jira.opnfv.org/projects/Yardstick'
    key: 'Yardstick'
mailing_list:
    type: 'mailman2'
    url: 'opnfv-tech-discuss@lists.opnfv.org'
    tag: '[yardstick]'
realtime_discussion:
    type: irc
    server: 'freenode.net'
    channel: '#opnfv-yardstick'
meetings:
    - type: 'gotomeeting+irc'
      agenda:  'https://wiki.opnfv.org/display/yardstick/Yardstick+Meetings'
      url:  'https://global.gotomeeting.com/join/819733085'
      server: 'freenode.net'
      channel: '#opnfv-yardstick'
      repeats: 'weekly'
      time:  '08:30 UTC'
repositories:
    - 'yardstick'
committers:
    - <<: *opnfv_yardstick_ptl
    - name: 'Jörgen Karlsson'
      email: 'jorgen.w.karlsson@ericsson.com'
      company: 'ericsson.com'
      id: 'jnon'
    - name: 'Kubi'
      email: 'jean.gaoliang@huawei.com'
      company: 'huawei.com'
      id: 'kubi'
    - name: 'Rex Lee'
      email: 'limingjiang@huawei.com'
      company: 'huawei.com'
      id: 'rexlee8776'
    - name: 'Jing Lu'
      email: 'lvjing5@huawei.com'
      company: 'huawei.com'
      id: 'JingLu5'
    - name: 'zhihui wu'
      email: 'wu.zhihui1@zte.com.cn'
      company: 'zte.com.cn'
      id: 'wu.zhihui'
    - name: 'Trevor Cooper'
      email: 'trevor.cooper@intel.com'
      company: 'intel.com'
      id: 'trev'
    - name: 'Jack Chan'
      email: 'chenjiankun1@huawei.com'
      company: 'huawei.com'
      id: 'chenjiankun'
    - name: 'Emma Foley'
      email: 'emma.l.foley@intel.com'
      company: 'intel.com'
      id: 'elfoley'
    - name: 'Rodolfo Alonso Hernandez'
      email: 'rodolfo.alonso.hernandez@intel.com'
      company: 'intel.com'
      id: 'rodolfo.ah'
    - name: 'Kanglin Yin'
      email: '14_ykl@tongji.edu.cn'
      company: 'tongji.edu.cn'
      id: 'tjuyinkanglin'
    - name: 'Abhijit Sinha'
      email: 'abhijit.sinha@intel.com'
      company: 'intel.com'
      id: 'abhijitsinha'
tsc:
    # yamllint disable rule:line-length
    approval: 'http//meetbot.opnfv.org/meetings/'
    # yamllint enable rule:line-length
an>xrange(d['start'], d['stop'] + margin(d['start'], d['stop']), d['step']) for d in runner_cfg['iterators']] param_names = [d['name'] for d in runner_cfg['iterators']] iter_type = runner_cfg.get("iter_type", "nested_for_loops") if iter_type == 'nested_for_loops': # Create a complete combination set of all parameter lists loop_iter = itertools.product(*param_iters) elif iter_type == 'tuple_loops': # Combine each i;th index of respective parameter list loop_iter = itertools.izip(*param_iters) else: LOG.warning("iter_type unrecognized: %s", iter_type) raise # Populate options and run the requested method for each value combination for comb_values in loop_iter: if aborted.is_set(): break LOG.debug("runner=%(runner)s seq=%(sequence)s START", {"runner": runner_cfg["runner_id"], "sequence": sequence}) for i, value in enumerate(comb_values): options[param_names[i]] = value data = {} errors = "" try: method(data) except AssertionError as assertion: # SLA validation failed in scenario, determine what to do now if sla_action == "assert": raise elif sla_action == "monitor": LOG.warning("SLA validation failed: %s", assertion.args) errors = assertion.args except Exception as e: errors = traceback.format_exc() LOG.exception(e) time.sleep(interval) benchmark_output = { 'timestamp': time.time(), 'sequence': sequence, 'data': data, 'errors': errors } record = {'runner_id': runner_cfg['runner_id'], 'benchmark': benchmark_output} queue.put(record) LOG.debug("runner=%(runner)s seq=%(sequence)s END", {"runner": runner_cfg["runner_id"], "sequence": sequence}) sequence += 1 if (errors and sla_action is None): break benchmark.teardown() LOG.info("worker END") class ArithmeticRunner(base.Runner): '''Run a scenario arithmetically stepping input value(s) Parameters interval - time to wait between each scenario invocation type: int unit: seconds default: 1 sec iter_type: - Iteration type of input parameter(s): nested_for_loops or tuple_loops type: string unit: na default: nested_for_loops - name - name of scenario option that will be increased for each invocation type: string unit: na default: na start - value to use in first invocation of scenario type: int unit: na default: none stop - value indicating end of invocation. Can be set to same value as start for one single value. type: int unit: na default: none step - value added to start value in next invocation of scenario. Must not be set to zero. Can be set negative if start > stop type: int unit: na default: none - name - and so on...... ''' __execution_type__ = 'Arithmetic' def _run_benchmark(self, cls, method, scenario_cfg, context_cfg): self.process = multiprocessing.Process( target=_worker_process, args=(self.result_queue, cls, method, scenario_cfg, context_cfg, self.aborted)) self.process.start()