Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

HTML

<img src="https://jenkins.onosproject.org/view/QA/job/postjob-VM/lastSuccessfulBuild/artifact/HAscaling_master_20-builds_graph.jpg", alt="HAscaling", style="width:525px;height:350px;border:0">

commit b53d626fb03195129c0ec0802e1f953f85dcbef8 (HEAD, origin/master, origin/HEAD, master)
Author: pierventre [pier@opennetworking.org]
AuthorDate: Wed Sep 22 11:24:38 2021 +0200
Commit: Pier Luigi Ventre [pier@opennetworking.org]
CommitDate: Thu Sep 23 07:38:36 2021 +0000

[SDFAB-612] Cluster not ready when using recent tost master images
--
(cherry picked from commit ec0e942320ef27932b4173172055151015261d7c)

Case 1: Constructing test variables and building ONOS package - PASS

For loading from params file, and pull and build the latest ONOS package

  • 1.1 Constructing test variables - PASS (tick)
  • 1.2 Apply cell
HTML

<iframe src="https://onos-jenkins.onlab.us/job/HAscaling/plot/Plot-HA/getPlot?index=1&width=500&height=300"noborder="0" width="500" height="300" scrolling="yes" seamless="seamless"></iframe>

Case 1: Setting up test environment - PASS

Setup the test environment including installing ONOS, starting Mininet and ONOScli sessions.

  • 1.1 Create cell file - No Result (warning)
  • 1.2 Applying cell variable to environment - PASS (tick)
  • 1.3 Verify connectivity to cell - PASS (tick) 1.4 Setup server for cluster metadata file Uninstalling Atomix - PASS (tick)
  • 1.5 Generate initial metadata file 4 Uninstalling ONOS package - PASS (tick)
  • 1.6 5 Starting Mininet - PASS (tick)
  • 1.7 Git checkout and pull master - No Result (warning)6 Creating ONOS package - PASS (tick)
  • 1.7 Installing Atomix 1.8 Using mvn clean install - PASS (tick)
  • 1.9 Copying backup config files 8 Installing ONOS package - PASS (tick)
  • 1.10 Creating ONOS package 9 Set up ONOS secure SSH - PASS (tick)
  • 1.11 Installing 10 Checking ONOS package service - PASS (tick)
  • 1.12 Set up ONOS secure SSH 11 Starting ONOS CLI sessions - PASS (tick)
  • 1.13 12 Checking if ONOS is up yet nodes - PASS (tick)
  • 1.14 Starting ONOS CLI sessions 13 Checking ONOS applications - PASS (tick)
  • 1.15 14 Checking ONOS nodes - PASS (tick)
  • 1.16 15 Activate apps defined in the params file - No Result (warning)
  • 1.17 16 Set ONOS configurations - PASS (tick)
  • 1.17 Check app ids - PASS (tick)
  • 1.18 App Ids check Set logging levels - PASS (tick)

Case 2: Assigning devices to controllers - PASS

...

  • 5.1 Check that each switch has a master - PASS (tick)
  • 5.2 Get the Mastership of each switch from each controller - No Result (warning)
  • 5.3 Read device roles from ONOS - PASS (tick)
  • 5.3 4 Check for consistency in roles from each controller - PASS (tick)
  • 5.4 5 Get the intents from each controller - PASS (tick)
  • 5.5 6 Check for consistency in Intents from each controller - PASS (tick)
  • 5.6 7 Get the flows from each controller - PASS (tick)
  • 5.7 8 Check for consistency in Flows from each controller - PASS (tick)
  • 5.8 9 Get the OF Table entries - No Result (warning)
  • 5.9 10 Start continuous pings - No Result (warning)
  • 5.10 11 Collecting topology information from ONOS - No Result (warning)
  • 5.11 12 Host view is consistent across ONOS nodes - PASS (tick)
  • 5.12 13 Each host has an IP address - PASS (tick)
  • 5.13 14 Cluster view is consistent across ONOS nodes - PASS (tick)
  • 5.14 15 Cluster view correct across ONOS nodes - PASS (tick)
  • 5.15 16 Comparing ONOS topology to MN - PASS (tick)
  • 5.16 17 Device information is correct - PASS (tick)
  • 5.17 Links are correct 18 Links are correct - PASS (tick)
  • 5.19 Hosts are correct - PASS (tick)

Case 14: Start Leadership Election app - PASS

  • 14.1 Install leadership election app - PASS (tick)
  • 14.2 Run for election on each node - PASS (tick) 5
  • .18 Hosts are correct 14.3 Active node was elected leader? - PASS (tick)

Case

...

16: Install Primitives app - PASS

  • 14 16.1 Install leadership election Primitives app - PASS (tick)

Case 17: Check for basic functionality with distributed primitives - PASS

Test the methods of the distributed primitives (counters and sets) throught the cli

  • 17.1 Increment then get a default counter 14.2 Run for election on each node - PASS (tick) 14.3 First node was
  • elected leader 17.2 Get then Increment a default counter on each node - PASS (tick)

Case 16: Install Primitives app - PASS

  • 16.1 Install Primitives app 17.3 Counters we added have the correct values - PASS (tick)

Case 17: Check for basic functionality with distributed primitives - PASS

Test the methods of the distributed primitives (counters and sets) throught the cli

  • 17.4 Add -8 to then get a default counter on each node - PASS (tick)
  • 17.5 Add 5 to 17.1 Increment then get a default counter on each node - PASS (tick)
  • 17.2 6 Get then Increment add 5 to a default counter on each node - PASS (tick)
  • 17.3 7 Counters we added have the correct values - PASS (tick)
  • 17.8 Distributed Set get - PASS (tick)
  • 17.9 Distributed Set size - PASS (tick)
  • 17.10 Distributed Set add() - PASS (tick)
  • 17.11 Distributed Set addAll() 4 Add -8 to then get a default counter on each node - PASS (tick)
  • 17.5 Add 5 to then get a default counter on each node 12 Distributed Set contains() - PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node 13 Distributed Set containsAll() - PASS (tick)
  • 17.7 Counters we added have the correct values 14 Distributed Set remove() - PASS (tick)
  • 17.8 15 Distributed Set get removeAll() - PASS (tick)
  • 17.9 16 Distributed Set size addAll() - PASS (tick)
  • 17.10 17 Distributed Set addclear() - PASS (tick)
  • 17.11 18 Distributed Set addAll() - PASS (tick)
  • 17.12 19 Distributed Set contains() retain() - PASS (tick)
  • 17.20 Partitioned Transactional maps put - PASS (tick)
  • 17.21 Partitioned Transactional maps get - PASS (tick)
  • 17.22 Get the value of a new value - PASS (tick)
  • 17.13 Distributed Set containsAll23 Atomic Value set() - PASS (tick)
  • 17.14 Distributed Set remove24 Get the value after set() - PASS (tick)
  • 17.15 Distributed Set removeAll25 Atomic Value compareAndSet() - PASS (tick)
  • 17.16 Distributed Set addAll26 Get the value after compareAndSet() - PASS (tick)
  • 17.17 Distributed Set clear27 Atomic Value getAndSet() - PASS (tick)
  • 17.18 Distributed Set addAll28 Get the value after getAndSet() - PASS (tick)
  • 17.19 Distributed Set retain29 Atomic Value destory() - PASS (tick)
  • 17.20 Partitioned Transactional maps put 30 Get the value after destroy() - PASS (tick)
  • 17.21 Partitioned Transactional maps get 31 Work Queue add() - PASS (tick)
  • 17.22 Get the value of a new value 32 Check the work queue stats - PASS (tick)
  • 17.23 Atomic Value set33 Work Queue addMultiple() - PASS (tick)
  • 17.24 Get the value after set() 34 Check the work queue stats - PASS (tick)
  • 17.25 Atomic Value compareAndSet35 Work Queue takeAndComplete() 1 - PASS (tick)
  • 17.26 Get the value after compareAndSet() 36 Check the work queue stats - PASS (tick)
  • 17.27 Atomic Value getAndSet37 Work Queue takeAndComplete() 2 - PASS (tick)
  • 17.28 Get the value after getAndSet() 38 Check the work queue stats - PASS (tick)
  • 17.29 Atomic Value destory39 Work Queue destroy() - PASS (tick)
  • 17.30 Get the value after destroy() 40 Check the work queue stats - PASS (tick)

Case 6: Scale the number of nodes in the ONOS cluster -

...

PASS

  • 6.1 Checking ONOS Logs for errors - PASS (tick)for errors - No Result (warning)
  • 6.2 Scaling from 1 to 3 nodes - No Result (warning)
  • 6.2 3 Start new nodes - PASS (tick)
  • 6.3 Checking if ONOS is up yet 4 Set up ONOS secure SSH - PASS (tick)
  • 6.4 Starting ONOS CLI sessions 5 Checking ONOS service - PASS (tick)
  • 6.5 6 Checking ONOS nodes - FAIL (error)
  • Failed to rerun for election
  • PASS (tick)

Case 8: Compare ONOS Topology view to Mininet topology - PASS

...

  • 8.1 Comparing ONOS topology to MN topology - PASS (tick)
  • 8.2 Hosts view is consistent across all ONOS nodes - PASS (tick)
  • 8.3 Hosts information is correct - PASS (tick)
  • 8.4 Host attachment points to the network - PASS (tick)
  • 8.5 Clusters view is consistent across all ONOS nodes - PASS (tick)
  • 8.6 There is only one SCC - PASS (tick)
  • 8.7 Device information is correct - PASS (tick)
  • 8.8 Links are correct - PASS (tick)
  • 8.9 Hosts are correct - PASS (tick)
  • 8.10 Checking ONOS nodes - PASS (tick)

Case 7: Running ONOS Constant State Tests -

...

PASS

  • 7.1 Check that each switch has a master - PASS (tick)
  • 7.2 Read device roles from ONOS - PASS (tick)
  • 7.3 Check for consistency in roles from each controller - PASS (tick)
  • 7.4 Get the intents and compare across all nodes from each controller - PASS (tick)
  • 7.5 Check for consistency in Intents from each controller - PASS (tick)
  • 7.6 Compare current intents with intents before the scaling - PASS (tick)
  • 7.7 Get the OF Table entries and compare to before component scaling - PASS (tick)
  • 7.8 Leadership Election is still functional - FAIL (error)
  • Something went wrong with Leadership election
  • PASS (tick)

Case 4: Verify connectivity by sending traffic across Intents - PASS

...

  • 4.1 Check Intent state - PASS (tick)
  • 4.2 Ping across added host intents - PASS (tick)
  • 4.3 Check leadership of topics - PASS (tick)
  • 4.4 Wait a minute then ping again - PASS (tick)

Case 15: Check that Leadership Election is still functional -

...

PASS

  • 15.1 Run for election on each node - PASS (tick)
  • 15.2 Check that each node shows the same leader and candidates - PASS (tick)
  • 15.3 Find current leader and withdraw - PASS (tick)
  • 15.4 Check that a new node was elected leader - FAIL (error)
  • Something went wrong with Leadership election
  • PASS (tick)
  • 15.5 Check that that new leader was the candidate of old leader - FAIL (error)
  • Incorrect Candidate Elected
  • PASS (tick)
  • 15.6 Run for election on old leader( just so everyone is in the hat ) - PASS (tick)
  • 15.7 Check that oldLeader is a candidate, and leader if only 1 node - PASS (tick)No Result (warning)

Case 17: Check for basic functionality with distributed primitives -

...

PASS

Test the methods of the distributed primitives (counters and sets) throught the cli

  • 17.1 Increment then get a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.2 Get then Increment a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.3 Counters we added have the correct values - FAIL (error)
  • Added counters are incorrect
  • PASS (tick)
  • 17.4 Add -8 to then get a default counter on each node - FAIL (error)
  • Error incrementing
  • default counter on each node - PASS (tick)
  • 17.5 Add 5 to then get a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.7 Counters we added have the correct values - FAIL (error)
  • Added counters are incorrect
  • PASS (tick)
  • 17.8 Distributed Set get - FAIL (error)
  • Set elements are incorrect
  • PASS (tick)
  • 17.9 Distributed Set size - FAIL (error)
  • Set sizes are incorrect
  • PASS (tick)
  • 17.10 Distributed Set add() - FAIL (error)
  • Set add was incorrect
  • PASS (tick)
  • 17.11 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.12 Distributed Set contains() - FAIL (error)
  • Set contains failed
  • PASS (tick)
  • 17.13 Distributed Set containsAll() - PASS (tick)
  • 17.14 Distributed Set remove() - FAIL (error)
  • Set remove was incorrect
  • PASS (tick)
  • 17.15 Distributed Set removeAll() - FAIL (error)
  • Set removeAll was incorrect
  • PASS (tick)
  • 17.16 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.17 Distributed Set clear() - FAIL (error)
  • Set clear was incorrect
  • PASS (tick)
  • 17.18 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.19 Distributed Set retain() - FAIL (error)
  • Set retain was incorrect
  • PASS (tick)
  • 17.20 Partitioned Transactional maps put - PASS (tick)
  • 17.21 Partitioned Transactional maps get - FAIL (error)
    • Partitioned Transactional Map values incorrect
  • 17.22 Get the value of a new value - FAIL (error)
    • Error getting atomic Value None, found: ['null', None, None]
  • 17.23 Atomic Value set() - FAIL (error)
    • Error setting atomic Value[1, -1, -1]
  • 17.24 Get the value after set() - FAIL (error)
    • Error getting atomic Value foo, found: ['foo', None, None]
  • - PASS (tick)
  • 17.22 Get the value of a new value - PASS (tick)
  • 17.23 Atomic Value set() - PASS (tick)
  • 17.24 Get the value after set() - PASS (tick)
  • 17.25 Atomic Value compareAndSet() - PASS (tick)
  • 17.26 Get the value after compareAndSet() - PASS (tick)
  • 17.27 Atomic Value getAndSet() - PASS (tick)
  • 17.28 Get the value after getAndSet() - PASS (tick)
  • 17.29 Atomic Value destory() - PASS (tick)
  • 17.30 Get the value after destroy() - PASS (tick)
  • 17.31 Work Queue add() - PASS (tick)
  • 17.32 Check the work queue stats - PASS (tick)
  • 17.33 Work Queue addMultiple 17.25 Atomic Value compareAndSet() - PASS (tick)
  • 17.26 Get the value after compareAndSet() - FAIL (error)
    • Error getting atomic Value bar, found: ['bar', None, None]
  • 34 Check the work queue stats - PASS (tick)
  • 17.35 Work Queue takeAndComplete() 1 17.27 Atomic Value getAndSet() - PASS (tick)
  • 17.28 Get the value after getAndSet() - FAIL (error)
    • Error getting atomic Value: expected baz, found: ['baz', None, None]
  • 36 Check the work queue stats - PASS (tick)
  • 17.37 Work Queue takeAndComplete() 2 17.29 Atomic Value destory() - PASS (tick)
  • 17.38 Check the work queue stats - PASS (tick)
  • 17.39 Work Queue 30 Get the value after destroy() - FAIL (error)
  • Error getting atomic Value None, found: ['null', None, None]
  • PASS (tick)
  • 17.40 Check the work queue stats - PASS (tick)

Case 6: Scale the number of nodes in the ONOS cluster -

...

PASS

  • 6.1 Checking ONOS Logs for errors - PASS (tick)No Result (warning)
  • 6.2 Scaling from 3 to 5 nodes - No Result (warning)
  • 6.3 Start new nodes - PASS (tick)
  • 6.3 Checking if ONOS is up yet 4 Set up ONOS secure SSH - PASS (tick)
  • 6.4 Starting ONOS CLI sessions 5 Checking ONOS service - PASS (tick)
  • 6.5 6 Checking ONOS nodes - FAIL (error)
  • Failed to rerun for election
  • PASS (tick)

Case 8: Compare ONOS Topology view to Mininet topology - PASS

...

  • 8.1 Comparing ONOS topology to MN topology - PASS (tick)
  • 8.2 Hosts view is consistent across all ONOS nodes - PASS (tick)
  • 8.3 Hosts information is correct - PASS (tick)
  • 8.4 Host attachment points to the network - PASS (tick)
  • 8.5 Clusters view is consistent across all ONOS nodes - PASS (tick)
  • 8.6 There is only one SCC - PASS (tick)
  • 8.7 Device information is correct - PASS (tick)
  • 8.8 Links are correct - PASS (tick)
  • 8.9 Hosts are correct - PASS (tick)
  • 8.10 Checking ONOS nodes - PASS (tick)

Case 7: Running ONOS Constant State Tests -

...

PASS

  • 7.1 Check that each switch has a master - PASS (tick)
  • 7.2 Read device roles from ONOS - PASS (tick)
  • 7.3 Check for consistency in roles from each controller - PASS (tick)
  • 7.4 Get the intents and compare across all nodes from each controller - PASS (tick)
  • 7.5 Check for consistency in Intents from each controller - PASS (tick)
  • 7.6 Compare current intents with intents before the scaling - PASS (tick)
  • 7.7 Get the OF Table entries and compare to before component scaling - PASS (tick)
  • 7.8 Leadership Election is still functional - FAIL (error)
  • Something went wrong with Leadership election
  • PASS (tick)

Case 4: Verify connectivity by sending traffic across Intents - PASS

...

  • 4.1 Check Intent state - PASS (tick)
  • 4.2 Ping across added host intents - PASS (tick)
  • 4.3 Check leadership of topics - PASS (tick)
  • 4.4 Wait a minute then ping again - PASS (tick)

Case 15: Check that Leadership Election is still functional -

...

PASS

  • 15.1 Run for election on each node - PASS (tick)
  • 15.2 Check that each node shows the same leader and candidates - PASS (tick)
  • 15.3 Find current leader and withdraw - PASS (tick)
  • 15.4 Check that a new node was elected leader - FAIL (error)
  • Something went wrong with Leadership election
  • PASS (tick)
  • 15.5 Check that that new leader was the candidate of old leader - FAIL (error)
  • Incorrect Candidate Elected
  • PASS (tick)
  • 15.6 Run for election on old leader( just so everyone is in the hat ) - PASS (tick)
  • 15.7 Check that oldLeader is a candidate, and leader if only 1 node - PASS (tick)No Result (warning)

Case 17: Check for basic functionality with distributed primitives -

...

PASS

Test the methods of the distributed primitives (counters and sets) throught the cli

  • 17.1 Increment then get a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.2 Get then Increment a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.3 Counters we added have the correct values - FAIL (error)
  • Added counters are incorrect
  • PASS (tick)
  • 17.4 Add -8 to then get a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.5 Add 5 to then get a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node - FAIL (error)
  • Error incrementing default counter
  • PASS (tick)
  • 17.7 Counters we added have the correct values - FAIL (error)
  • Added counters are incorrect
  • PASS (tick)
  • 17.8 Distributed Set get - FAIL (error)
  • Set elements are incorrect
  • PASS (tick)
  • 17.9 Distributed Set size - FAIL (error)
  • Set sizes are incorrect
  • PASS (tick)
  • 17.10 Distributed Set add() - FAIL (error)
  • Set add was incorrect
  • PASS (tick)
  • 17.11 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.12 Distributed Set contains() - FAIL (error)
  • Set contains failed
  • PASS (tick)
  • 17.13 Distributed Set containsAll() - PASS (tick)
  • 17.14 Distributed Set remove() - FAIL (error)
  • Set remove was incorrect
  • PASS (tick)
  • 17.15 Distributed Set removeAll() - FAIL (error)
  • Set removeAll was incorrect
  • PASS (tick)
  • 17.16 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.17 Distributed Set clear() - FAIL (error)
  • Set clear was incorrect
  • PASS (tick)
  • 17.18 Distributed Set addAll() - FAIL (error)
  • Set addAll was incorrect
  • PASS (tick)
  • 17.19 Distributed Set retain() - FAIL (error)
    • Set retain was incorrect
  • - PASS (tick)
  • 17.20 Partitioned Transactional maps put - PASS (tick)
  • 17.21 Partitioned Transactional maps get - PASS (tick)
  • 17.22 Get the value of a new value - PASS (tick)
  • 17.23 Atomic Value set() - PASS (tick)
  • 17.24 Get the value after set() 17.20 Partitioned Transactional maps put - PASS (tick)
  • 17.21 Partitioned Transactional maps get - FAIL (error)
  • Partitioned Transactional Map values incorrect
  • 25 Atomic Value compareAndSet() - PASS (tick)
  • 17.22 26 Get the value of a new value - FAIL (error)
  • Error getting atomic Value None, found: ['null', None, None, None, None]
  • after compareAndSet() - PASS (tick)
  • 17.23 27 Atomic Value setgetAndSet() - FAIL (error)
  • Error setting atomic Value[1, -1, -1, -1, -1]
  • PASS (tick)
  • 17.24 28 Get the value after set() - FAIL (error)
  • Error getting atomic Value foo, found: ['foo', None, None, None, None]
  • getAndSet() - PASS (tick)
  • 17.25 29 Atomic Value compareAndSetdestory() - PASS (tick)
  • 17.26 30 Get the value after compareAndSetdestroy() - PASS (tick)
  • 17.31 Work Queue add() - FAIL (error)
    • Error getting atomic Value bar, found: ['bar', None, None, None, None]
  • PASS (tick)
  • 17.32 Check the work queue stats - PASS (tick)
  • 17.33 Work Queue addMultiple 17.27 Atomic Value getAndSet() - PASS (tick)
  • 17.28 Get the value after getAndSet() - FAIL (error)
    • Error getting atomic Value: expected baz, found: ['baz', None, None, None, None]
  • 34 Check the work queue stats - PASS (tick)
  • 17.35 Work Queue takeAndComplete() 1 - PASS (tick)
  • 17.36 Check the work queue stats 17.29 Atomic Value destory() - PASS (tick)
  • 17.30 Get the value after destroy() - FAIL (error)
    • Error getting atomic Value None, found: ['null', None, None, None, None]

Case 6: Scale the number of nodes in the ONOS cluster - FAIL

  • 6.1 Checking ONOS Logs for errors 37 Work Queue takeAndComplete() 2 - PASS (tick) 6.2 Start new nodes
  • 17.38 Check the work queue stats - PASS (tick) 6
  • .3 Checking if ONOS is up yet 17.39 Work Queue destroy() - PASS (tick) 6
  • .4 Starting ONOS CLI sessions 17.40 Check the work queue stats - PASS (tick)
  • 6.5 Checking ONOS nodes - FAIL (error)
  • Failed to rerun for election

Case 6: Scale the number of nodes in the ONOS cluster - FAIL