Updated code to match new rules
[integration/test.git] / csit / variables / Variables.py
index 09002cdea7c142201a58818a86792eba25eee78f..9b3f6593aba9001aae778bf634bafe429999041d 100644 (file)
@@ -1,51 +1,54 @@
 """
-Library for the robot based system test tool of the OpenDaylight project.
+Definitions of common variables for the system test robot suites of the
+OpenDaylight project.
+
 Authors: Baohua Yang@IBM, Denghui Huang@IBM
-Updated: 2013-11-14
+Edited: Many times by many people
 """
 
-# Global variables
-CONTROLLER = '127.0.0.1'
-PORT = '8080'
-RESTPORT = '8282'
-RESTCONFPORT = '8181'
-PREFIX = 'http://' + CONTROLLER + ':' + PORT
-PROMPT = '>'  # TODO: remove this as it's vague.  need to fix any occurances of it first.
-CONTAINER = 'default'
-USER = 'admin'  # TODO: who is using this?  Can we make it more specific? (e.g.  RESTCONF_USER)
-PWD = 'admin'
-PASSWORD = 'EMPTY'
-AUTH = [u'admin', u'admin']
-SCOPE = 'sdn'
-HEADERS = {'Content-Type': 'application/json'}
-HEADERS_XML = {'Content-Type': 'application/xml'}
-ACCEPT_XML = {'Accept': 'application/xml'}
-ACCEPT_JSON = {'Accept': 'application/json'}
-ODL_CONTROLLER_SESSION = None
-TOPO_TREE_LEVEL = 2
-TOPO_TREE_DEPTH = 3
-TOPO_TREE_FANOUT = 2
-CONTROLLERS = ['CONTROLLER', 'CONTROLLER1', 'CONTROLLER2']
-CONTROLLER_PASSWORD = ''  # empty means use keys
-MININET_PASSWORD = ''  # empty means use keys
-KEYFILE_PASS = 'any'
-SSH_KEY = 'id_rsa'
-CONTROLLER_STOP_TIMEOUT = 120  # Max number of seconds test will wait for a controller to stop
-
-# KARAF Variaable
+# VM Environment defaults
+DEFAULT_LINUX_PROMPT = '>'
+DEFAULT_USER = 'jenkins'
+DEFAULT_TIMEOUT = '30s'
+
+# ODL system variables
+ODL_SYSTEM_IP = '127.0.0.1'  # Override if ODL is not running locally to pybot
+ODL_SYSTEM_IP_LIST = ['ODL_SYSTEM_1_IP', 'ODL_SYSTEM_2_IP', 'ODL_SYSTEM_3_IP']
+ODL_SYSTEM_USER = DEFAULT_USER
+ODL_SYSTEM_PASSWORD = ''  # empty means use public key authentication
+ODL_SYSTEM_PROMPT = DEFAULT_LINUX_PROMPT
+
+# "Tools" system variables (mininet etc).
+TOOLS_SYSTEM_IP = '127.0.0.1'  # Override if tools are not run locally to pybot
+TOOLS_SYSTEM_USER = DEFAULT_USER
+TOOLS_SYSTEM_PASSWORD = ''  # empty means use public key authentication
+TOOLS_SYSTEM_PROMPT = DEFAULT_LINUX_PROMPT
+
+# KARAF Variables
 KARAF_SHELL_PORT = '8101'
-ESCAPE_CHARACTER = chr(int(27))
+ESCAPE_CHARACTER = '\x1B'
 KARAF_DETAILED_PROMPT = '@' + ESCAPE_CHARACTER + '[0m' + ESCAPE_CHARACTER + '[34mroot' + ESCAPE_CHARACTER + '[0m>'
-KARAF_PROMPT = 'opendaylight-user'
 KARAF_USER = 'karaf'
 KARAF_PASSWORD = 'karaf'
+KARAF_PROMPT = 'opendaylight-user'
+
+# Logging levels
+DEFAULT_ODL_LOG_LEVEL = 'INFO'
+DEFAULT_BGPCEP_LOG_LEVEL = DEFAULT_ODL_LOG_LEVEL
+DEFAULT_PROTOCOL_LOG_LEVEL = DEFAULT_BGPCEP_LOG_LEVEL
+BGPCEP_LOG_LEVEL = DEFAULT_BGPCEP_LOG_LEVEL
+PROTOCOL_LOG_LEVEL = BGPCEP_LOG_LEVEL
 
 # BGP variables
 ODL_BGP_PORT = '1790'
 BGP_TOOL_PORT = '17900'
 
-# VM Environment Variables
-DEFAULT_LINUX_PROMPT = '>'
+# Netconf variables
+ODL_NETCONF_PORT = '2830'
+ODL_NETCONF_USER = 'admin'
+ODL_NETCONF_PASSWORD = 'admin'
+ODL_NETCONF_PROMPT = ']]>]]>'
+ODL_NETCONF_NAMESPACE = 'urn:ietf:params:xml:ns:netconf:base:1.0'
 
 # VTN Coordinator Variables
 VTNC = '127.0.0.1'
@@ -108,6 +111,7 @@ CONTROLLER_CONFIG_MOUNT = ('/restconf/config/network-topology:'
                            'controller-config/yang-ext:mount')
 CONFIG_API = '/restconf/config'
 OPERATIONAL_API = '/restconf/operational'
+MODULES_API = '/restconf/modules'
 
 # TOKEN
 AUTH_TOKEN_API = '/oauth2/token'
@@ -128,12 +132,57 @@ CREATE_FULLYMESH_TOPOLOGY_FILE = "create_fullymesh.py"
 CREATE_FULLYMESH_TOPOLOGY_FILE_PATH = "libraries/MininetTopo/" +\
                                       CREATE_FULLYMESH_TOPOLOGY_FILE
 
+# Mininet Custom Topology Path and File for Path Policy
+CREATE_PATHPOLICY_TOPOLOGY_FILE = "topo-3sw-2host_multipath.py"
+CREATE_PATHPOLICY_TOPOLOGY_FILE_PATH = "MininetTopo/" +\
+                                       CREATE_PATHPOLICY_TOPOLOGY_FILE
+
 GBP_REGEP_API = "/restconf/operations/endpoint:register-endpoint"
 GBP_UNREGEP_API = "/restconf/operations/endpoint:unregister-endpoint"
 GBP_TENANTS_API = "/restconf/config/policy:tenants"
 GBP_TUNNELS_API = "/restconf/config/opendaylight-inventory:nodes"
 
 # LISP Flow Mapping variables
-LFM_RPC_API = "/restconf/operations/mappingservice"
+LFM_RPC_API = "/restconf/operations/odl-mappingservice"
 LFM_RPC_API_LI = "/restconf/operations/lfm-mapping-database"
-LFM_SB_RPC_API = "/restconf/operations/lisp-sb"
+LFM_SB_RPC_API = "/restconf/operations/odl-lisp-sb"
+
+# Other global variables
+# TODO: Move these to more apropriate sections.
+PORT = '8080'
+RESTPORT = '8282'
+RESTCONFPORT = '8181'
+OVSDBPORT = '6640'
+CONTAINER = 'default'
+PREFIX = 'http://' + ODL_SYSTEM_IP + ':' + PORT  # TODO: determine where this is used; create a better named variable
+USER = 'admin'  # TODO: who is using this?  Can we make it more specific? (e.g.  RESTCONF_USER)
+PWD = 'admin'
+PASSWORD = 'EMPTY'
+AUTH = [u'admin', u'admin']
+SCOPE = 'sdn'
+HEADERS = {'Content-Type': 'application/json'}
+HEADERS_YANG_JSON = {'Content-Type': 'application/yang.data+json'}
+HEADERS_XML = {'Content-Type': 'application/xml'}
+ACCEPT_XML = {'Accept': 'application/xml'}
+ACCEPT_JSON = {'Accept': 'application/json'}
+ODL_CONTROLLER_SESSION = None
+TOPO_TREE_LEVEL = 2
+TOPO_TREE_DEPTH = 3
+TOPO_TREE_FANOUT = 2
+KEYFILE_PASS = 'any'
+SSH_KEY = 'id_rsa'
+CONTROLLER_STOP_TIMEOUT = 120  # Max number of seconds test will wait for a controller to stop
+TOPOLOGY_URL = 'network-topology:network-topology/topology'
+SEND_ACCEPT_XML_HEADERS = {'Content-Type': 'application/xml', 'Accept': 'application/xml'}
+
+# Deprecated old variables, to be removed once all tests that need them are
+# updated to use the new names.
+CONTROLLER = ODL_SYSTEM_IP
+CONTROLLERS = ['CONTROLLER', 'CONTROLLER1', 'CONTROLLER2']
+CONTROLLER_PASSWORD = ODL_SYSTEM_PASSWORD
+CONTROLLER_PROMPT = ODL_SYSTEM_PROMPT
+MININET = TOOLS_SYSTEM_IP
+MININET_USER = TOOLS_SYSTEM_USER
+MININET_PASSWORD = TOOLS_SYSTEM_PASSWORD
+MININET_PROMPT = TOOLS_SYSTEM_PROMPT
+PROMPT = '>'  # TODO: remove this as it's vague.  need to fix any occurances of it first.