aboutsummaryrefslogtreecommitdiffstats
path: root/conf/00_common.conf
blob: 4c25b0b8b4b942abc084acdee285e86bc85ae9a2 (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 2015-2017 Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# ###########################
# Common setting potentially accessed by all components.
# ###########################

import os
import copy

# default language and encoding, which will be set in case
# that locale is not set properly
DEFAULT_LOCALE = 'en_US.UTF-8'

# default language and encoding, which will be used by external
# commands; This values will be set in case, that VSPERF parses
# command output.
DEFAULT_CMD_LOCALE = 'en_US.UTF-8'

# ############################
# Directories
# ############################

ROOT_DIR = os.path.normpath(os.path.join(
    os.path.dirname(os.path.realpath(__file__)), '../'))
TRAFFICGEN_DIR = os.path.join(ROOT_DIR, 'tools/pkt_gen')
SYSMETRICS_DIR = os.path.join(ROOT_DIR, 'tools/collectors')

# Dictionary PATHS is used for configuration of vswitches, dpdk and qemu.
# It contains paths to various utilities, temporary directories and kernel
# modules used by VSPERF. Particular sections of PATHS dictionary are spread
# among several configuration files, i.e.:
# conf/02_vswtich.conf - configuration of vswitches (i.e. PATHS['vswitch'])
#                        and dpdk (i.e. PATHS['dpdk']) can be found there
# conf/04_vnf.conf     - configuration of qemu (i.e. PATHS['qemu']) can
#                        be found there
#
# VSPERF will process PATHS dictionary before execution of every testcase
# and it will create a testcase specific dictionary TOOLS with paths to the
# utilities used by the test. During PATHS processing, following rules
# will apply for every item of PATHS dictionary:
#     item 'type' - string, which defines the type of paths ('src' or 'bin') to be selected
#           for a given section:
#               'src' means, that VSPERF will use OVS, DPDK or QEMU built from sources
#                   e.g. by execution of systems/build_base_machine.sh script during VSPERF
#                   installation
#               'bin' means, that VSPERF will use OVS, DPDK or QEMU binaries installed
#                   in the OS, e.g. via OS specific packaging system
#     item 'path' - string with valid path; Its content is checked for existence, prefixed
#           with section name and stored into TOOLS for later use
#           e.g. TOOLS['dpdk_src'] or TOOLS['vswitch_src']
#     item 'modules' - list of strings; Every value from given list is checked for '.ko'
#           suffix. In case it matches and it is not an absolute path to the module, then
#           module name is prefixed with 'path' defined for the same section
#           e.g. TOOLS['vswitch_modules'] = [
#               '/tmp/vsperf/src_vanilla/ovs/ovs/datapath/linux/openvswitch.ko']
#     all other items - string - if given string is a relative path and item 'path'
#           is defined for a given section, then item content will be prefixed with
#           content of the 'path'. Otherwise tool name will be searched within
#           standard system directories. Also any OS filename wildcards will be
#           expanded to the real path. At the end of processing, every absolute
#           path is checked for its existence. In case that temporary path (i.e. path
#           with '_tmp' suffix) doesn't exist, then log will be written and vsperf will
#           continue. If any other path will not exist, then vsperf execution will
#           be terminated with runtime error.
#
# Note: In case that 'bin' type is set for DPDK, then TOOLS['dpdk_src'] will be set to
# the value of PATHS['dpdk']['src']['path']. The reason is, that VSPERF uses downloaded
# DPDK sources to copy DPDK and testpmd into the GUEST, where testpmd is built. In case,
# that DPDK sources are not available, then vsperf will continue with test execution,
# but testpmd can't be used as a guest loopback. This is useful in case, that other guest
# loopback applications (e.g. buildin) are used by CI jobs, etc.
PATHS = {}

# ############################
# Process configuration
# ############################

# shell command to use when running commands through Pexpect
SHELL_CMD = ['/bin/bash', '-c']

# ############################
# Logging configuration
# ############################

# default log output directory for all logs
LOG_DIR = '/tmp'

# default log for all "small" executables
LOG_FILE_DEFAULT = 'overall.log'

# log file for all commands executed on host
LOG_FILE_HOST_CMDS = 'host-cmds.log'

# ############################
# Test configuration
# ############################

# verbosity of output to 'stdout'
# NOTE: output to log files is always 'debug' level
VERBOSITY = 'debug'

# dictionary of test-specific parameters. These values are accessible
# from anywhere in the test framework so be careful with naming
# conventions
TEST_PARAMS = {}

# delay enforced after every step to allow system to process changes
TEST_STEP_DELAY = 5

# ############################
# Modules
# ############################

# following modules will be excluded from automatic load by LoaderServant
# it can be used to suppress automatic load of obsoleted or abstract modules
# Example:
#   EXCLUDE_MODULES = ['ovs_vanilla', 'qemu_virtio_net', 'pidstat']
EXCLUDE_MODULES = ["testcenter-rfc2544-throughput"]
# value: false # enable_l3_odl: # value: false # enable_sfc: # value: false ############################################################################## # By editing the override-config sections below, you can override arbitrary # configuration name-space settings dea-override-config: nodes: - id: 1 interfaces: interfaces_1 role: controller,opendaylight transformations: transformations_1 - id: 2 interfaces: interfaces_1 role: mongo,controller transformations: transformations_1 - id: 3 interfaces: interfaces_1 role: ceph-osd,controller transformations: transformations_1 - id: 4 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 - id: 5 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_1 settings: editable: opendaylight: metadata: # chosen_id: Assigned during installation class: plugin default: false enabled: true label: OpenDaylight plugin toggleable: true versions: - bgpvpn_gateway: description: Define the default gateway for BGPVPN label: Default Gateway regex: error: Invalid ip number source: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ restrictions: - settings:opendaylight.enable_bgpvpn.value == false: Only needed if BGPVPN is enabled. type: text value: 0.0.0.0 weight: 16 enable_bgpvpn: description: 'This enables the bgpvpn extension of neutron togethere with the corresponding sdnvpn features in odl. This feature will disable the standart ovsdb feature from ODL. ' label: BGPVPN extensions type: checkbox value: false weight: 15 enable_l3_odl: label: Use ODL to manage L3 traffic restrictions: - networking_parameters:segmentation_type == 'vlan': Use tunneling segmentation type. - settings:public_network_assignment.assign_to_all_nodes.value == false: Assign public network to all nodes type: checkbox value: false weight: 12 enable_sfc: label: SFC features type: checkbox value: false weight: 13 metadata: default_credentials: password: admin user: admin hot_pluggable: false jetty_port: 8181 odl_features: cluster: - odl-jolokia default: - config - standard - region - package - kar - ssh - management gcr: - odl-groupbasedpolicy-ovssfc ncr: - odl-ovsdb-sfc - odl-ovsdb-sfc-rest odl-default: - odl-restconf-all - odl-aaa-authn - odl-dlux-all ovs: - odl-ovsdb-openstack sfc: - odl-sfc-model - odl-sfc-provider - odl-sfc-provider-rest - odl-sfc-sb-rest - odl-sfc-ui - odl-sfc-netconf - odl-sfc-ovs - odl-sfcofl2 vpn: - odl-vpnservice-openstack # plugin_id: Assigned during installation plugin_version: 0.9.0 restrictions: - cluster:net_provider != 'neutron': Only neutron is supported by OpenDaylight odl_v2: description: V2 version is considered as experimental label: Use V2 ML2 driver type: checkbox value: false weight: 17 rest_api_port: description: Port on which ODL REST API will be available. label: Port number regex: error: Invalid port number source: ^([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ type: text value: '8282' weight: 40 sfc_class: description: 'Classifier determines what traffic needs to be chained based on policy based on yang model. The OpenDayLight actually supports the OVSDB NetVirt and the GBP classifier in case of SFC. ' label: Classifier used by SFC restrictions: - action: hide condition: settings:opendaylight.enable_sfc.value == false type: select value: ncr values: - data: ncr label: NetVirt - data: gcr label: GBP weight: 14 weight: 70 dha-override-config: nodes: - id: 1 libvirtName: controller1 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 2 libvirtName: controller2 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 3 libvirtName: controller3 libvirtTemplate: templates/virtual_environment/vms/controller.xml - id: 4 libvirtName: compute1 libvirtTemplate: templates/virtual_environment/vms/compute.xml - id: 5 libvirtName: compute2 libvirtTemplate: templates/virtual_environment/vms/compute.xml - id: 6 libvirtName: fuel-master libvirtTemplate: templates/virtual_environment/vms/fuel.xml isFuel: yes username: root password: r00tme ############################################################################## # The verification pipeline may populate the section below with arbitrary # testing information, which post deploy can be retreived from the fuel master: # /root/deploy-config.yaml test: