2 Definitions of common variables for the system test robot suites of the
5 Authors: Baohua Yang@IBM, Denghui Huang@IBM
6 Edited: Many times by many people
9 # VM Environment defaults
10 DEFAULT_LINUX_PROMPT = '>'
11 DEFAULT_LINUX_PROMPT_STRICT = ']>'
12 DEFAULT_USER = 'jenkins'
13 DEFAULT_TIMEOUT = '30s'
15 # ODL system variables
16 ODL_SYSTEM_IP = '127.0.0.1' # Override if ODL is not running locally to pybot
17 ODL_SYSTEM_IP_LIST = ['ODL_SYSTEM_1_IP', 'ODL_SYSTEM_2_IP', 'ODL_SYSTEM_3_IP']
18 ODL_SYSTEM_USER = DEFAULT_USER
19 ODL_SYSTEM_PASSWORD = '' # empty means use public key authentication
20 ODL_SYSTEM_PROMPT = DEFAULT_LINUX_PROMPT
22 # "Tools" system variables (mininet etc).
23 TOOLS_SYSTEM_IP = '127.0.0.1' # Override if tools are not run locally to pybot
24 TOOLS_SYSTEM_USER = DEFAULT_USER
25 TOOLS_SYSTEM_PASSWORD = '' # empty means use public key authentication
26 TOOLS_SYSTEM_PROMPT = DEFAULT_LINUX_PROMPT
29 KARAF_SHELL_PORT = '8101'
30 ESCAPE_CHARACTER = '\x1B'
31 KARAF_DETAILED_PROMPT = '@' + ESCAPE_CHARACTER + '[0m' + ESCAPE_CHARACTER + '[34mroot' + ESCAPE_CHARACTER + '[0m>'
33 KARAF_PASSWORD = 'karaf'
34 KARAF_PROMPT = 'opendaylight-user'
37 DEFAULT_ODL_LOG_LEVEL = 'INFO'
38 DEFAULT_BGPCEP_LOG_LEVEL = DEFAULT_ODL_LOG_LEVEL
39 DEFAULT_PROTOCOL_LOG_LEVEL = DEFAULT_BGPCEP_LOG_LEVEL
40 BGPCEP_LOG_LEVEL = DEFAULT_BGPCEP_LOG_LEVEL
41 PROTOCOL_LOG_LEVEL = BGPCEP_LOG_LEVEL
45 BGP_TOOL_PORT = '17900'
48 ODL_RESTCONF_USER = 'admin'
49 ODL_RESTCONF_PASSWORD = 'admin'
52 ODL_NETCONF_CONFIG_PORT = '1830'
53 ODL_NETCONF_MDSAL_PORT = '2830'
54 ODL_NETCONF_USER = 'admin'
55 ODL_NETCONF_PASSWORD = 'admin'
56 ODL_NETCONF_PROMPT = ']]>]]>'
57 ODL_NETCONF_NAMESPACE = 'urn:ietf:params:xml:ns:netconf:base:1.0'
61 ODL_OF_PLUGIN = 'lithium'
63 # VTN Coordinator Variables
66 VTNC_PREFIX = 'http://' + VTNC + ':' + VTNCPORT
67 VTNC_HEADERS = {'Content-Type': 'application/json',
68 'username': 'admin', 'password': 'adminpass'}
70 VTNWEBAPI = '/vtn-webapi'
72 CTRLS_CREATE = 'controllers.json'
77 VTNS_CREATE = 'vtns.json'
81 VBRS_CREATE = 'vbridges.json'
85 VBRIFS_CREATE = 'interfaces.json'
89 PORTMAP_CREATE = 'portmap.json'
92 VLANMAP_CREATE = 'vlanmaps.json'
95 PORTS = 'ports/detail.json'
98 FLOWLISTS_CREATE = 'flowlists.json'
101 FLOWLISTENTRIES_CREATE = 'flowlistentries.json'
102 FLOWLISTS = 'flowlists'
105 FLOWFILTERS_CREATE = 'flowfilters.json'
106 FLOWFILTERENTRIES_CREATE = 'flowfilterentries.json'
107 FLOWFILTERS = 'flowfilters/in'
108 FLOWFILTERS_UPDATE = 'flowfilterentries'
112 CONFIG_NODES_API = '/restconf/config/opendaylight-inventory:nodes'
113 OPERATIONAL_NODES_API = '/restconf/operational/opendaylight-inventory:nodes'
114 OPERATIONAL_NODES_NETVIRT = '/restconf/operational/network-topology:network-topology/topology/netvirt:1'
115 OPERATIONAL_TOPO_API = '/restconf/operational/network-topology:' \
117 CONFIG_TOPO_API = '/restconf/config/network-topology:network-topology'
118 CONTROLLER_CONFIG_MOUNT = ('/restconf/config/network-topology:'
119 'network-topology/topology'
120 '/topology-netconf/node/'
121 'controller-config/yang-ext:mount')
122 CONFIG_API = '/restconf/config'
123 OPERATIONAL_API = '/restconf/operational'
124 MODULES_API = '/restconf/modules'
125 VTN_INVENTORY_NODE_API = '/restconf/operational/vtn-inventory:vtn-nodes'
128 PREDEFINE_ROLE_URI = '/restconf/config/nemo-user:user-roles'
129 PREDEFINE_NODE_URI = '/restconf/config/nemo-object:node-definitions'
130 PREDEFINE_CONNECTION_URI = '/restconf/config/nemo-object:connection-definitions'
131 REGISTER_TENANT_URI = '/restconf/operations/nemo-intent:register-user'
132 STRUCTURE_INTENT_URI = '/restconf/operations/nemo-intent:structure-style-nemo-update'
133 GET_INTENTS_URI = '/retconf/config/intent:intents'
136 AUTH_TOKEN_API = '/oauth2/token'
137 REVOKE_TOKEN_API = '/oauth2/revoke'
139 # Base Mininet Mac address. DPID of mininet switches will be derived from this.
140 BASE_MAC_1 = '00:4b:00:00:00:00'
141 # Base IP of mininet hosts
142 BASE_IP_1 = '75.75.0.0'
144 # Vlan Custom Topology Path and File
145 CREATE_VLAN_TOPOLOGY_FILE = "vlan_vtn_test.py"
146 CREATE_VLAN_TOPOLOGY_FILE_PATH = "MininetTopo/" +\
147 CREATE_VLAN_TOPOLOGY_FILE
149 # Mininet Custom Topology Path and File
150 CREATE_FULLYMESH_TOPOLOGY_FILE = "create_fullymesh.py"
151 CREATE_FULLYMESH_TOPOLOGY_FILE_PATH = "libraries/MininetTopo/" +\
152 CREATE_FULLYMESH_TOPOLOGY_FILE
154 # Mininet Custom Topology Path and File for Path Policy
155 CREATE_PATHPOLICY_TOPOLOGY_FILE = "topo-3sw-2host_multipath.py"
156 CREATE_PATHPOLICY_TOPOLOGY_FILE_PATH = "MininetTopo/" +\
157 CREATE_PATHPOLICY_TOPOLOGY_FILE
159 GBP_REGEP_API = "/restconf/operations/endpoint:register-endpoint"
160 GBP_UNREGEP_API = "/restconf/operations/endpoint:unregister-endpoint"
161 GBP_ENDPOINTS_API = "/restconf/operational/endpoint:endpoints"
162 GBP_BASE_ENDPOINTS_API = "/restconf/operational/base-endpoint:endpoints"
163 GBP_TENANTS_API = "/restconf/config/policy:tenants"
164 OPERATIONAL_GBP_TENANTS_API = "/restconf/operational/policy:tenants"
165 GBP_TUNNELS_API = "/restconf/config/opendaylight-inventory:nodes"
167 # LISP Flow Mapping variables
168 LFM_RPC_API = "/restconf/operations/odl-mappingservice"
169 LFM_RPC_API_LI = "/restconf/operations/lfm-mapping-database"
170 LFM_SB_RPC_API = "/restconf/operations/odl-lisp-sb"
173 NEUTRON_NB_API = '/controller/nb/v2/neutron'
174 NEUTRON_NETWORKS_API = NEUTRON_NB_API + '/' + 'networks'
175 NEUTRON_PORTS_API = NEUTRON_NB_API + '/' + 'ports'
176 NEUTRON_ROUTERS_API = NEUTRON_NB_API + '/' + 'routers'
177 OSREST = '/v2.0/networks'
179 # Openstack System Prompt
180 OS_SYSTEM_PROMPT = '$'
182 # Other global variables
183 # TODO: Move these to more apropriate sections.
186 RESTCONFPORT = '8181'
188 CONTAINER = 'default'
189 PREFIX = 'http://' + ODL_SYSTEM_IP + ':' + PORT # TODO: determine where this is used; create a better named variable
190 USER = 'admin' # TODO: who is using this? Can we make it more specific? (e.g. RESTCONF_USER)
193 AUTH = [u'admin', u'admin']
195 HEADERS = {'Content-Type': 'application/json'}
196 HEADERS_YANG_JSON = {'Content-Type': 'application/yang.data+json'}
197 HEADERS_XML = {'Content-Type': 'application/xml'}
198 ACCEPT_XML = {'Accept': 'application/xml'}
199 ACCEPT_JSON = {'Accept': 'application/json'}
200 ACCEPT_EMPTY = {} # Json should be default, but no-output RPC cannot have Accept header.
201 ODL_CONTROLLER_SESSION = None
207 CONTROLLER_STOP_TIMEOUT = 120 # Max number of seconds test will wait for a controller to stop
208 TOPOLOGY_URL = 'network-topology:network-topology/topology'
209 SEND_ACCEPT_XML_HEADERS = {'Content-Type': 'application/xml', 'Accept': 'application/xml'}
211 # Test deadlines global control
212 ENABLE_GLOBAL_TEST_DEADLINES = True
214 # Deprecated old variables, to be removed once all tests that need them are
215 # updated to use the new names.
216 CONTROLLER = ODL_SYSTEM_IP
217 CONTROLLERS = ['ODL_SYSTEM_1_IP', 'ODL_SYSTEM_2_IP', 'ODL_SYSTEM_3_IP']
218 CONTROLLER_PASSWORD = ODL_SYSTEM_PASSWORD
219 CONTROLLER_PROMPT = ODL_SYSTEM_PROMPT
222 SET_CONFIGURATION_URI = '/restconf/operations/configuration:set-centinel-configurations'
223 GET_CONFIGURATION_URI = '/restconf/operational/configuration:configurationRecord/'
224 STREAMRECORD_CONFIG = '/restconf/config/stream:streamRecord'
225 SET_STREAMRECORD = '/restconf/operations/stream:set-stream'
226 ALERTFIELDCONTENTRULERECORD = '/restconf/config/alertrule:alertFieldContentRuleRecord/'
227 SET_ALERTFIELDCONTENTRULERECORD = '/restconf/operations/alertrule:set-alert-field-content-rule'
228 ALERTFIELDVALUERULERECORD = '/restconf/config/alertrule:alertFieldValueRuleRecord'
229 SET_ALERTFIELDVALUERULERECORD = '/restconf/operations/alertrule:set-alert-field-value-rule'
230 ALERTMESSAGECOUNTRULERECORD = '/restconf/config/alertrule:alertMessageCountRuleRecord/'
231 SET_ALERTMESSAGECOUNTRULERECORD = '/restconf/operations/alertrule:set-alert-message-count-rule'
232 GET_DASHBOARDRECORD = '/restconf/operational/dashboardrule:dashboardRecord/'
233 SET_DASHBOARDRECORD = '/restconf/operations/dashboardrule:set-dashboard'
234 DELETE_DASHBOARDRECORD = '/restconf/operations/dashboardrule:delete-dashboard'
235 SET_SUBSCRIBEUSER = '/restconf/operations/subscribe:subscribe-user'
236 SUBSCRIPTION = '/restconf/config/subscribe:subscription/'
238 # Elasticsearch Variables