Changes between Initial Version and Version 1 of GeniNetworkStitchingTestPlan


Ignore:
Timestamp:
05/03/13 10:17:57 (11 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GeniNetworkStitchingTestPlan

    v1 v1  
     1[[PageOutline]]
     2
     3= GENI Network Stitching Test Plan =
     4
     5This page provides an outline of the testing for the GENI Network Stitching that is currently planned in the [http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitching Network Stitching Architecture] discussion page.   For testing described in this plan, it is assumed that the GCF tool stitcher, can be used to execute tests using credentials from the [https://www.pgeni.gpolab.bbn.com GPO PG Clearinghouse].  Upon completion of this test plan, some tests will be re-executed using [http://groups.geni.net/geni/wiki/GeniClearinghouse GENI Clearinghouse] credentials via the [https://panther.gpolab.bbn.com GENI Clearinghouse Portal].  If support for stitching is available, Flack may also be used to execute some tests in this plan. Overall goals of this plan are:
     6    - Verify that experimenters can get the resources they request.
     7    - Verify that operators can tell what resources are in use, and determine who is using the resources.
     8    - Verify that the aggregates present an accurate picture of stitching resources available.
     9    - Validate representative network stitching topologies and collect sample measurements for stitching those topologies
     10
     11
     12= Stitching Functional Tests =
     13
     14The functional tests in this plan are based on the ''GENI Network Stitching Architecture'' [http://geni.maxgigapop.net/twiki/pub/GENI/NetworkStitching/geni-network-stitching-architecture-overview.pdf overview] and [http://geni.maxgigapop.net/twiki/pub/GENI/NetworkStitching/geni-network-stitching-architecture-example.pdf example] documents.  Additionally, the [http://geni.maxgigapop.net/twiki/pub/GENI/NetworkStitching/geni-stitching-component-details-example.pdf GENI Network Stitching Component Design] document was referenced in defining the functional network stitching tests. See the [wiki:GENINetworkStitchingTestPlan#References Reference] section for the full list of documents used to define this plan.
     15
     16The GENI Network Stitching architecture uses six major components (Stitching Resource Element, Common Stitching Topology Schema, GENI Stitching Topology Service, GENI Stitching Path Computation Function, GENI Stitching Workflow Function, and  GENI AM API Network Stitching Extensions) to provide stitching operations. The functional tests do not focus on the individual components, instead they focus on accessing stitching features to create inter-aggregate VLAN network connections via GENI AM API at available substrate aggregates managers.  GPO and MAX developers are testing stitching software components in parallel.
     17
     18== GENI AM API Functions ==
     19
     20The following GENI AM API functions are to be verified in managing stitching resources using GENI AM API V3. It is expected that GCF tool (stitcher.py) will negotiate to V2 for aggregates that do not support V3.
     21      * List Resources for aggregate
     22      * Getversion
     23      * Create Sliver (allocate, provion, perform operational action start/stop/restart)
     24      * List resources for sliver (describe)
     25      * Sliver status 
     26      * Renew sliver
     27      * Delete sliver
     28      * Shutdown Sliver
     29
     30
     31== GENI RSpec Support ==
     32
     33GENI RSpec support tests will validate that each of the RSpec (Advertisement, Manifest, and Request) provide complete and accurate information.
     34
     35'''Stitching Extensions:''' [[BR]]
     36
     37    - Request RSpec with stitching extension -> to verify that extension is used
     38    - Request RSpec without stitching extension -> to verify that one is created
     39    - Stitching Path support:
     40      * Point-to-point path only
     41      * Multiple point-to-point
     42
     43'''Requests RSpec validation:''' [[BR]]
     44
     45   - RSpec Versions support (V3)
     46   - Routing profile options to include or exclude:
     47     * hop_include_list
     48     * hop_exclude_list
     49     * VLAN tags (exclude only)
     50  - Verify '''only''' bandwidth and VLAN are negotiable.
     51
     52
     53'''RSpec Input Validation:'' [[BR]]
     54
     55  - Request link with only 1 component_manager tag
     56  - Request link with 2 interface_ref elements but no component_manager elements
     57  - Request link with 2 local interface_ref elements and 1 remote interface_ref element
     58  - Request link with an interface_ref whose client_id is not the ID for any interface in the RSpec
     59  - Request stitching extension with a path that has 0 hops
     60  - Request capacity that is below minimum and above maximum reservable Capacity
     61  - Invalid Path options (not sure what this is and how to do it ?)
     62  - Invalid Routing profiles (not sure what this is and how to do it ?)
     63  - Include/exclude invalid VLANs
     64
     65 
     66'''Advertisement RSpecs:''' [[BR]]
     67
     68Advertisement RSpecs will be reviewed to verify that they accurately capture:
     69 - Stitching elements (nodes, ports, links, capacity)
     70 - VLAN IDs and their availability
     71 - VLAN Bandwidth capability
     72 
     73
     74== Negative and Boundary tests ==
     75
     76This is a starting list of scenarios that will validate negative and boundary conditions:
     77 - At ION, InstaGENI and ExoGENI, allocate resources that are not advertised, verify failure.
     78 - At ION, InstaGENI and ExoGENI, allocate VLAN tags that are already in use, verify failure.
     79 - Kill an ION circuit manually, verify recovery and logging of event.
     80 - Request a VLAN that is already in use, verify handling.
     81 - Create a request race condition where two slices (Slice1 and Slice2) request the same resources (AM1 <->VLAN1<->AM2), but Slice1 gets VLAN1 at AM1 and Slice2 gets VLAN1 at AM2. Verify results tools handle the results and properly handle resources.
     82 - Psuedo Loop Scenario:  Request PG Utah to ION to IG GPO. Then request a 2nd interface at PG Utah node to ION to same interface on same node at IG GPO.  If that fails, then request a 2nd interface on that node at IG GPO - that should work.
     83
     84= Operator Functions =
     85 
     86== VLAN Delegation ==
     87
     88Verify ability of operator to:
     89
     90  - Allocate non-OF VLAN for use by GENI Aggregates responsible for stitching path.
     91  - Verify Aggregate Advertisement RSpec reflects the non-OF VLAN allocation
     92
     93== Configuration ==
     94
     95  - Add/Modify/Delete the VLANs available for the aggregate, verify Advertisement reflects change for each add/modify/delete operation.
     96  - Modify the endpoints for a VLAN, verify Advertisement reflects change.
     97
     98
     99== Bandwidth allocation ==
     100
     101Verify ability of operator to:
     102
     103  - Allocate bandwidth for their ION connector that can be used for stitching
     104  - Verify Aggregate Advertisement RSpec reflects bandwidth allocation defined by operator
     105
     106(Note: allocation does not require bandwidth enforcement at this point in time.)
     107 
     108== Monitoring ==
     109
     110Verify ability to access data that allows GENI to track the following over time:
     111
     112 - existing slices/experiments
     113 - mapping slices/experiments to resources/slivers
     114 - mapping slices to sliver to user
     115 - map circuit ID to sliver or slice (for I2)
     116 - map VLAN ID on a given port to a sliver or slice. The VLAN ID for a given connection might be different and on different ports in the aggregate.
     117 - Stitching traffic statistics
     118
     119= Experimenter Functions =
     120
     121Experimenter functions focus on verification of basic experiment scenario with the following priorities:
     122 - GENI Rack to GENI Rack stitching
     123 - Stitching with representative regional and core networks
     124 - Stitching GENI Rack to non-rack resources.
     125 
     126== Experiment Resources Scenarios ==
     127
     128Verify the ability to create, use, and release resources for the following:
     129 - Single slice with two endpoints using single stitched VLAN
     130   * 1 slice includes: (Aggr1<->VLAN1<->Aggr2)
     131 - Single slice with two endpoints using multiple stitched VLANs
     132   * 1 slice includes: (Aggr1<->VLAN1<->Aggr2) + (Aggr1<->VLAN2<->Aggr2) + (Aggr1<->VLAN3<->Aggr2)
     133 - Multiple slices each with two endpoints using single stitched VLAN
     134   * slice1 includes: (Aggr1<->VLAN1<->Aggr2)
     135   * slice2 includes: (Aggr1<->VLAN2<->Aggr2)
     136 - Multiple slices each with two endpoints using multiple stitched VLANs
     137   * slice1 includes: (Aggr1<->VLAN1<->Aggr2) + (Aggr1<->VLAN2<->Aggr2)
     138   * slice2 includes: (Aggr1<->VLAN3<->Aggr2) + (Aggr1<->VLAN4<->Aggr2)
     139
     140== Experiment Measurements ==
     141
     142A set of GENI Network Stitching (GNS) test topologies have been selected to validate stitching experiment scenarios before GEC17.
     143In addition to the procedure described in each test case below, benchmark measurements are to be collected in each test case. Some end-points exist in multiple test cases, so their measurements will be not be duplicated.  Measurements will characterize the following areas:
     144  - VLAN stitching setup timing
     145  - VLAN stitching tear down timing
     146  - Timing for an experiment to change data paths from one stitched VLAN to another
     147  - End-host to end-host data flow set up timing
     148  - End-host to end-host delay
     149  - Throughput between end-hosts.
     150 
     151
     152== GNS-T1 - Topology 1 - Utah InstaGENI to GPO InstaGENI ==
     153
     154Verify stitching path for a scenario that has the end-points Utah and GPO InstaGENI via Internet2 ION. This scenario will verify experimenter functions and some operator functions as described below:
     155
     156    1. As Experimenter, use GENI AM API client to submit create sliver for initial Request RSpec. No aggregate needs to be specified, aggregates are determined from the Request RSpec.
     157    2. Verify that request RSpec is expanded after Path Computation into one RSpec for each Stitching Path Aggregates (IG Utah, PG Utah, ION, and IG GPO).
     158    3. Verify that workflow agent negotiates VLAN with Utah InstaGENI using the RSpec from step 2 and generates a manifest for IG Utah resources.
     159    4. Verify that workflow agent negotiates VLAN with Utah ProtoGENI using the RSpec from step 2 and generates a manifest for PG Utah resources.
     160    5. Verify that workflow agent negotiates VLAN with GPO InstaGENI using the GPO RSpec from step 2 and generates a manifest for GPO resources.
     161    6. Verify that workflow agent negotiates VLAN with ION using the ION RSpec from step 2 and generates a manifest for ION resources.
     162    7. Verify that the final "combined" RSpec reflects the allocate stitching and non-stitching resources.
     163    8. Log in to compute resources at each Utah InstaGENI and GPO InstaGENI, gather delay and throughput measurements. Leave traffic exchange running between the end-hosts.
     164    9. As Operator, verify that nodes, ports, links, capacity can be determined as allocated for this experiment.
     165    10. As Experimenter, leave resources running with traffic being exchanged. Allow sliver to expire, verify that sliver resources/traffic have been deleted.
     166    11. As Operator, verify that expired resource resources (nodes, ports, links, capacity) are released properly and made available and part of the Advertisement RSpec.
     167   
     168Following is a diagram of the planned test topology GNS-T1:
     169
     170[[Image(GNS-T1.jpg)]]
     171
     172
     173''Note: NOX stitching resources may be delegated statically and no GENI aggregate providing stitching path is available during the experiment''
     174
     175
     176== GNS-T2 - Topology 2 - InstaGENI Utah to GPO ExoGENI ==
     177
     178Verify stitching negotiation for a scenario that has the following end-points Utah InstaGENI and GPO ExoGENI via Internet2 ION. It is expected that workflow outlined in [wiki:GENINetworkStitchingTestPlan#GNS-T1-Topology1-UtahInstaGENItoGPOInstaGENI GNS-T1] also applies in this topology.  The following steps are to be completed.
     179
     180    1. As Experimenter, use GENI AM API client to submit create sliver for initial Request RSpec. No aggregate needs to be specified, aggregates are determined from the Request RSpec.
     181    2. Verify that request RSpec is expanded after Path Computation into one RSpec for each Stitching Path Aggregates (IG Utah, PG Utah, ION, and EG GPO).
     182    3. Verify that workflow agent negotiates VLAN with Utah InstaGENI using the RSpec from step 2 and generates a manifest for IG Utah resources.
     183    4. Verify that workflow agent negotiates VLAN with Utah ProtoGENI using the RSpec from step 2 and generates a manifest for PG Utah resources.
     184    5. Verify that workflow agent negotiates VLAN with GPO ExoGENI using the GPO RSpec from step 2 and generates a manifest for GPO resources.
     185    6. Verify that workflow agent negotiates VLAN with ION using the ION RSpec from step 2 and generates a manifest for ION resources.
     186    7. Verify that the final "combined" RSpec reflects the allocate stitching and non-stitching resources.
     187    8. Log in to compute resources at each Utah InstaGENI and GPO ExoGENI, gather delay and throughput measurements. Leave traffic exchange running between the end-hosts.
     188    9. As Operator, verify that nodes, ports, links, capacity can be determined as allocated for this experiment.
     189    10. As Experimenter, release resources by deleting sliver(s) at each aggregate where compute and VLAN resources were allocated.
     190    11. As Operator, verify that released resources (nodes, ports, links, capacity) are made available and part of the Advertisement RSpec.
     191
     192Following is a diagram of the planned test topology GNS-T2:
     193
     194[[Image(GNS-T2.jpg)]]
     195
     196
     197''Note: NOX stitching resources may be delegated statically and no GENI aggregate providing stitching path is available during the experiment''
     198
     199''Note: ExoGENI Stitching support may not be available initially, if this is the case, GPO IG will replace GPO EG''
     200
     201== GNS-T3 - Topology 3 - InstaGENI Utah to GPO ExoGENI to LONI and MAX ==
     202
     203Verify scenario that includes stitched VLAN connections form the GPO ExoGENI to each of the other remotes: Utah InstaGENI, non-rack endpoints at LONI and MAX.  Other VLAN stitching scenario may also be tried, if deemed of interest. The following steps are to be completed.
     204
     205    1. As Experimenter, use GENI AM API client to submit initial Request RSpec.
     206    2. Verify that request RSpec is expanded after Path Computation into one RSpec for each Stitching Path Aggregates (IG Utah, PG Utha, ION, EG GPO, LONI, and MAX).
     207    3. Verify that workflow agent negotiates VLAN with Utah InstaGENI using the RSpec from step 2 and generates a manifest for IG Utah resources.
     208    4. Verify that workflow agent negotiates VLAN with Utah ProtoGENI using the RSpec from step 2 and generates a manifest for PG Utah resources.
     209    5. Verify that workflow agent negotiates VLAN with GPO ExoGENI using the GPO RSpec from step 2 and generates a manifest for GPO resources.
     210    6. Verify that workflow agent negotiates VLAN with ION using the ION RSpec from step 2 and generates a manifest for ION resources.
     211    7. Verify that workflow agent negotiates VLAN with LONI using the LONI RSpec from step 2 and generates a manifest for LONI resources.
     212    8. Verify that workflow agent negotiates VLAN with MAX using the MAX RSpec from step 2 and generates a manifest for MAX resources.
     213    9. Verify that the final "negotiated" RSpec is use by the agent to allocate stitching and non-stitching resources.
     214    10. Log in to compute resources at each Utah InstaGENI, GPO ExoGENI, LONI and MAX, gather delay and throughput measurements to new endpoints. Leave traffic exchange running between the end-hosts.
     215    11. As Operator, verify that nodes, ports, links, capacity can be determined as allocated for this experiment.
     216    12. As Experimenter, leave resources running with traffic being exchange. Allow sliver to expire, verify that sliver resources/traffic have been deleted.
     217    13. As Operator, verify that expired resource resources (nodes, ports, links, capacity) are released properly and made available and part of the Advertisement RSpec.
     218
     219
     220Following is a diagram of the planned test topology GNS-T3:
     221
     222[[Image(GNS-T3.jpg)]]
     223
     224
     225''Note: NOX stitching resources may be delegated statically and no GENI aggregate providing stitching path is available during the experiment''
     226
     227''Note: If the LSU GENI rack is available while testing occurs it will be used as the end-point for LONI.''
     228
     229''Note: If the University of Maryland rack is available while testing occurs it will be used as the end-point for MAX.''
     230
     231''Note: ExoGENI Stitching support may not be available initially, if this is the case, GPO IG will replace GPO EG''
     232
     233== GNS-T4 - Topology 4 - InstaGENI Utah to GPO ExoGENI to CENIC ==
     234
     235Verify stitching for a scenario that includes InstaGENI Utah, ExoGENI GPO and non-rack endpoints CENIC. The following steps are to be completed.
     236
     237    1. As Experimenter, use GENI AM API client to submit initial Request RSpec.
     238    2. Verify that request RSpec is expanded after Path Computation into one RSpec for each Stitching Path Aggregates (IG Utah, PG Utah, ION, EG GPO, and CENIC).
     239    3. Verify that workflow agent negotiates VLAN with Utah InstaGENI using the RSpec from step 2 and generates a manifest for IG Utah resources.
     240    4. Verify that workflow agent negotiates VLAN with Utah ProtoGENI using the RSpec from step 2 and generates a manifest for PG Utah resources.
     241    5. Verify that workflow agent negotiates VLAN with GPO ExoGENI using the GPO RSpec from step 2 and generates a manifest for GPO resources.
     242    6. Verify that workflow agent negotiates VLAN with ION using the ION RSpec from step 2 and generates a manifest for ION resources.
     243    7. Verify that workflow agent negotiates VLAN with CENIC using the CENIC RSpec from step 2 and generates a manifest for CENIC resources.
     244    8. Verify that the final "combined" RSpec reflects the allocate stitching and non-stitching resources.
     245    9. Log in to compute resources at each Utah InstaGENI, GPO ExoGENI and CENIC, gather delay and throughput measurements to new end-points. Leave traffic exchange running between the end-hosts.
     246    10. As Operator, verify that nodes, ports, links, capacity can be determined as allocated for this experiment.
     247    11. As Experimenter, release resources by deleting sliver(s) at each aggregate where compute and VLAN resources were allocated.
     248    12. As Operator, verify that released resources (nodes, ports, links, capacity) are made available and part of the Advertisement RSpec.
     249 
     250
     251
     252Following is a diagram of the planned test topology GNS-T4:
     253
     254[[Image(GNS-T4.jpg)]]
     255
     256''Note: NOX stitching resources may be delegated statically and no GENI aggregate providing stitching path is available during the experiment''
     257
     258''Note: ExoGENI Stitching support may not be available initially, if this is the case, GPO IG will replace GPO EG''
     259
     260== GNS-T5 - Topology 5 - InstaGENI Utah to GPO ExoGENI to NYSERNet ==
     261
     262NYSERNet includes separate path for OF and non-OF at site, and would be a new and untested scenario.  A network path is stitched to a non-existing NYSERNet endpoint.  The following steps are to be completed.
     263
     264    1. As Experimenter, use GENI AM API client to submit initial Request RSpec.
     265    2. Verify that request RSpec is expanded after Path Computation into one RSpec for each Stitching Path Aggregates (IG Utah, PG Utah, ION, EG GPO, and NYSERNet).
     266    3. Verify that workflow agent negotiates VLAN with Utah InstaGENI using the RSpec from step 2 and generates a manifest for IG Utah resources.
     267    4. Verify that workflow agent negotiates VLAN with Utah ProtoGENI using the RSpec from step 2 and generates a manifest for PG Utah resources.
     268    5. Verify that workflow agent negotiates VLAN with GPO ExoGENI using the GPO RSpec from step 2 and generates a manifest for GPO resources.
     269    6. Verify that workflow agent negotiates VLAN with ION using the ION RSpec from step 2 and generates a manifest for ION resources.
     270    7. Verify that workflow agent negotiates VLAN with NYSERNet using the NYSERNet RSpec from step 2 and generates a manifest for NYSERNet resources.
     271    8. Verify that the final "combined" RSpec reflects the allocate stitching and non-stitching resources.
     272    9. Log in to compute resources at each Utah InstaGENI, GPO ExoGENI and NYSERNet, gather delay and throughput measurements for new end-point. Leave traffic exchange running between the end-hosts.
     273    10. As Operator, verify that nodes, ports, links, capacity can be determined as allocated for this experiment.
     274    11. As Experimenter, release resources by deleting sliver(s) at each aggregate where compute and VLAN resources were allocated.
     275    12. As Operator, verify that released resources (nodes, ports, links, capacity) are made available and part of the Advertisement RSpec.
     276
     277
     278Following is a diagram of the planned test topology GNS-T5:
     279
     280[[Image(GNS-T5.jpg)]]
     281
     282''Note: NOX and NYSERNet stitching resources may be delegated statically and no GENI aggregate providing stitching path are available during the experiment ''
     283
     284''Note: ExoGENI Stitching support may not be available initially, if this is the case, GPO IG will replace GPO EG''
     285
     286
     287
     288== GNS-T6 - Topology 6 - Utah PG to GPO InstaGENI ==
     289
     290Verify stitching path for a scenario that has the end-points Utah PG and GPO InstaGENI via Internet2 ION. This scenario will verify experimenter function in the same way as described in [wiki:GENINetworkStitchingTestPlan#GNS-T1-Topology1-UtahInstaGENItoGPOInstaGENI GNS-T1]. The Stitching path is the same as [wiki:GENINetworkStitchingTestPlan#GNS-T1-Topology1-UtahInstaGENItoGPOInstaGENI GNS-T1] but without the InstaGENI aggregate.
     291
     292
     293= Post GEC17 testing =
     294
     295This section captures testing that should occur, but is expected to take place after GEC17.
     296
     297== OpenFlow Over Stitched VLAN Paths ==
     298
     299Topologies using !OpenFlow over stitched VLAN paths will be tested after GEC17 for various !OpenFlow scenarios that include a mix of aggregate end-points. It is expected that early scenarios will include a 2-step approach where the experimenter requests the VLANs to be stitched first and then the experimenter uses FOAM to create flows that use the VLANs, as they do now.  If this 2-step approach is available in an aggreate before GEC17, we will include it in the earlier tests.
     300
     301== Multi-point support ==
     302
     303Internet2 AL2S has the potential to provide additional services, such as multi-point topology for stitching.
     304
     305== Topology Service ==
     306This feature will be validated after GEC17,
     307
     308''TO DO: Need to define testing scenarios....''
     309
     310== Negotiation Support ==
     311
     312'''Stitching with Negotiation:''' [[BR]]
     313
     314Validate negotiation workflow and use of ticket calls. Verify that requests result into either a commit phase (success) or release (failure) for negotiation:
     315    - Submit allocation request, verify that this generates manifest.
     316    - Submit provision request, verify the manifest.
     317    - Submit perform operational action start/stop/restart and verify the manifest.
     318    - Verify successful and unsucessful sliver start results into expected stitching resource state.
     319 
     320'''Stitching without Negotiation:'''
     321  - Verify ability to request to a specific AM that does not support negotiation.
     322
     323
     324= References =
     325 - http://groups.geni.net/geni/attachment/wiki/GEC16Agenda/DevelopersGrabBag/geni-gec16-stitching.pdf
     326 - http://groups.geni.net/geni/wiki/GeniNetworkStitching
     327 - http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitchingOverview
     328 - http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitchingGeniApiAndRspec
     329 - http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitchingArch
     330 - http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitchingAPI