Changes between Version 12 and Version 13 of GENIRacksHome/ExogeniRacks/AggregateSurvey


Ignore:
Timestamp:
04/11/12 13:43:26 (12 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIRacksHome/ExogeniRacks/AggregateSurvey

    v12 v13  
    88 * ORCA RENCI aggregate with GCF 1.5.2 as captured on 01/19/2012.
    99
    10 This survey mostly focuses on Aggregate Manager features by using Omni to setup a simple experiment. The AM API Acceptance test is also run to check for AM API compliance. 
    11 A GPO Development team analysis is part of the 03/20/2012 survey.  Note that the output for the Omni commands is shown on the page unless too large to show, in this case
    12 output is attached to this page.
     10Each survey has the following layout: [[BR]]
     11 1. GPO Development team analysis of survey results.
     12 2. Results from the GENI AM API Acceptance Tests
     13 3. Omni commands survey.
     14
     15Note that the output for the Omni commands is shown on the page unless too large to show, in this case output is attached to this page.
    1316
    1417= Status 03/20/2012 =
    1518
    16 Attempt to access the ExoGENI AM at https://bbn-hn.exogeni.gpolab.bbn.com:11443/orca/xmlrpc resulted in connection refused.  Using ExoSM as suggested by Ilia.
     19Attempt to access the ExoGENI AM at https://bbn-hn.exogeni.gpolab.bbn.com:11443/orca/xmlrpc resulted in connection refused.  Using ExoSM as suggested by Ilia. 
     20
     21
     22
     23== GPO Dev Team Analysis ==
     24
     25The GPO Software development team analyzed the results from this test run and came up with the following list of Known issues with ExoGENI's AM API implementation.
     26
     27Priorities (from Trac): blocker, critical, major, minor, trivial [[BR]]
     28Status: where things stand - open, closed, etc. [[BR]]
     29Categories: AM API, RSpec, Acceptance Test, Stitching, Question [[BR]]
     30Issues are ordered by priority, and by relative importance within priority.
     31
     32==== Critical Issues ====
     33|| ID || Priority || Status || Category || Description ||
     34|| 1 || critical ||  || AM API || !ListResources at ExoSM returns multiple advertisement RSpecs. This is neither valid XML nor valid RSpec. ||
     35|| 2 || critical ||  || RSpec || ExoGENI advertises RSpec GENI v3 support in !GetVersion, but the RSpecs (ad & manifest) are ProtoGENI v2. Make the RSpecs use the GENI v3 schema. (As a fallback, change the !GetVersion return).||
     36|| 3 || critical ||  || RSpec || missing schemaLocation declarations for all used schemas ||
     37|| 4|| critical || || RSpec || All Ad & manifest RSpecs must pass rspeclint, but currently do not ||
     38
     39==== Major Issues ====
     40|| ID || Priority || Status || Category || Description ||
     41|| 5 || major  ||  || AM API || !GetVersion: The top-level (parallel to code and value) is missing a `geni_api` entry.  Without this entry AM API v1 clients can't discover why they can't talk to this aggregate. ||
     42|| 6 || major ||  || AM API || !SliverStatus: Return at least a `geni_resources` entry that is empty, if not including all contained slivers. ||
     43|| 7 || major ||  || Acceptance Test || There is no 'extensions' field listed in `geni_request_rspec_versions` and `geni_ad_rspec_version` in the return from !GetVersion. Add it, including all used extensions. ||
     44|| 8 || major ||  || Acceptance Test || !ListResources does not handle the `geni_compressed` flag properly. The return value is always compressed, even if `geni_compressed` is set to False.||
     45
     46==== Minor Issues ====
     47|| ID || Priority || Status || Category || Description ||
     48|| 9 || minor || || RSpec || Does ExoGENI honor the sliver_type or ignore it? It seems to give a VM for a `sliver_type` of "raw_pc". ||
     49|| 10 || minor ||  || AM API || !CreateSliver results in a !NullPointerException if a link references a non-existent node. {{{<link client_id="center"> <interface_ref client_id="geni1:0"/> <interface_ref client_id="geni2:0"/> </link>}}} when node {{{geni1}}} is not in the request. ||
     50|| 11 || minor || || Stitching || Test stitching schema validity by using Omni's libstitch. Multiple undocumented conventions about IDs may need to be followed. ||
     51|| 12 || minor || || RSpec || You list 1 node with a hardware_type 'vm-cloud'. What about at least listing multiple sliver_types for the different EC2 style VM types, with the appropriate type_slots value for each sliver type? ||
     52|| 13 || minor || || RSpec || You list 1 node for each of 2 or 3 different hardware types, all for the same site. Is information duplicated? Could these reasonably be combined in any way? ||
     53|| 14 || minor || || RSpec || The dataplane IP address is missing from the manifest RSpec ||
     54|| 15 || minor ||  || RSpec || Add more info to the <interface> tag in manifest: PG includes the <ip> sub-element with IP, netmask, type ||
     55|| 16 || minor || || RSpec || Change structure of component_manager_id. AM URNs should be of the form <prefix>+name+authority+am. So use prefix+<SM site name+domain name>+authority+am ||
     56|| 17 || minor || || RSpec || Ad component_manager_id values are unlike those in sample request RSpec. Shouldn't this break something? Make these match. ||
     57|| 18 || minor || || RSpec || client_id values are changed in the manifest from the request (add a UUID), making it hard for experimenters/tools to reconcile. Can these be kept the same? ||
     58|| 19 || minor || || RSpec || Add more information to the RSpec if possible: `<component_manager>` sub-element on links, indicating the 2 AMs that control the endpoints of this link. ||
     59|| 20 || minor || || RSpec || Add more information to the RSpec if possible: `<property>` sub-element on links specifying dest_id and source_id ||
     60|| 21 || minor || || RSpec || Add more info / check form of interface `component_id`. Compare to PG form: prefix+site+interface+node/switch name:port #:name of remote, e.g. emulab.net+interface+procurve=pgeni-wash:10:ion ||
     61|| 22 || minor || || RSpec || Simplify sliver ID. How about prefix+<site>+sliver+AM name + slice name+client_id? ||
     62|| 23 || minor || || RSpec || Node component_id is the site name, making all reservations part of this same node. Maybe change exclusive to False? ||
     63|| 24 || minor ||  || Question || Are the assigned `client_id` values from the RSpec available within the running Node/vm? ||
     64|| 25 || minor ||  || Stitching RSpec || Stitching extension says scheduled=true. Probably should be false. ||
     65|| 26 || minor ||  || Stitching RSpec || stitching extension has same component_id for both port and link. Seems wrong. Maybe OK? PG has the link ID being the ID of the interface of the corresponding node. So this part of the Orca ad seems like a mistake.||
     66|| 27 || minor ||  || RSpec || The starlight Ad RSpec lists hardware_type name=orca-transit-net twice. Not a real problem, just not what he intended probably. ||
     67
     68
     69
     70
     71== AM API Acceptance Tests ==
     72
     73This section captures the GENI AM API Acceptance Test results using the ORCA ExoSM and GPO ExoGENI rack compute resources.
     74
     75 * XML files used are attached: [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request.xml request.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request1.xml request1.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request2.xml request2.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request3.xml request3.xml],and [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/bad.xml bad.xml].
     76 * Omni_config used is [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/orca-acceptance-log.txt attached]
     77 * Acceptance test logs are [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/orca-acceptance-log.txt attached].
     78
     79Acceptance tests output:
     80{{{
     81$ ./am_api_accept.py -a am-undertest -V 2 --debug
     82F.F...FNot wellformed XML:  junk after document element: line 42, column 0
     83F..Not wellformed XML:  junk after document element: line 42, column 0
     84FNot wellformed XML:  not well-formed (invalid token): line 1, column 12
     85F.
     86======================================================================
     87FAIL: test_CreateSliver: Passes if the sliver creation workflow succeeds.  Use --rspec-file to replace the default request RSpec.
     88----------------------------------------------------------------------
     89Traceback (most recent call last):
     90  File "./am_api_accept.py", line 625, in test_CreateSliver
     91    self.subtest_CreateSliverWorkflow()
     92  File "./am_api_accept.py", line 659, in subtest_CreateSliverWorkflow
     93    self.assertRspecType( request, 'request')
     94  File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 165, in assertRspecType
     95    raise WrongRspecType, msg
     96WrongRspecType: RSpec expected to have type 'request' but schema was not correct.
     97
     98======================================================================
     99FAIL: test_CreateSliverWorkflow_multiSlice: Do CreateSliver workflow with multiple slices and ensure can not do ListResources on slices with the wrong credential.
     100----------------------------------------------------------------------
     101Traceback (most recent call last):
     102  File "./am_api_accept.py", line 931, in test_CreateSliverWorkflow_multiSlice
     103    manifest[i] = "".join(self.subtest_CreateSliver( slicenames[i] ))
     104  File "./am_api_accept.py", line 1116, in subtest_CreateSliver
     105    "but instead nothing returned. AM returned:\n %s"%text)
     106  File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 112, in assertIsNotNone
     107    raise NotNoneAssertionError, msg
     108NotNoneAssertionError: Return from 'CreateSliver'expected to be XML file but instead nothing returned. AM returned:
     109 Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+acclne-1500470 expires within 1 day(s) on 2012-03-21 21:00:48 UTC
     110Asked https://geni.renci.org:11443/orca/xmlrpc to reserve resources. No manifest Rspec returned. ERROR: Exception encountered: java.lang.NullPointerException
     111
     112======================================================================
     113FAIL: test_GetVersion: Passes if a 'GetVersion' returns an XMLRPC struct containing 'geni_api' and other parameters defined in Change Set A.
     114----------------------------------------------------------------------
     115Traceback (most recent call last):
     116  File "./am_api_accept.py", line 271, in test_GetVersion
     117    self.assertKeyValueType( 'GetVersion', agg, vers, 'extensions', type([]) )
     118  File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 208, in assertKeyValueType
     119    % (method, aggName, key, str(dictionary)))
     120AssertionError: Return from 'GetVersion' at https://geni.renci.org:11443/orca/xmlrpc expected to have entry 'extensions' but instead returned:
     121{'namespace': 'http://www.protogeni.net/resources/rspec/2', 'version': '3', 'type': 'GENI', 'schema': 'http://www.protogeni.net/resources/rspec/2/request.xsd'}
     122... edited for length ...
     123
     124======================================================================
     125FAIL: test_ListResources: Passes if 'ListResources' returns an advertisement RSpec.
     126----------------------------------------------------------------------
     127Traceback (most recent call last):
     128  File "./am_api_accept.py", line 328, in test_ListResources
     129    self.subtest_ListResources()
     130  File "./am_api_accept.py", line 602, in subtest_ListResources
     131    % (agg_name, rspec[:100]))
     132AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
     133<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     134<rspec xmlns:ns2="http://hpn.east.isi.edu/rs
     135... edited for length ...
     136
     137======================================================================
     138FAIL: test_ListResources_geni_available: Passes if 'ListResources' returns an advertisement RSpec.
     139----------------------------------------------------------------------
     140Traceback (most recent call last):
     141  File "./am_api_accept.py", line 342, in test_ListResources_geni_available
     142    self.subtest_ListResources()
     143  File "./am_api_accept.py", line 602, in subtest_ListResources
     144    % (agg_name, rspec[:100]))
     145AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
     146<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     147<rspec xmlns:ns2="http://hpn.east.isi.edu/rs
     148... edited for length ...
     149
     150======================================================================
     151FAIL: test_ListResources_geni_compressed: Passes if 'ListResources' returns an advertisement RSpec.
     152----------------------------------------------------------------------
     153Traceback (most recent call last):
     154  File "./am_api_accept.py", line 335, in test_ListResources_geni_compressed
     155    self.subtest_ListResources()
     156  File "./am_api_accept.py", line 602, in subtest_ListResources
     157    % (agg_name, rspec[:100]))
     158AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
     159eAHtXetv2zi2/z5/hZH77fo68qPNtEbTwbbNdmfRKRZ93PthsSgUR3WEceRAktP2v798iIeHEiVTJOXYUwZoY8UieXh4+ON5kXzx
     160... edited for length ...
     161
     162----------------------------------------------------------------------
     163Ran 13 tests in 240.826s
     164
     165FAILED (failures=6)
     166
     167}}}
     168
     169
     170Two tests were run for individual AM API Compliance test based on GPO Dev request, their results are captured in this page.
     171
     172''' test_ListResources_geni_compressed only '''
     173
     174Test output:
     175
     176{{{
     177$ ./am_api_accept.py -a am-undertest -V 2 --debug Test.test_ListResources_geni_compressed
     178Not wellformed XML:  syntax error: line 1, column 0
     179F
     180======================================================================
     181FAIL: test_ListResources_geni_compressed: Passes if 'ListResources' returns an advertisement RSpec.
     182----------------------------------------------------------------------
     183Traceback (most recent call last):
     184  File "./am_api_accept.py", line 335, in test_ListResources_geni_compressed
     185    self.subtest_ListResources()
     186  File "./am_api_accept.py", line 602, in subtest_ListResources
     187    % (agg_name, rspec[:100]))
     188AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
     189eAHtXVtv2zq2ft+/wsh5Oz6OfGkzrdF0MG0znT3oLgZt9zkPg0GhOKojbFsOJLmXf394ERcXJUqmSMqxdxmgjRWL5OLi4sd1I/ni
     190... edited for length ...
     191
     192----------------------------------------------------------------------
     193Ran 1 test in 5.628s
     194
     195FAILED (failures=1)
     196}}}
     197
     198Files attached are: [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/acceptance-listresources.log acceptance-listresource.log] and a the tee output for the same test [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/test_ListResources_geni_compressed-log.txt test_ListResources_geni_compressed-log.txt].
     199
     200
     201
    17202
    18203== Configuration ==
     
    658843}}}
    659844
    660 == AM API Acceptance Tests ==
    661 
    662 This section captures the GENI AM API Acceptance Test results using the ORCA ExoSM and GPO ExoGENI rack compute resources.
    663 
    664  * XML files used are attached: [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request.xml request.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request1.xml request1.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request2.xml request2.xml], [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/request3.xml request3.xml],and [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/bad.xml bad.xml].
    665  * Omni_config used is [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/orca-acceptance-log.txt attached]
    666  * Acceptance test logs are [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/orca-acceptance-log.txt attached].
    667 
    668 Acceptance tests output:
    669 {{{
    670 $ ./am_api_accept.py -a am-undertest -V 2 --debug
    671 F.F...FNot wellformed XML:  junk after document element: line 42, column 0
    672 F..Not wellformed XML:  junk after document element: line 42, column 0
    673 FNot wellformed XML:  not well-formed (invalid token): line 1, column 12
    674 F.
    675 ======================================================================
    676 FAIL: test_CreateSliver: Passes if the sliver creation workflow succeeds.  Use --rspec-file to replace the default request RSpec.
    677 ----------------------------------------------------------------------
    678 Traceback (most recent call last):
    679   File "./am_api_accept.py", line 625, in test_CreateSliver
    680     self.subtest_CreateSliverWorkflow()
    681   File "./am_api_accept.py", line 659, in subtest_CreateSliverWorkflow
    682     self.assertRspecType( request, 'request')
    683   File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 165, in assertRspecType
    684     raise WrongRspecType, msg
    685 WrongRspecType: RSpec expected to have type 'request' but schema was not correct.
    686 
    687 ======================================================================
    688 FAIL: test_CreateSliverWorkflow_multiSlice: Do CreateSliver workflow with multiple slices and ensure can not do ListResources on slices with the wrong credential.
    689 ----------------------------------------------------------------------
    690 Traceback (most recent call last):
    691   File "./am_api_accept.py", line 931, in test_CreateSliverWorkflow_multiSlice
    692     manifest[i] = "".join(self.subtest_CreateSliver( slicenames[i] ))
    693   File "./am_api_accept.py", line 1116, in subtest_CreateSliver
    694     "but instead nothing returned. AM returned:\n %s"%text)
    695   File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 112, in assertIsNotNone
    696     raise NotNoneAssertionError, msg
    697 NotNoneAssertionError: Return from 'CreateSliver'expected to be XML file but instead nothing returned. AM returned:
    698  Slice urn:publicid:IDN+pgeni.gpolab.bbn.com+slice+acclne-1500470 expires within 1 day(s) on 2012-03-21 21:00:48 UTC
    699 Asked https://geni.renci.org:11443/orca/xmlrpc to reserve resources. No manifest Rspec returned. ERROR: Exception encountered: java.lang.NullPointerException
    700 
    701 ======================================================================
    702 FAIL: test_GetVersion: Passes if a 'GetVersion' returns an XMLRPC struct containing 'geni_api' and other parameters defined in Change Set A.
    703 ----------------------------------------------------------------------
    704 Traceback (most recent call last):
    705   File "./am_api_accept.py", line 271, in test_GetVersion
    706     self.assertKeyValueType( 'GetVersion', agg, vers, 'extensions', type([]) )
    707   File "/home/lnevers/gcf-1.6.1/src/omni_unittest.py", line 208, in assertKeyValueType
    708     % (method, aggName, key, str(dictionary)))
    709 AssertionError: Return from 'GetVersion' at https://geni.renci.org:11443/orca/xmlrpc expected to have entry 'extensions' but instead returned:
    710 {'namespace': 'http://www.protogeni.net/resources/rspec/2', 'version': '3', 'type': 'GENI', 'schema': 'http://www.protogeni.net/resources/rspec/2/request.xsd'}
    711 ... edited for length ...
    712 
    713 ======================================================================
    714 FAIL: test_ListResources: Passes if 'ListResources' returns an advertisement RSpec.
    715 ----------------------------------------------------------------------
    716 Traceback (most recent call last):
    717   File "./am_api_accept.py", line 328, in test_ListResources
    718     self.subtest_ListResources()
    719   File "./am_api_accept.py", line 602, in subtest_ListResources
    720     % (agg_name, rspec[:100]))
    721 AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
    722 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    723 <rspec xmlns:ns2="http://hpn.east.isi.edu/rs
    724 ... edited for length ...
    725 
    726 ======================================================================
    727 FAIL: test_ListResources_geni_available: Passes if 'ListResources' returns an advertisement RSpec.
    728 ----------------------------------------------------------------------
    729 Traceback (most recent call last):
    730   File "./am_api_accept.py", line 342, in test_ListResources_geni_available
    731     self.subtest_ListResources()
    732   File "./am_api_accept.py", line 602, in subtest_ListResources
    733     % (agg_name, rspec[:100]))
    734 AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
    735 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    736 <rspec xmlns:ns2="http://hpn.east.isi.edu/rs
    737 ... edited for length ...
    738 
    739 ======================================================================
    740 FAIL: test_ListResources_geni_compressed: Passes if 'ListResources' returns an advertisement RSpec.
    741 ----------------------------------------------------------------------
    742 Traceback (most recent call last):
    743   File "./am_api_accept.py", line 335, in test_ListResources_geni_compressed
    744     self.subtest_ListResources()
    745   File "./am_api_accept.py", line 602, in subtest_ListResources
    746     % (agg_name, rspec[:100]))
    747 AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
    748 eAHtXetv2zi2/z5/hZH77fo68qPNtEbTwbbNdmfRKRZ93PthsSgUR3WEceRAktP2v798iIeHEiVTJOXYUwZoY8UieXh4+ON5kXzx
    749 ... edited for length ...
    750 
    751 ----------------------------------------------------------------------
    752 Ran 13 tests in 240.826s
    753 
    754 FAILED (failures=6)
    755 
    756 }}}
    757 
    758 
    759 Two tests were run for individual AM API Compliance test based on GPO Dev request, their results are captured in this page.
    760 
    761 ''' test_ListResources_geni_compressed only '''
    762 
    763 Test output:
    764 
    765 {{{
    766 $ ./am_api_accept.py -a am-undertest -V 2 --debug Test.test_ListResources_geni_compressed
    767 Not wellformed XML:  syntax error: line 1, column 0
    768 F
    769 ======================================================================
    770 FAIL: test_ListResources_geni_compressed: Passes if 'ListResources' returns an advertisement RSpec.
    771 ----------------------------------------------------------------------
    772 Traceback (most recent call last):
    773   File "./am_api_accept.py", line 335, in test_ListResources_geni_compressed
    774     self.subtest_ListResources()
    775   File "./am_api_accept.py", line 602, in subtest_ListResources
    776     % (agg_name, rspec[:100]))
    777 AssertionError: Return from 'ListResources' at aggregate 'unspecified_AM_URN' expected to be XML but instead returned:
    778 eAHtXVtv2zq2ft+/wsh5Oz6OfGkzrdF0MG0znT3oLgZt9zkPg0GhOKojbFsOJLmXf394ERcXJUqmSMqxdxmgjRWL5OLi4sd1I/ni
    779 ... edited for length ...
    780 
    781 ----------------------------------------------------------------------
    782 Ran 1 test in 5.628s
    783 
    784 FAILED (failures=1)
    785 }}}
    786 
    787 Files attached are: [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/acceptance-listresources.log acceptance-listresource.log] and a the tee output for the same test [http://groups.geni.net/geni/attachment/wiki/GENIRacksHome/ExogeniRacks/AggregateSurvey/test_ListResources_geni_compressed-log.txt test_ListResources_geni_compressed-log.txt].
    788 
    789 == GPO Dev Team Analysis ==
    790 
    791 The GPO Software development team analyzed the results from this test run and came up with the following list of Known issues with ExoGENI's AM API implementation.
    792 
    793 Priorities (from Trac): blocker, critical, major, minor, trivial [[BR]]
    794 Status: where things stand - open, closed, etc. [[BR]]
    795 Categories: AM API, RSpec, Acceptance Test, Stitching, Question [[BR]]
    796 Issues are ordered by priority, and by relative importance within priority.
    797 
    798 ==== Critical Issues ====
    799 || ID || Priority || Status || Category || Description ||
    800 || 1 || critical ||  || AM API || !ListResources at ExoSM returns multiple advertisement RSpecs. This is neither valid XML nor valid RSpec. ||
    801 || 2 || critical ||  || RSpec || ExoGENI advertises RSpec GENI v3 support in !GetVersion, but the RSpecs (ad & manifest) are ProtoGENI v2. Make the RSpecs use the GENI v3 schema. (As a fallback, change the !GetVersion return).||
    802 || 3 || critical ||  || RSpec || missing schemaLocation declarations for all used schemas ||
    803 || 4|| critical || || RSpec || All Ad & manifest RSpecs must pass rspeclint, but currently do not ||
    804 
    805 ==== Major Issues ====
    806 || ID || Priority || Status || Category || Description ||
    807 || 5 || major  ||  || AM API || !GetVersion: The top-level (parallel to code and value) is missing a `geni_api` entry.  Without this entry AM API v1 clients can't discover why they can't talk to this aggregate. ||
    808 || 6 || major ||  || AM API || !SliverStatus: Return at least a `geni_resources` entry that is empty, if not including all contained slivers. ||
    809 || 7 || major ||  || Acceptance Test || There is no 'extensions' field listed in `geni_request_rspec_versions` and `geni_ad_rspec_version` in the return from !GetVersion. Add it, including all used extensions. ||
    810 || 8 || major ||  || Acceptance Test || !ListResources does not handle the `geni_compressed` flag properly. The return value is always compressed, even if `geni_compressed` is set to False.||
    811 
    812 ==== Minor Issues ====
    813 || ID || Priority || Status || Category || Description ||
    814 || 9 || minor || || RSpec || Does ExoGENI honor the sliver_type or ignore it? It seems to give a VM for a `sliver_type` of "raw_pc". ||
    815 || 10 || minor ||  || AM API || !CreateSliver results in a !NullPointerException if a link references a non-existent node. {{{<link client_id="center"> <interface_ref client_id="geni1:0"/> <interface_ref client_id="geni2:0"/> </link>}}} when node {{{geni1}}} is not in the request. ||
    816 || 11 || minor || || Stitching || Test stitching schema validity by using Omni's libstitch. Multiple undocumented conventions about IDs may need to be followed. ||
    817 || 12 || minor || || RSpec || You list 1 node with a hardware_type 'vm-cloud'. What about at least listing multiple sliver_types for the different EC2 style VM types, with the appropriate type_slots value for each sliver type? ||
    818 || 13 || minor || || RSpec || You list 1 node for each of 2 or 3 different hardware types, all for the same site. Is information duplicated? Could these reasonably be combined in any way? ||
    819 || 14 || minor || || RSpec || The dataplane IP address is missing from the manifest RSpec ||
    820 || 15 || minor ||  || RSpec || Add more info to the <interface> tag in manifest: PG includes the <ip> sub-element with IP, netmask, type ||
    821 || 16 || minor || || RSpec || Change structure of component_manager_id. AM URNs should be of the form <prefix>+name+authority+am. So use prefix+<SM site name+domain name>+authority+am ||
    822 || 17 || minor || || RSpec || Ad component_manager_id values are unlike those in sample request RSpec. Shouldn't this break something? Make these match. ||
    823 || 18 || minor || || RSpec || client_id values are changed in the manifest from the request (add a UUID), making it hard for experimenters/tools to reconcile. Can these be kept the same? ||
    824 || 19 || minor || || RSpec || Add more information to the RSpec if possible: `<component_manager>` sub-element on links, indicating the 2 AMs that control the endpoints of this link. ||
    825 || 20 || minor || || RSpec || Add more information to the RSpec if possible: `<property>` sub-element on links specifying dest_id and source_id ||
    826 || 21 || minor || || RSpec || Add more info / check form of interface `component_id`. Compare to PG form: prefix+site+interface+node/switch name:port #:name of remote, e.g. emulab.net+interface+procurve=pgeni-wash:10:ion ||
    827 || 22 || minor || || RSpec || Simplify sliver ID. How about prefix+<site>+sliver+AM name + slice name+client_id? ||
    828 || 23 || minor || || RSpec || Node component_id is the site name, making all reservations part of this same node. Maybe change exclusive to False? ||
    829 || 24 || minor ||  || Question || Are the assigned `client_id` values from the RSpec available within the running Node/vm? ||
    830 || 25 || minor ||  || Stitching RSpec || Stitching extension says scheduled=true. Probably should be false. ||
    831 || 26 || minor ||  || Stitching RSpec || stitching extension has same component_id for both port and link. Seems wrong. Maybe OK? PG has the link ID being the ID of the interface of the corresponding node. So this part of the Orca ad seems like a mistake.||
    832 || 27 || minor ||  || RSpec || The starlight Ad RSpec lists hardware_type name=orca-transit-net twice. Not a real problem, just not what he intended probably. ||
    833 
    834 
    835 
    836 
    837 
    838845= Status 01/19/2012 =
    839846