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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 666 Next »

HAscaling at 15 Oct 2020 23:48:49

HAscaling

commit a5212170cc0944e5d8af5e4d6d801217fec35431 (HEAD, origin/master, origin/HEAD, master)
Author: Jian Li [pyguni@gmail.com]
AuthorDate: Mon Oct 12 02:07:30 2020 +0900
Commit: Jian Li [pyguni@gmail.com]
CommitDate: Sun Oct 11 18:44:07 2020 +0000

Support SNATing POD traffic to internet at k8s passthrough mode
--
(cherry picked from commit 2622d5a002e7eba4c00271885845be787866358a)

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 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 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 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 16: Install Primitives app - PASS

  • 16.1 Install 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 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() - 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() - 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 6: Scale the number of nodes in the ONOS cluster - FAIL

  • 6.1 Checking ONOS Logs for errors - No Result (warning)
  • 6.2 Scaling from 1 to 3 nodes - No Result (warning)
  • 6.3 Start new nodes - PASS (tick)
  • 6.4 Set up ONOS secure SSH - PASS (tick)
  • 6.5 Checking ONOS service - PASS (tick)
  • 6.6 Checking ONOS nodes - FAIL (error)
    • Failed to rerun for election

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 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 - 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 - 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 - 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() - 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() - 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 6: Scale the number of nodes in the ONOS cluster - PASS

  • 6.1 Checking ONOS Logs for errors - No Result (warning)
  • 6.2 Scaling from 3 to 5 nodes - No Result (warning)
  • 6.3 Start new nodes - PASS (tick)
  • 6.4 Set up ONOS secure SSH - PASS (tick)
  • 6.5 Checking ONOS service - PASS (tick)
  • 6.6 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 - 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 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 - 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 - 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 - 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() - 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() - 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 6: Scale the number of nodes in the ONOS cluster - FAIL

  • No labels