Fix startup for FUNCintentRest test and add REST authentication

- fix for mismatched cell and node definitions, use smaller number if
  defined in topo
- Add basic rest authentication support
- Set up default rest login in the FUNCintentRest.topo file

Change-Id: I26e5308fd995c6e825fefe659695d172778796a7
diff --git a/TestON/drivers/common/api/controller/onosrestdriver.py b/TestON/drivers/common/api/controller/onosrestdriver.py
index 42b7680..66cd8b4 100644
--- a/TestON/drivers/common/api/controller/onosrestdriver.py
+++ b/TestON/drivers/common/api/controller/onosrestdriver.py
@@ -27,11 +27,11 @@
 class OnosRestDriver( Controller ):
 
     def __init__( self ):
+        self.pwd = None
+        self.user_name = "user"
         super( Controller, self ).__init__()
         self.ip_address = "localhost"
         self.port = "8080"
-        self.user_name = "user"
-        self.password = "CHANGEME"
 
     def connect( self, **connectargs ):
         try:
@@ -56,7 +56,7 @@
         return self.handle
 
     def send( self, ip, port, url, base="/onos/v1", method="GET",
-              query=None, data=None ):
+              query=None, data=None, debug=False ):
         """
         Arguments:
             str ip: ONOS IP Address
@@ -76,12 +76,19 @@
         # ANSWER: Not yet, but potentially https with certificates
         try:
             path = "http://" + str( ip ) + ":" + str( port ) + base + url
+            if self.user_name and self.pwd:
+                auth = (self.user_name, self.pwd)
+            else:
+                auth=None
             main.log.info( "Sending request " + path + " using " +
                            method.upper() + " method." )
             response = requests.request( method.upper(),
                                          path,
                                          params=query,
-                                         data=data )
+                                         data=data,
+                                         auth=auth )
+            if debug:
+                main.log.debug( response )
             return ( response.status_code, response.text.encode( 'utf8' ) )
         except requests.exceptions:
             main.log.exception( "Error sending request." )
@@ -147,7 +154,7 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port" +
+                main.log.warn( "No port given, reverting to port " +
                                "from topo file" )
                 port = self.port
             # NOTE: REST url requires the intent id to be in decimal form
@@ -207,8 +214,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             response = self.send( ip, port, url="/applications" )
             if response:
@@ -244,7 +251,7 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port" +
+                main.log.warn( "No port given, reverting to port " +
                                "from topo file" )
                 port = self.port
             query = "/" + str( appName ) + "/active"
@@ -296,7 +303,7 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port" +
+                main.log.warn( "No port given, reverting to port " +
                                "from topo file" )
                 port = self.port
             query = "/" + str( appName ) + "/active"
@@ -346,7 +353,7 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port" +
+                main.log.warn( "No port given, reverting to port " +
                                "from topo file" )
                 port = self.port
             query = "/" + project + str( appName )
@@ -673,8 +680,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             response = self.send( ip, port, url="/hosts" )
             if response:
@@ -713,8 +720,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             query = "/" + mac + "/" + vlan
             response = self.send( ip, port, url="/hosts" + query )
@@ -749,8 +756,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             response = self.send( ip, port, url="/topology" )
             if response:
@@ -903,8 +910,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             response = self.send( ip, port, url="/flows" )
             if response:
@@ -937,8 +944,8 @@
                 main.log.warn( "No ip given, reverting to ip from topo file" )
                 ip = self.ip_address
             if port == "DEFAULT":
-                main.log.warn( "No port given, reverting to port \
-                               from topo file" )
+                main.log.warn( "No port given, reverting to port " +
+                               "from topo file" )
                 port = self.port
             url = "/flows/" + device
             if flowId: