documentation: Installation prerequisites
[vswitchperf.git] / conf / 00_common.conf
1 # Copyright 2015-2017 Intel Corporation.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #   http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14
15 # ###########################
16 # Common setting potentially accessed by all components.
17 # ###########################
18
19 import os
20 import copy
21
22 # default language and encoding, which will be set in case
23 # that locale is not set properly
24 DEFAULT_LOCALE = 'en_US.UTF-8'
25
26 # default language and encoding, which will be used by external
27 # commands; This values will be set in case, that VSPERF parses
28 # command output.
29 DEFAULT_CMD_LOCALE = 'en_US.UTF-8'
30
31 # ############################
32 # Directories
33 # ############################
34
35 ROOT_DIR = os.path.normpath(os.path.join(
36     os.path.dirname(os.path.realpath(__file__)), '../'))
37 TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')
38 SYSMETRICS_DIR = os.path.join(ROOT_DIR, 'tools/collectors')
39
40 # Dictionary PATHS is used for configuration of vswitches, dpdk and qemu.
41 # It contains paths to various utilities, temporary directories and kernel
42 # modules used by VSPERF. Particular sections of PATHS dictionary are spread
43 # among several configuration files, i.e.:
44 # conf/02_vswtich.conf - configuration of vswitches (i.e. PATHS['vswitch'])
45 #                        and dpdk (i.e. PATHS['dpdk']) can be found there
46 # conf/04_vnf.conf     - configuration of qemu (i.e. PATHS['qemu']) can
47 #                        be found there
48 #
49 # VSPERF will process PATHS dictionary before execution of every testcase
50 # and it will create a testcase specific dictionary TOOLS with paths to the
51 # utilities used by the test. During PATHS processing, following rules
52 # will apply for every item of PATHS dictionary:
53 #     item 'type' - string, which defines the type of paths ('src' or 'bin') to be selected
54 #           for a given section:
55 #               'src' means, that VSPERF will use OVS, DPDK or QEMU built from sources
56 #                   e.g. by execution of systems/build_base_machine.sh script during VSPERF
57 #                   installation
58 #               'bin' means, that VSPERF will use OVS, DPDK or QEMU binaries installed
59 #                   in the OS, e.g. via OS specific packaging system
60 #     item 'path' - string with valid path; Its content is checked for existence, prefixed
61 #           with section name and stored into TOOLS for later use
62 #           e.g. TOOLS['dpdk_src'] or TOOLS['vswitch_src']
63 #     item 'modules' - list of strings; Every value from given list is checked for '.ko'
64 #           suffix. In case it matches and it is not an absolute path to the module, then
65 #           module name is prefixed with 'path' defined for the same section
66 #           e.g. TOOLS['vswitch_modules'] = [
67 #               '/tmp/vsperf/src_vanilla/ovs/ovs/datapath/linux/openvswitch.ko']
68 #     all other items - string - if given string is a relative path and item 'path'
69 #           is defined for a given section, then item content will be prefixed with
70 #           content of the 'path'. Otherwise tool name will be searched within
71 #           standard system directories. Also any OS filename wildcards will be
72 #           expanded to the real path. At the end of processing, every absolute
73 #           path is checked for its existence. In case that temporary path (i.e. path
74 #           with '_tmp' suffix) doesn't exist, then log will be written and vsperf will
75 #           continue. If any other path will not exist, then vsperf execution will
76 #           be terminated with runtime error.
77 #
78 # Note: In case that 'bin' type is set for DPDK, then TOOLS['dpdk_src'] will be set to
79 # the value of PATHS['dpdk']['src']['path']. The reason is, that VSPERF uses downloaded
80 # DPDK sources to copy DPDK and testpmd into the GUEST, where testpmd is built. In case,
81 # that DPDK sources are not available, then vsperf will continue with test execution,
82 # but testpmd can't be used as a guest loopback. This is useful in case, that other guest
83 # loopback applications (e.g. buildin) are used by CI jobs, etc.
84 PATHS = {}
85
86 # ############################
87 # Process configuration
88 # ############################
89
90 # shell command to use when running commands through Pexpect
91 SHELL_CMD = ['/bin/bash', '-c']
92
93 # ############################
94 # Logging configuration
95 # ############################
96
97 # default log output directory for all logs
98 LOG_DIR = '/tmp'
99
100 # default log for all "small" executables
101 LOG_FILE_DEFAULT = 'overall.log'
102
103 # log file for all commands executed on host
104 LOG_FILE_HOST_CMDS = 'host-cmds.log'
105
106 # ############################
107 # Test configuration
108 # ############################
109
110 # verbosity of output to 'stdout'
111 # NOTE: output to log files is always 'debug' level
112 VERBOSITY = 'debug'
113
114 # dictionary of test-specific parameters. These values are accessible
115 # from anywhere in the test framework so be careful with naming
116 # conventions
117 TEST_PARAMS = {}
118
119 # delay enforced after every step to allow system to process changes
120 TEST_STEP_DELAY = 5
121
122 # ############################
123 # Modules
124 # ############################
125
126 # following modules will be excluded from automatic load by LoaderServant
127 # it can be used to suppress automatic load of obsoleted or abstract modules
128 # Example:
129 #   EXCLUDE_MODULES = ['ovs_vanilla', 'qemu_virtio_net', 'pidstat']
130 EXCLUDE_MODULES = ["testcenter-rfc2544-throughput"]