Merge "Minor corrections to case description and assert text"
diff --git a/TestON/core/teston.py b/TestON/core/teston.py
index c2cb118..4e53ee2 100644
--- a/TestON/core/teston.py
+++ b/TestON/core/teston.py
@@ -218,7 +218,7 @@
repeat-=1
return result
- def runCase(self,testCaseNumber):
+ def runCase( self, testCaseNumber ):
self.CurrentTestCaseNumber = testCaseNumber
self.CurrentTestCase = ""
self.stepResults = []
@@ -228,14 +228,14 @@
self.stepCount = 0
self.EXPERIMENTAL_MODE = self.FALSE
self.addCaseHeader()
- self.testCaseNumber = str(testCaseNumber)
+ self.testCaseNumber = str( testCaseNumber )
+ self.CASERESULT = self.NORESULT
stopped = False
try :
self.stepList = self.code[self.testCaseNumber].keys()
except KeyError:
- self.log.error("There is no Test-Case "+ self.testCaseNumber)
+ self.log.error( "There is no Test-Case " + self.testCaseNumber )
return self.FALSE
-
self.stepCount = 0
while self.stepCount < len(self.code[self.testCaseNumber].keys()):
result = self.runStep(self.stepList,self.code,self.testCaseNumber)
@@ -243,8 +243,11 @@
break
elif result == self.TRUE:
continue
- if not stopped :
- if all( self.TRUE == i for i in self.stepResults ):
+ if not stopped:
+ if self.CASERESULT == self.TRUE or self.CASERESULT == self.FALSE:
+ # Result was already explitily set somewhere else like skipCase()
+ pass
+ elif all( self.TRUE == i for i in self.stepResults ):
# ALL PASSED
self.CASERESULT = self.TRUE
elif self.FALSE in self.stepResults:
@@ -279,7 +282,7 @@
try :
step = stepList[self.stepCount]
self.STEPRESULT = self.NORESULT
- self.onFailMsg = "\t\tNo on fail message given"
+ self.onFailMsg = "No on fail message given"
exec code[testCaseNumber][step] in module.__dict__
self.stepCount = self.stepCount + 1
if step > 0:
@@ -293,10 +296,17 @@
else:
self.stepCache += "No Result\n"
self.stepResults.append(self.STEPRESULT)
+ except StopIteration: # Raised in self.skipCase()
+ self.log.warn( "Skipping the rest of CASE" +
+ str( testCaseNumber ) )
+ self.stepResults.append(self.STEPRESULT)
+ self.stepCache += "\t\t" + self.onFailMsg + "\n"
+ self.stepCount = self.stepCount + 1
+ return self.FALSE
except StandardError:
self.log.exception( "\nException in the following section of" +
- " code: " + str(testCaseNumber) + "." +
- str(step) + ": " + self.stepName )
+ " code: " + str( testCaseNumber ) + "." +
+ str( step ) + ": " + self.stepName )
#print code[testCaseNumber][step]
self.stepCount = self.stepCount + 1
self.logger.updateCaseResults(self)
@@ -317,7 +327,7 @@
self.stepCache = ""
self.cleanup()
self.exit()
- return main.TRUE
+ return self.TRUE
if cli.stop:
cli.stop = False
stopped = True
@@ -325,7 +335,28 @@
self.testCaseResult[str(self.CurrentTestCaseNumber)] = "Stopped"
self.logger.updateCaseResults(self)
result = self.cleanup()
- return main.FALSE
+ return self.FALSE
+
+ def skipCase( self, result="DEFAULT", msg=None ):
+ """
+ Will skip the rest of the code in a test case. The case results will be
+ determined as normal based on completed assertions unless the result
+ argument is given.
+
+ Optional Arguments:
+ result: Case insensite string. Can be 'PASS' or 'FAIL' and will set
+ the case result accordingly.
+ msg: Message to be printed when the case is skipped in the reports.
+ """
+ result = result.upper().strip()
+ if result == "PASS":
+ self.CASERESULT = self.TRUE
+ elif result == "FAIL":
+ self.CASERESULT = self.FALSE
+ self.onFailMsg = "Skipping the rest of this case. "
+ if msg:
+ self.onFailMsg += str( msg )
+ raise StopIteration
def addCaseHeader(self):
caseHeader = "\n"+"*" * 30+"\n Result summary for Testcase"+str(self.CurrentTestCaseNumber)+"\n"+"*" * 30+"\n"
diff --git a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py b/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py
index b8c592c..4d65bc6 100644
--- a/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py
+++ b/TestON/tests/FUNCvirNetNB/FUNCvirNetNB.py
@@ -287,10 +287,10 @@
network = NetworkData()
network.id = '030d6d3d-fa36-45bf-ae2b-4f4bc43a54dc'
network.tenant_id = '26cd996094344a0598b0a1af1d525cdc'
- network.shared = 'false'
+ network.shared = False
postdata = network.DictoJson()
- network.shared = 'true'
+ network.shared = True
postdatanew = network.DictoJson()
main.step( "Post Data via HTTP" )
@@ -392,7 +392,7 @@
expect='200',
actual=Deletestatus,
onpass="Delete Success",
- onfail="Delete Failed " + str( Getstatus ) + str( result ) )
+ onfail="Delete Failed " + str( Deletestatus ) + str( result ) )
main.step( "Get Data is NULL" )
Getstatus, result = main.ONOSrest.send( ctrlip, port, network.id, path+'networks/',
@@ -669,10 +669,342 @@
Getstatus, result = main.ONOSrest.send( ctrlip, port, subnet.id, path + 'subnets/',
'GET', None, None )
utilities.assert_equals(
- expect='the subnet does not exists',
+ expect='The subnet does not exists',
actual=result,
onpass="Get Subnet Success",
onfail="Get Subnet Failed " + str( Getstatus ) + str( result ) )
- if result != 'the subnet does not exists':
- main.log.error( "Delete Subnet failed" )
\ No newline at end of file
+ if result != 'The subnet does not exists':
+ main.log.error( "Delete Subnet failed" )
+
+ def CASE8( self, main ):
+
+ """
+ Test Post Port
+ """
+ import os
+
+ try:
+ from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+ except ImportError:
+ main.log.exception( "Something wrong with import file or code error." )
+ main.log.info( "Import Error, please check!" )
+ main.cleanup()
+ main.exit()
+
+ main.log.info( "ONOS Port Post test Start" )
+ main.case( "Virtual Network NBI Test - Port" )
+ main.caseExplanation = "Test Port Post NBI " +\
+ "Verify Stored Data is same with Post Data"
+
+ ctrlip = os.getenv( main.params['CTRL']['ip1'] )
+ httpport = main.params['HTTP']['port']
+ path = main.params['HTTP']['path']
+
+ main.step( "Generate Post Data" )
+ network = NetworkData()
+ network.id = '030d6d3d-fa36-45bf-ae2b-4f4bc43a54dc'
+ network.tenant_id = '26cd996094344a0598b0a1af1d525cdc'
+ subnet = SubnetData()
+ subnet.id = "e44bd655-e22c-4aeb-b1e9-ea1606875178"
+ subnet.tenant_id = network.tenant_id
+ subnet.network_id = network.id
+ port = VirtualPortData()
+ port.id = "9352e05c-58b8-4f2c-b4df-c20435ser56466"
+ port.subnet_id = subnet.id
+ port.tenant_id = network.tenant_id
+ port.network_id = network.id
+
+ networkpostdata = network.DictoJson()
+ subnetpostdata = subnet.DictoJson()
+ portpostdata = port.DictoJson()
+
+ main.step( "Post Network Data via HTTP(Post port need post network)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'networks/',
+ 'POST', None, networkpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Network Success",
+ onfail="Post Network Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Subnet Data via HTTP(Post port need post subnet)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'subnets/',
+ 'POST', None, subnetpostdata )
+ utilities.assert_equals(
+ expect='202',
+ actual=Poststatus,
+ onpass="Post Subnet Success",
+ onfail="Post Subnet Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Port Data via HTTP" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'ports/',
+ 'POST', None, portpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Port Success",
+ onfail="Post Port Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Get Port Data via HTTP" )
+ Getstatus, result = main.ONOSrest.send( ctrlip, httpport, port.id, path + 'ports/',
+ 'GET', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=Getstatus,
+ onpass="Get Port Success",
+ onfail="Get Port Failed " + str( Getstatus ) + "," + str( result ) )
+
+ main.step( "Compare Post Port Data" )
+ IDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'id' )
+ TanantIDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'tenant_id' )
+ NetoworkIDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'network_id' )
+ fixedIpresult = subnet.JsonCompare( portpostdata, result, 'port', 'fixed_ips' )
+
+ Cmpresult = IDcmpresult and TanantIDcmpresult and NetoworkIDcmpresult and fixedIpresult
+ utilities.assert_equals(
+ expect=True,
+ actual=Cmpresult,
+ onpass="Compare Success",
+ onfail="Compare Failed:ID compare:" + str( IDcmpresult ) + \
+ ",Tenant id compare:"+ str( TanantIDcmpresult ) + \
+ ",Network id compare:" + str( NetoworkIDcmpresult ) +\
+ ",FixIp compare:" + str( fixedIpresult ) )
+
+ main.step( "Clean Data via HTTP" )
+ deletestatus,result = main.ONOSrest.send( ctrlip, httpport, network.id, path + 'networks/',
+ 'DELETE', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=deletestatus,
+ onpass="Delete Network Success",
+ onfail="Delete Network Failed" )
+
+ if Cmpresult != True:
+ main.log.error( "Post port compare failed" )
+
+ def CASE9( self, main ):
+
+ """
+ Test Update Port
+ """
+ import os
+
+ try:
+ from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+ except ImportError:
+ main.log.exception( "Something wrong with import file or code error." )
+ main.log.info( "Import Error, please check!" )
+ main.cleanup()
+ main.exit()
+
+ main.log.info( "ONOS Port Update test Start" )
+ main.case( "Virtual Network NBI Test - Port" )
+ main.caseExplanation = "Test Port Update NBI " +\
+ "Verify Stored Data is same with New Post Data"
+
+ ctrlip = os.getenv( main.params['CTRL']['ip1'] )
+ httpport = main.params['HTTP']['port']
+ path = main.params['HTTP']['path']
+
+ main.step( "Generate Post Data" )
+ network = NetworkData()
+ network.id = '030d6d3d-fa36-45bf-ae2b-4f4bc43a54dc'
+ network.tenant_id = '26cd996094344a0598b0a1af1d525cdc'
+ subnet = SubnetData()
+ subnet.id = "e44bd655-e22c-4aeb-b1e9-ea1606875178"
+ subnet.tenant_id = network.tenant_id
+ subnet.network_id = network.id
+ port = VirtualPortData()
+ port.id = "9352e05c-58b8-4f2c-b4df-c20435ser56466"
+ port.subnet_id = subnet.id
+ port.tenant_id = network.tenant_id
+ port.network_id = network.id
+ port.name = "onos"
+
+ networkpostdata = network.DictoJson()
+ subnetpostdata = subnet.DictoJson()
+ portpostdata = port.DictoJson()
+
+ #create update data
+ port.name = "onos-new"
+ newportpostdata = port.DictoJson()
+ #end
+
+ main.step( "Post Network Data via HTTP(Post port need post network)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'networks/',
+ 'POST', None, networkpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Network Success",
+ onfail="Post Network Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Subnet Data via HTTP(Post port need post subnet)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'subnets/',
+ 'POST', None, subnetpostdata )
+ utilities.assert_equals(
+ expect='202',
+ actual=Poststatus,
+ onpass="Post Subnet Success",
+ onfail="Post Subnet Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Port Data via HTTP" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'ports/',
+ 'POST', None, portpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Port Success",
+ onfail="Post Port Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Update Port Data via HTTP" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, port.id, path + 'ports/',
+ 'PUT', None, newportpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Update Port Success",
+ onfail="Update Port Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Get Port Data via HTTP" )
+ Getstatus, result = main.ONOSrest.send( ctrlip, httpport, port.id, path + 'ports/',
+ 'GET', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=Getstatus,
+ onpass="Get Port Success",
+ onfail="Get Port Failed " + str( Getstatus ) + "," + str( result ) )
+
+ main.step( "Compare Update Port Data" )
+ IDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'id' )
+ TanantIDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'tenant_id' )
+ NetoworkIDcmpresult = subnet.JsonCompare( portpostdata, result, 'port', 'network_id' )
+ Nameresult = subnet.JsonCompare( newportpostdata, result, 'port', 'name' )
+
+ Cmpresult = IDcmpresult and TanantIDcmpresult and NetoworkIDcmpresult and Nameresult
+ utilities.assert_equals(
+ expect=True,
+ actual=Cmpresult,
+ onpass="Compare Success",
+ onfail="Compare Failed:ID compare:" + str( IDcmpresult ) + \
+ ",Tenant id compare:"+ str( TanantIDcmpresult ) + \
+ ",Network id compare:" + str( NetoworkIDcmpresult ) + \
+ ",Name compare:" + str(Nameresult) )
+
+ main.step( "Clean Data via HTTP" )
+ deletestatus,result = main.ONOSrest.send( ctrlip, httpport, network.id, path + 'networks/',
+ 'DELETE', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=deletestatus,
+ onpass="Delete Network Success",
+ onfail="Delete Network Failed" )
+
+ if Cmpresult != True:
+ main.log.error( "Update port compare failed" )
+
+ def CASE10( self, main ):
+
+ """
+ Test Delete Port
+ """
+ import os
+
+ try:
+ from tests.FUNCvirNetNB.dependencies.Nbdata import NetworkData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import SubnetData
+ from tests.FUNCvirNetNB.dependencies.Nbdata import VirtualPortData
+ except ImportError:
+ main.log.exception( "Something wrong with import file or code error." )
+ main.log.info( "Import Error, please check!" )
+ main.cleanup()
+ main.exit()
+
+ main.log.info( "ONOS Port Delete test Start" )
+ main.case( "Virtual Network NBI Test - Port" )
+ main.caseExplanation = "Test Port Delete NBI " +\
+ "Verify port delete success"
+
+ ctrlip = os.getenv( main.params['CTRL']['ip1'] )
+ httpport = main.params['HTTP']['port']
+ path = main.params['HTTP']['path']
+
+ main.step( "Generate Post Data" )
+ network = NetworkData()
+ network.id = '030d6d3d-fa36-45bf-ae2b-4f4bc43a54dc'
+ network.tenant_id = '26cd996094344a0598b0a1af1d525cdc'
+ subnet = SubnetData()
+ subnet.id = "e44bd655-e22c-4aeb-b1e9-ea1606875178"
+ subnet.tenant_id = network.tenant_id
+ subnet.network_id = network.id
+ port = VirtualPortData()
+ port.id = "9352e05c-58b8-4f2c-b4df-c20435ser56466"
+ port.subnet_id = subnet.id
+ port.tenant_id = network.tenant_id
+ port.network_id = network.id
+
+ networkpostdata = network.DictoJson()
+ subnetpostdata = subnet.DictoJson()
+ portpostdata = port.DictoJson()
+
+ main.step( "Post Network Data via HTTP(Post port need post network)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'networks/',
+ 'POST', None, networkpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Network Success",
+ onfail="Post Network Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Subnet Data via HTTP(Post port need post subnet)" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'subnets/',
+ 'POST', None, subnetpostdata )
+ utilities.assert_equals(
+ expect='202',
+ actual=Poststatus,
+ onpass="Post Subnet Success",
+ onfail="Post Subnet Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Post Port Data via HTTP" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, '', path + 'ports/',
+ 'POST', None, portpostdata )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Post Port Success",
+ onfail="Post Port Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Delete Port Data via HTTP" )
+ Poststatus, result = main.ONOSrest.send( ctrlip, httpport, port.id, path + 'ports/',
+ 'Delete', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=Poststatus,
+ onpass="Delete Port Success",
+ onfail="Delete Port Failed " + str( Poststatus ) + "," + str( result ) )
+
+ main.step( "Get Port Data is NULL" )
+ Getstatus, result = main.ONOSrest.send( ctrlip, httpport, port.id, path + 'ports/',
+ 'GET', None, None )
+ utilities.assert_equals(
+ expect='The virtualPort does not exists',
+ actual=result,
+ onpass="Get Port Success",
+ onfail="Get Port Failed " + str( Getstatus ) + "," + str( result ) )
+
+ if result != 'The virtualPort does not exists':
+ main.log.error( "Delete Port failed" )
+
+ main.step( "Clean Data via HTTP" )
+ deletestatus,result = main.ONOSrest.send( ctrlip, httpport, network.id, path + 'networks/',
+ 'DELETE', None, None )
+ utilities.assert_equals(
+ expect='200',
+ actual=deletestatus,
+ onpass="Delete Network Success",
+ onfail="Delete Network Failed" )
\ No newline at end of file
diff --git a/TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py b/TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py
index dadf6b2..df2121e 100644
--- a/TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py
+++ b/TestON/tests/FUNCvirNetNB/dependencies/Nbdata.py
@@ -11,12 +11,12 @@
self.state = 'ACTIVE'
self.name = 'onosfw-1'
self.physicalNetwork = 'none'
- self.admin_state_up = 'true'
+ self.admin_state_up = True
self.tenant_id = ''
- self.routerExternal = 'false'
+ self.routerExternal = False
self.type ='LOCAL'
self.segmentationID = '6'
- self.shared = 'false'
+ self.shared = False
def DictoJson(self):
@@ -72,7 +72,7 @@
Decom = DestiCompareDataDic[FirstPara][SecondPara]
except KeyError,error:
print "Key error ,This key is not found:%s"%error
- return False
+ return False
if str(Socom).lower()== str(Decom).lower():
return True
@@ -94,11 +94,11 @@
self.ipv6_address_mode = 'DHCPV6_STATELESS'
self.ipv6_ra_mode = 'DHCPV6_STATELESS'
self.cidr = '192.168.1.1/24'
- self.enable_dhcp = 'true'
+ self.enable_dhcp = True
self.dns_nameservers = 'aaa'
self.gateway_ip = '192.168.2.1'
- self.ip_version = 'INET'
- self.shared = 'false'
+ self.ip_version = '4'
+ self.shared = False
self.name = 'demo-subnet'
def DictoJson(self):
@@ -150,14 +150,14 @@
self.id = ''
self.state = 'ACTIVE'
self.bindingHostId = 'fa:16:3e:76:8e:88'
- self.allowedAddressPairs = [{'macAddress':'fa:16:3e:76:8e:88','ipAddress':'192.168.1.1'}]
+ self.allowedAddressPairs = [{'mac_address':'fa:16:3e:76:8e:88','ip_address':'192.168.1.1'}]
self.deviceOwner = 'none'
self.fixedIp = []
self.securityGroups = [{'securityGroup':'asd'}]
- self.adminStateUp = 'true'
- self.networkId = ''
- self.tenantId = ''
- self.subnetId = ''
+ self.adminStateUp = True
+ self.network_id = ''
+ self.tenant_id = ''
+ self.subnet_id = ''
self.bindingvifDetails = 'port_filter'
self.bindingvnicType = 'normal'
self.bindingvifType = 'ovs'
@@ -166,49 +166,47 @@
self.name = 'u'
def DictoJson(self):
- if self.id == '' or self.tenant_id == ' ' or self.networkId == '':
+ if self.id == '' or self.tenant_id == ' ' or \
+ self.network_id == '' or self.subnet_id == '':
print 'Id/tenant id/networkid/subnetId is necessary!'
Dicdata = {}
fixedIp =[]
- fixedIp.append({'subnetId':self.subnetId,'ipAddress':'192.168.1.4'})
+ fixedIp.append({'subnet_id':self.subnet_id,'ip_address':'192.168.1.4'})
allocation_pools = []
if self.id != '':
Dicdata['id'] = self.id
if self.state != '':
- Dicdata['state'] = self.state
+ Dicdata['status'] = self.state
if self.bindingHostId != '':
- Dicdata['bindingHostId'] = self.bindingHostId
+ Dicdata['binding:host_id'] = self.bindingHostId
if self.allowedAddressPairs != '':
- Dicdata['allowedAddressPairs'] = self.allowedAddressPairs
+ Dicdata['allowed_address_pairs'] = self.allowedAddressPairs
if self.deviceOwner != '':
- Dicdata['deviceOwner'] = self.deviceOwner
- if self.fixedIp != []:
- Dicdata['fixedIp'] = fixedIp
+ Dicdata['device_owner'] = self.deviceOwner
if self.securityGroups != '':
- Dicdata['securityGroups'] = self.securityGroups
+ Dicdata['security_groups'] = self.securityGroups
if self.adminStateUp != '':
- Dicdata['adminStateUp'] = self.adminStateUp
- if self.networkId != '':
- Dicdata['networkId'] = self.networkId
- if self.tenantId != '':
- Dicdata['tenantId'] = self.tenantId
- if self.subnetId != '':
- Dicdata['subnetId'] = self.subnetId
+ Dicdata['admin_state_up'] = self.adminStateUp
+ if self.network_id != '':
+ Dicdata['network_id'] = self.network_id
+ if self.tenant_id != '':
+ Dicdata['tenant_id'] = self.tenant_id
if self.bindingvifDetails != '':
- Dicdata['bindingvifDetails'] = self.bindingvifDetails
+ Dicdata['binding:vif_details'] = self.bindingvifDetails
if self.bindingvnicType != '':
- Dicdata['bindingvnicType'] = self.bindingvnicType
+ Dicdata['binding:vnic_type'] = self.bindingvnicType
if self.bindingvifType != '':
- Dicdata['bindingvifType'] = self.bindingvifType
+ Dicdata['binding:vif_type'] = self.bindingvifType
if self.macAddress != '':
- Dicdata['macAddress'] = self.macAddress
+ Dicdata['mac_address'] = self.macAddress
if self.deviceId != '':
- Dicdata['deviceId'] = self.deviceId
+ Dicdata['device_id'] = self.deviceId
if self.name != '':
Dicdata['name'] = self.name
- Dicdata = {'virtualport': Dicdata}
+ Dicdata['fixed_ips'] = fixedIp
+ Dicdata = {'port': Dicdata}
- return json.dumps(Dicdata,indent=4)
\ No newline at end of file
+ return json.dumps(Dicdata,indent=4)
\ No newline at end of file
diff --git a/TestON/tests/HAclusterRestart/HAclusterRestart.py b/TestON/tests/HAclusterRestart/HAclusterRestart.py
index d1f4133..b5ebe7d 100644
--- a/TestON/tests/HAclusterRestart/HAclusterRestart.py
+++ b/TestON/tests/HAclusterRestart/HAclusterRestart.py
@@ -2862,6 +2862,11 @@
onpass="All nodes successfully ran for leadership",
onfail="At least one node failed to run for leadership" )
+ if electionResult == main.FALSE:
+ main.log.error(
+ "Skipping Test Case because Election Test App isn't loaded" )
+ main.skipCase()
+
main.step( "Check that each node shows the same leader and candidates" )
sameResult = main.TRUE
failMessage = "Nodes have different leaders"
diff --git a/TestON/tests/HAminorityRestart/HAminorityRestart.py b/TestON/tests/HAminorityRestart/HAminorityRestart.py
index c16fbb7..855f380 100644
--- a/TestON/tests/HAminorityRestart/HAminorityRestart.py
+++ b/TestON/tests/HAminorityRestart/HAminorityRestart.py
@@ -2808,6 +2808,11 @@
onpass="All nodes successfully ran for leadership",
onfail="At least one node failed to run for leadership" )
+ if electionResult == main.FALSE:
+ main.log.error(
+ "Skipping Test Case because Election Test App isn't loaded" )
+ main.skipCase()
+
main.step( "Check that each node shows the same leader and candidates" )
sameResult = main.TRUE
failMessage = "Nodes have different leaders"
diff --git a/TestON/tests/HAsanity/HAsanity.py b/TestON/tests/HAsanity/HAsanity.py
index 72381ae..6ceaead 100644
--- a/TestON/tests/HAsanity/HAsanity.py
+++ b/TestON/tests/HAsanity/HAsanity.py
@@ -2739,7 +2739,7 @@
assert main.CLIs, "main.CLIs not defined"
assert main.nodes, "main.nodes not defined"
- description = "Check that Leadership Election is still functional"
+ description = "Check that Leadership Election App is still functional"
main.case( description )
# NOTE: Need to re-run since being a canidate is not persistant
# TODO: add check for "Command not found:" in the driver, this
@@ -2771,6 +2771,11 @@
onpass="All nodes successfully ran for leadership",
onfail="At least one node failed to run for leadership" )
+ if electionResult == main.FALSE:
+ main.log.error(
+ "Skipping Test Case because Election Test isn't loaded" )
+ main.skipCase()
+
main.step( "Check that each node shows the same leader and candidates" )
sameResult = main.TRUE
failMessage = "Nodes have different leaders"
diff --git a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py b/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
index b5fa9dc..8a86647 100644
--- a/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
+++ b/TestON/tests/HAsingleInstanceRestart/HAsingleInstanceRestart.py
@@ -1929,6 +1929,11 @@
onpass="All nodes successfully ran for leadership",
onfail="At least one node failed to run for leadership" )
+ if electionResult == main.FALSE:
+ main.log.error(
+ "Skipping Test Case because Election Test App isn't loaded" )
+ main.skipCase()
+
main.step( "Check that each node shows the same leader and candidates" )
sameResult = main.TRUE
failMessage = "Nodes have different leaders"
diff --git a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params b/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params
index 97e2aab..2f7ce4b 100755
--- a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params
+++ b/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.params
@@ -3,6 +3,7 @@
# 0-init, 1-setup, 10-null provider setup,
# 11-mininet setup, 20-pushing intents,
# 21-rerouting intents
+ # 0,1,10,20,1,11,20,1,10,21,1,11,21,100
<testcases>0,1,10,20,1,11,20,1,10,21,1,11,21,100</testcases>
<SCALE>
@@ -40,10 +41,15 @@
<timeout>120</timeout>
</SLEEP>
+ <DATABASE>
+ <nic>1gig</nic>
+ <node>baremetal</node>
+ </DATABASE>
+
<TEST>
<batch_size>1000</batch_size>
<min_intents>800000</min_intents>
- <max_intents>10000000</max_intents>
+ <max_intents>1000000</max_intents>
<check_interval>10000</check_interval>
</TEST>
diff --git a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py b/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py
index 867acc7..834e968 100644
--- a/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py
+++ b/TestON/tests/SCPFmaxIntents/SCPFmaxIntents.py
@@ -154,10 +154,16 @@
commit = main.ONOSbench.getVersion()
commit = commit.split(" ")[1]
+ main.log.info("Creating DB file")
+ nic = main.params['DATABASE']['nic']
+ node = main.params['DATABASE']['node']
try:
dbFileName="/tmp/MaxIntentDB"
dbfile = open(dbFileName, "w+")
temp = "'" + commit + "',"
+ temp += "'" + nic + "',"
+ temp += str(main.numCtrls) + ","
+ temp += "'" + node + "1" + "',"
dbfile.write(temp)
dbfile.close()
except IOError:
@@ -170,7 +176,6 @@
- Install ONOS cluster
- Connect to cli
"""
-
main.step( "Uninstalling ONOS package" )
onosUninstallResult = main.TRUE
for i in range( main.maxNodes ):
@@ -406,10 +411,12 @@
main.log.info("Installed intents: " + str(maxIntents) +
"\nAdded flows: " + str(maxFlows))
+ main.log.info("Writing results to DB file")
try:
dbFileName="/tmp/MaxIntentDB"
- dbfile = open(dbFileName, "a+")
- temp = "'" + str(maxIntents) + "',"
+ dbfile = open(dbFileName, "a")
+ temp = str(maxIntents) + ","
+ temp += str(maxFlows) + "\n"
dbfile.write(temp)
dbfile.close()
except IOError:
@@ -541,15 +548,6 @@
main.log.info("Installed intents: " + str(maxIntents) +
"\nAdded flows: " + str(maxFlows))
- try:
- dbFileName="/tmp/MaxIntentDB"
- dbfile = open(dbFileName, "a+")
- temp = "'" + str(maxIntents) + "',"
- dbfile.write(temp)
- dbfile.close()
- except IOError:
- main.log.warn("Error opening " + dbFileName + " to write results.")
-
# Stopping mininet
if main.switch == "of":
main.log.info("Stopping mininet")
diff --git a/TestON/tests/SCPFportLat/SCPFportLat.py b/TestON/tests/SCPFportLat/SCPFportLat.py
index b4c0721..35147ca 100644
--- a/TestON/tests/SCPFportLat/SCPFportLat.py
+++ b/TestON/tests/SCPFportLat/SCPFportLat.py
@@ -521,8 +521,8 @@
main.log.report(' Port down Link-to-graph' +
str(portDownLinkToGraphAvg) + ' ms')
- dbCmdList.append("INSERT INTO port_latency_details VALUES('" +
- timeToPost + "','port_latency_results'," + jenkinsBuildNumber +
+ dbCmdList.append(
+ "'" + timeToPost + "','port_latency_results'," + jenkinsBuildNumber +
',' + str(clusterCount) + ",'baremetal" + str(node + 1) +
"'," +
str(portUpEndToEndAvg) +',' +
@@ -532,8 +532,7 @@
str(portDownEndToEndAvg) + ',' +
str(portDownOfpToDevAvg) + ',' +
str(portDownDevToLinkAvg) + ',' +
- str(portDownLinkToGraphAvg) +
- ');')
+ str(portDownLinkToGraphAvg))
fResult = open(resultPath, 'a')
for line in dbCmdList:
diff --git a/TestON/tests/SCPFswitchLat/SCPFswitchLat.params b/TestON/tests/SCPFswitchLat/SCPFswitchLat.params
index 64ac34e..ceb184e 100644
--- a/TestON/tests/SCPFswitchLat/SCPFswitchLat.params
+++ b/TestON/tests/SCPFswitchLat/SCPFswitchLat.params
@@ -60,10 +60,10 @@
</topoConfigName>
#Number of times to iterate each case
- <numIter>13</numIter>
+ <numIter>25</numIter>
<numSwitch>2</numSwitch>
#Number of iterations to ignore initially
- <iterIgnore>2</iterIgnore>
+ <iterIgnore>5</iterIgnore>
<singleSwThreshold>0,1000</singleSwThreshold>
diff --git a/TestON/tests/SCPFswitchLat/SCPFswitchLat.py b/TestON/tests/SCPFswitchLat/SCPFswitchLat.py
index ab6715d..4ad87be 100644
--- a/TestON/tests/SCPFswitchLat/SCPFswitchLat.py
+++ b/TestON/tests/SCPFswitchLat/SCPFswitchLat.py
@@ -830,8 +830,7 @@
# For database schema, refer to Amazon web services
dbCmdList.append(
- "INSERT INTO switch_latency_details VALUES('" +
- timeToPost + "','switch_latency_results'," +
+ "'" + timeToPost + "','switch_latency_results'," +
jenkinsBuildNumber + ',' + str(clusterCount) + ",'baremetal" +
str(node + 1) + "'," +
str(endToEndAvg) + ',' +
@@ -843,8 +842,7 @@
str(endToEndDiscAvg) + ',' +
str(finAckAvg) + ',' +
str(ackToDeviceAvg) + ',' +
- str(deviceToGraphDiscAvg) +
- ');')
+ str(deviceToGraphDiscAvg))
if debugMode == 'on':
main.ONOSbench.cpLogsToDir('/opt/onos/log/karaf.log',