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_PROMPT_LOGIN = "opendaylight-user"
33 KARAF_PASSWORD = "karaf"
34 KARAF_PROMPT = "opendaylight-user.*root.*>"
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
68 "Content-Type": "application/json",
70 "password": "adminpass",
73 VTNWEBAPI = "/vtn-webapi"
75 CTRLS_CREATE = "controllers.json"
80 VTNS_CREATE = "vtns.json"
84 VBRS_CREATE = "vbridges.json"
88 VBRIFS_CREATE = "interfaces.json"
92 PORTMAP_CREATE = "portmap.json"
95 VLANMAP_CREATE = "vlanmaps.json"
98 PORTS = "ports/detail.json"
101 FLOWLISTS_CREATE = "flowlists.json"
104 FLOWLISTENTRIES_CREATE = "flowlistentries.json"
105 FLOWLISTS = "flowlists"
108 FLOWFILTERS_CREATE = "flowfilters.json"
109 FLOWFILTERENTRIES_CREATE = "flowfilterentries.json"
110 FLOWFILTERS = "flowfilters/in"
111 FLOWFILTERS_UPDATE = "flowfilterentries"
115 CONFIG_NODES_API = "/restconf/config/opendaylight-inventory:nodes"
116 OPERATIONAL_NODES_API = "/restconf/operational/opendaylight-inventory:nodes"
117 OPERATIONAL_NODES_NETVIRT = (
118 "/restconf/operational/network-topology:network-topology/topology/netvirt:1"
120 OPERATIONAL_TOPO_API = "/restconf/operational/network-topology:" "network-topology"
121 CONFIG_TOPO_API = "/restconf/config/network-topology:network-topology"
122 CONTROLLER_CONFIG_MOUNT = (
123 "/restconf/config/network-topology:"
124 "network-topology/topology"
125 "/topology-netconf/node/"
126 "controller-config/yang-ext:mount"
128 CONFIG_API = "/restconf/config"
129 OPERATIONAL_API = "/restconf/operational"
130 MODULES_API = "/rests/data/ietf-yang-library:modules-state"
131 VTN_INVENTORY_NODE_API = "/restconf/operational/vtn-inventory:vtn-nodes"
134 PREDEFINE_ROLE_URI = "/restconf/config/nemo-user:user-roles"
135 PREDEFINE_NODE_URI = "/restconf/config/nemo-object:node-definitions"
136 PREDEFINE_CONNECTION_URI = "/restconf/config/nemo-object:connection-definitions"
137 REGISTER_TENANT_URI = "/restconf/operations/nemo-intent:register-user"
138 STRUCTURE_INTENT_URI = "/restconf/operations/nemo-intent:structure-style-nemo-update"
139 GET_INTENTS_URI = "/retconf/config/intent:intents"
142 AUTH_TOKEN_API = "/oauth2/token"
143 REVOKE_TOKEN_API = "/oauth2/revoke"
145 # Vlan Custom Topology Path and File
146 CREATE_VLAN_TOPOLOGY_FILE = "vlan_vtn_test.py"
147 CREATE_VLAN_TOPOLOGY_FILE_PATH = "MininetTopo/" + CREATE_VLAN_TOPOLOGY_FILE
149 # Mininet Custom Topology Path and File for Path Policy
150 CREATE_PATHPOLICY_TOPOLOGY_FILE = "topo-3sw-2host_multipath.py"
151 CREATE_PATHPOLICY_TOPOLOGY_FILE_PATH = "MininetTopo/" + CREATE_PATHPOLICY_TOPOLOGY_FILE
153 GBP_REGEP_API = "/restconf/operations/endpoint:register-endpoint"
154 GBP_UNREGEP_API = "/restconf/operations/endpoint:unregister-endpoint"
155 GBP_ENDPOINTS_API = "/restconf/operational/endpoint:endpoints"
156 GBP_BASE_ENDPOINTS_API = "/restconf/operational/base-endpoint:endpoints"
157 GBP_TENANTS_API = "/restconf/config/policy:tenants"
158 OPERATIONAL_GBP_TENANTS_API = "/restconf/operational/policy:tenants"
159 GBP_TUNNELS_API = "/restconf/config/opendaylight-inventory:nodes"
161 # LISP Flow Mapping variables
162 LFM_RPC_API = "/restconf/operations/odl-mappingservice"
163 LFM_RPC_API_LI = "/restconf/operations/lfm-mapping-database"
164 LFM_SB_RPC_API = "/restconf/operations/odl-lisp-sb"
167 NEUTRON_NB_API = "/controller/nb/v2/neutron"
168 NEUTRON_NETWORKS_API = NEUTRON_NB_API + "/" + "networks"
169 NEUTRON_SUBNETS_API = NEUTRON_NB_API + "/" + "subnets"
170 NEUTRON_PORTS_API = NEUTRON_NB_API + "/" + "ports"
171 NEUTRON_ROUTERS_API = NEUTRON_NB_API + "/" + "routers"
172 OSREST = "/v2.0/networks"
174 # Openstack System Prompt
175 OS_SYSTEM_PROMPT = "$"
177 # Other global variables
178 # TODO: Move these to more apropriate sections.
181 RESTCONFPORT = "8181"
183 CONTAINER = "default"
184 PREFIX = ( # TODO: determine where this is used; create a better named variable
185 "http://" + ODL_SYSTEM_IP + ":" + PORT
187 USER = ( # TODO: who is using this? Can we make it more specific? (e.g. RESTCONF_USER)
192 AUTH = ["admin", "admin"]
194 HEADERS = {"Content-Type": "application/json"}
195 # FIXME: keep it as 'application/json' to make it work for both Bierman02
196 # and RFC8040 URLs. Change it to RFC8040 media type once RFC8040 migration
198 HEADERS_YANG_JSON = {"Content-Type": "application/json"}
199 HEADERS_XML = {"Content-Type": "application/xml"}
200 ACCEPT_XML = {"Accept": "application/xml"}
201 ACCEPT_JSON = {"Accept": "application/json"}
204 ) # Json should be default, but no-output RPC cannot have Accept header.
205 ODL_CONTROLLER_SESSION = None
211 CONTROLLER_STOP_TIMEOUT = (
212 120 # Max number of seconds test will wait for a controller to stop
214 TOPOLOGY_URL = "network-topology:network-topology/topology"
215 SEND_ACCEPT_XML_HEADERS = {
216 "Content-Type": "application/xml",
217 "Accept": "application/xml",
220 # Test deadlines global control
221 ENABLE_GLOBAL_TEST_DEADLINES = True
223 # Deprecated old variables, to be removed once all tests that need them are
224 # updated to use the new names.
225 CONTROLLER = ODL_SYSTEM_IP
226 CONTROLLERS = ["ODL_SYSTEM_1_IP", "ODL_SYSTEM_2_IP", "ODL_SYSTEM_3_IP"]
227 CONTROLLER_PASSWORD = ODL_SYSTEM_PASSWORD
228 CONTROLLER_PROMPT = ODL_SYSTEM_PROMPT
231 SET_CONFIGURATION_URI = "/restconf/operations/configuration:set-centinel-configurations"
232 GET_CONFIGURATION_URI = "/restconf/operational/configuration:configurationRecord/"
233 STREAMRECORD_CONFIG = "/restconf/config/stream:streamRecord"
234 SET_STREAMRECORD = "/restconf/operations/stream:set-stream"
235 ALERTFIELDCONTENTRULERECORD = "/restconf/config/alertrule:alertFieldContentRuleRecord/"
236 SET_ALERTFIELDCONTENTRULERECORD = (
237 "/restconf/operations/alertrule:set-alert-field-content-rule"
239 ALERTFIELDVALUERULERECORD = "/restconf/config/alertrule:alertFieldValueRuleRecord"
240 SET_ALERTFIELDVALUERULERECORD = (
241 "/restconf/operations/alertrule:set-alert-field-value-rule"
243 ALERTMESSAGECOUNTRULERECORD = "/restconf/config/alertrule:alertMessageCountRuleRecord/"
244 SET_ALERTMESSAGECOUNTRULERECORD = (
245 "/restconf/operations/alertrule:set-alert-message-count-rule"
247 GET_DASHBOARDRECORD = "/restconf/operational/dashboardrule:dashboardRecord/"
248 SET_DASHBOARDRECORD = "/restconf/operations/dashboardrule:set-dashboard"
249 DELETE_DASHBOARDRECORD = "/restconf/operations/dashboardrule:delete-dashboard"
250 SET_SUBSCRIBEUSER = "/restconf/operations/subscribe:subscribe-user"
251 SUBSCRIPTION = "/restconf/config/subscribe:subscription/"
253 # Elasticsearch Variables