Page tree

Have questions? Stuck? Please check our FAQ for some common questions and answers.

Skip to end of metadata
Go to start of metadata
HAfullNetPartition at 16 Nov 2020 03:29:59

HAfullNetPartition

commit 897d92d094473847a1a843b72a2b9946ad902a6e (HEAD, origin/onos-2.2, onos-2.2)
Author: Jian Li [pyguni@gmail.com]
AuthorDate: Sun Nov 15 01:02:59 2020 +0900
Commit: Jian Li [pyguni@gmail.com]
CommitDate: Sun Nov 15 02:06:41 2020 +0900

Support Kubernetes LoadBalancer service type

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 to environment - PASS (tick)
  • 1.3 Uninstalling Atomix - PASS (tick)
  • 1.4 Uninstalling ONOS package - PASS (tick)
  • 1.5 Starting Mininet - PASS (tick)
  • 1.6 Creating ONOS package - PASS (tick)
  • 1.7 Installing Atomix - PASS (tick)
  • 1.8 Installing ONOS package - PASS (tick)
  • 1.9 Set up ONOS secure SSH - PASS (tick)
  • 1.10 Checking ONOS service - PASS (tick)
  • 1.11 Starting ONOS CLI sessions - PASS (tick)
  • 1.12 Checking ONOS nodes - PASS (tick)
  • 1.13 Checking ONOS applications - PASS (tick)
  • 1.14 Checking ONOS nodes - PASS (tick)
  • 1.15 Activate apps defined in the params file - No Result (warning)
  • 1.16 Set ONOS configurations - PASS (tick)
  • 1.17 Check app ids - PASS (tick)
  • 1.18 Set logging levels - PASS (tick)

Case 2: Assigning devices to controllers - PASS

Assign switches to ONOS using 'ovs-vsctl' and check that an ONOS node becomes the master of the device.

  • 2.1 Assign switches to controllers - PASS (tick)

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

Compare topology objects between Mininet and ONOS

  • 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 21: Assigning Controller roles for switches - PASS

Check that ONOS is connected to each device. Then manually assign mastership to specific ONOS nodes using 'device-role'

  • 21.1 Assign mastership of switches to specific controllers - PASS (tick)
  • 21.2 Check mastership was correctly assigned - PASS (tick)

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

Compare topology objects between Mininet and ONOS

  • 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 3: Adding host Intents - PASS

Discover hosts by using pingall then assign predetermined host-to-host intents. After installation, check that the intent is distributed to all nodes and the state is INSTALLED

  • 3.1 Install reactive forwarding app - PASS (tick)
  • 3.2 Check app ids - PASS (tick)
  • 3.3 Discovering Hosts( Via pingall for now ) - PASS (tick)
  • 3.4 Uninstall reactive forwarding app - PASS (tick)
  • 3.5 Check app ids - PASS (tick)
  • 3.6 Add host intents via cli - PASS (tick)
  • 3.7 Intent Anti-Entropy dispersion - PASS (tick)

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

Ping across added host intents to check functionality and check the state of the intent

  • 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 5: Setting up and gathering data for current state - 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.4 Check for consistency in roles from each controller - PASS (tick)
  • 5.5 Get the intents from each controller - PASS (tick)
  • 5.6 Check for consistency in Intents from each controller - PASS (tick)
  • 5.7 Get the flows from each controller - PASS (tick)
  • 5.8 Check for consistency in Flows from each controller - PASS (tick)
  • 5.9 Get the OF Table entries - No Result (warning)
  • 5.10 Start continuous pings - No Result (warning)
  • 5.11 Collecting topology information from ONOS - No Result (warning)
  • 5.12 Host view is consistent across ONOS nodes - PASS (tick)
  • 5.13 Each host has an IP address - PASS (tick)
  • 5.14 Cluster view is consistent across ONOS nodes - PASS (tick)
  • 5.15 Cluster view correct across ONOS nodes - PASS (tick)
  • 5.16 Comparing ONOS topology to MN - PASS (tick)
  • 5.17 Device information is correct - PASS (tick)
  • 5.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)
  • 14.3 Active node was elected leader? - 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 - PASS (tick)
  • 15.5 Check that that new leader was the candidate of old leader - 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 - No Result (warning)

Case 16: Install Primitives app - PASS

  • 16.1 Install Primitives app - PASS (tick)

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

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

  • 17.1 Increment then get a default counter on each node - PASS (tick)
  • 17.2 Get then Increment a default counter on each node - PASS (tick)
  • 17.3 Counters we added have the correct values - PASS (tick)
  • 17.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 - PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node - PASS (tick)
  • 17.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() - PASS (tick)
  • 17.12 Distributed Set contains() - PASS (tick)
  • 17.13 Distributed Set containsAll() - PASS (tick)
  • 17.14 Distributed Set remove() - PASS (tick)
  • 17.15 Distributed Set removeAll() - PASS (tick)
  • 17.16 Distributed Set addAll() - PASS (tick)
  • 17.17 Distributed Set clear() - PASS (tick)
  • 17.18 Distributed Set addAll() - PASS (tick)
  • 17.19 Distributed Set retain() - FAIL (error)
    • Set retain was incorrect
  • 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() - 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() - PASS (tick)
  • 17.34 Check the work queue stats - PASS (tick)
  • 17.35 Work Queue takeAndComplete() 1 - PASS (tick)
  • 17.36 Check the work queue stats - PASS (tick)
  • 17.37 Work Queue takeAndComplete() 2 - PASS (tick)
  • 17.38 Check the work queue stats - PASS (tick)
  • 17.39 Work Queue destroy() - PASS (tick)
  • 17.40 Check the work queue stats - PASS (tick)

Case 61: Partition ONOS nodes into two distinct partitions - PASS

  • 61.1 Checking ONOS Logs for errors - No Result (warning)
  • 61.2 Partitioning ONOS nodes - PASS (tick)
  • 61.3 Sleeping 60 seconds - No Result (warning)

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

Compare topology objects between Mininet and ONOS

  • 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 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 failure - PASS (tick)
  • 7.7 Get the OF Table entries and compare to before component failure - PASS (tick)
  • 7.8 Leadership Election is still functional - PASS (tick)

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

Ping across added host intents to check functionality and check the state of the intent

  • 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 - PASS (tick)
  • 15.5 Check that that new leader was the candidate of old leader - 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 - No Result (warning)

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

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

  • 17.1 Increment then get a default counter on each node - PASS (tick)
  • 17.2 Get then Increment a default counter on each node - PASS (tick)
  • 17.3 Counters we added have the correct values - PASS (tick)
  • 17.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 - PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node - PASS (tick)
  • 17.7 Counters we added have the correct values - PASS (tick)
  • 17.8 Distributed Set get - FAIL (error)
    • Set elements are incorrect
  • 17.9 Distributed Set size - FAIL (error)
    • Set sizes are incorrect
  • 17.10 Distributed Set add() - PASS (tick)
  • 17.11 Distributed Set addAll() - PASS (tick)
  • 17.12 Distributed Set contains() - PASS (tick)
  • 17.13 Distributed Set containsAll() - PASS (tick)
  • 17.14 Distributed Set remove() - PASS (tick)
  • 17.15 Distributed Set removeAll() - PASS (tick)
  • 17.16 Distributed Set addAll() - PASS (tick)
  • 17.17 Distributed Set clear() - PASS (tick)
  • 17.18 Distributed Set addAll() - PASS (tick)
  • 17.19 Distributed Set retain() - FAIL (error)
    • Set retain was incorrect
  • 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() - 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() - PASS (tick)
  • 17.34 Check the work queue stats - PASS (tick)
  • 17.35 Work Queue takeAndComplete() 1 - PASS (tick)
  • 17.36 Check the work queue stats - PASS (tick)
  • 17.37 Work Queue takeAndComplete() 2 - PASS (tick)
  • 17.38 Check the work queue stats - PASS (tick)
  • 17.39 Work Queue destroy() - PASS (tick)
  • 17.40 Check the work queue stats - PASS (tick)

Case 62: Healing Partition - PASS

  • 62.1 Deleteing firewall rules - PASS (tick)
  • 62.2 Checking ONOS nodes - PASS (tick)

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

Compare topology objects between Mininet and ONOS

  • 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 - FAIL

  • 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 - FAIL (error)
    • ONOS nodes have different views of switch roles
  • 7.4 Get the intents 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 failure - PASS (tick)
  • 7.7 Get the OF Table entries and compare to before component failure - PASS (tick)
  • 7.8 Leadership Election is still functional - FAIL (error)
    • Something went wrong with Leadership election

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

Ping across added host intents to check functionality and check the state of the intent

  • 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 - FAIL

  • 15.1 Run for election on each node - FAIL (error)
    • At least one node failed to run for leadership
    • Skipping the rest of this case.

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

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

  • 17.1 Increment then get a default counter on each node - PASS (tick)
  • 17.2 Get then Increment a default counter on each node - PASS (tick)
  • 17.3 Counters we added have the correct values - PASS (tick)
  • 17.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 - PASS (tick)
  • 17.6 Get then add 5 to a default counter on each node - PASS (tick)
  • 17.7 Counters we added have the correct values - PASS (tick)
  • 17.8 Distributed Set get - FAIL (error)
    • Set elements are incorrect
  • 17.9 Distributed Set size - FAIL (error)
    • Set sizes are incorrect
  • 17.10 Distributed Set add() - PASS (tick)
  • 17.11 Distributed Set addAll() - PASS (tick)
  • 17.12 Distributed Set contains() - PASS (tick)
  • 17.13 Distributed Set containsAll() - PASS (tick)
  • 17.14 Distributed Set remove() - PASS (tick)
  • 17.15 Distributed Set removeAll() - PASS (tick)
  • 17.16 Distributed Set addAll() - PASS (tick)
  • 17.17 Distributed Set clear() - PASS (tick)
  • 17.18 Distributed Set addAll() - PASS (tick)
  • 17.19 Distributed Set retain() - FAIL (error)
    • Set retain was incorrect
  • 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: [None, None, None, None, None]
  • 17.23 Atomic Value set() - FAIL (error)
    • Error setting atomic Value[-1, -1, -1, -1, -1]
  • 17.24 Get the value after set() - FAIL (error)
    • Error getting atomic Value foo, found: [None, None, None, None, None]
  • 17.25 Atomic Value compareAndSet() - FAIL (error)
    • Error setting atomic Value:-1
  • 17.26 Get the value after compareAndSet() - FAIL (error)
    • Error getting atomic Value bar, found: [None, None, None, None, None]
  • 17.27 Atomic Value getAndSet() - FAIL (error)
    • Error with GetAndSet atomic Value: expected bar, found: None
  • 17.28 Get the value after getAndSet() - FAIL (error)
    • Error getting atomic Value: expected baz, found: [None, None, None, None, None]
  • 17.29 Atomic Value destory() - FAIL (error)
    • Error destroying atomic Value
  • 17.30 Get the value after destroy() - FAIL (error)
    • Error getting atomic Value None, found: [None, None, None, None, None]
  • 17.31 Work Queue add() - FAIL (error)
    • Error adding to Work Queue
  • 17.32 Check the work queue stats - No Result (warning)

Case 9: Turn off a link to ensure that Link Discovery is working properly - PASS

  • 9.1 Kill Link between s28 and s3 - PASS (tick)

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

  • No labels