Opened 9 years ago

Last modified 9 years ago

#37 assigned

RSpecs: ExoSM Ad includes proper stitching extension

Reported by: ahelsing@bbn.com Owned by: ibaldin@renci.org
Priority: minor Milestone:
Component: AM Version: SPIRAL4
Keywords: Cc: tlehman@east.isi.edu
Dependencies:

Description

ExoSM (not individual racks) should include a propert stitching extension - once, with a single aggregate.

Per Ilia, this is hard and possibly not possible.

Stitching extension rules:

-Identify all mainBody:link elements which have a link->interface_ref component_id which is for an External Aggregate.'
-A stitch:node element must be created for each of the nodes associated with the above identified mainBody:link elements
    Note:  only the mainBody:node elements which are part of a connection to an External Aggregate must be included
                in the Stitching Extension.  However, Aggregates may include other mainBody:node elements if they desire.
-The stitch:node elements are populated as follows described below:
   --stitch:node id==mainBody:node component_id
   --stitch:port id==mainBody:link->interface_ref component_id (which equals a node->interface component_id)
   --stitch:link id==stitch:portid with ":some-descriptive-term" appended
   --stitch:remoteLinkId==the stitch:link id from the External Aggregate stitching extension
-both of the peering Aggregates need to point to each other in consistent manner with  their stitch:link and stitch:remoteLinkId elements

Attachments (1)

listres.rspec (14.6 KB) - added by ibaldin@renci.org 9 years ago.
Sample rspec for a single rack.

Download all attachments as: .zip

Change History (9)

comment:1 Changed 9 years ago by ibaldin@renci.org

Owner: changed from somebody to ibaldin@renci.org
Status: newassigned

comment:2 Changed 9 years ago by ibaldin@renci.org

  1. There is now only one stitching extension per document
  2. I removed the extraneous dead-end domain that defined intra-rack vlans, however there is now an additional domain on same ports that shows bare-metal node resources (ie there are two aggregates on same switch ports - one for VMs and one for baremetal nodes). This will not be easily fixed.

comment:3 Changed 9 years ago by ahelsing@bbn.com

Can you attach an example of the new Ad RSpec?

Can you give me some pseudo code for how a tool should determine the connectivity graph, given there are now 2 agregates on that share a switch-port?

Thanks.

Changed 9 years ago by ibaldin@renci.org

Attachment: listres.rspec added

Sample rspec for a single rack.

comment:4 Changed 9 years ago by ahelsing@bbn.com

Cc: tlehman@east.isi.edu added

This rspec does not pass rspeclint.

See Ticket #55 to correct the schemaLocation

Once I do that, I get:

Line 2: Failed validation with root at element: Schemas validity error : Element '{http://www.geni.net/resources/rspec/3}hardware_type': The attribute 'name' is required but missing.

I believe that's the example where you have <hardware_type />

Once I fix that, I get:

Ignoring node ns3:node_type with unknown namespace http://www.protogeni.net/resources/rspec/ext/emulab/1
Line 54: Failed validation with root at element: Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'id' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'url' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'id' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'url' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'id' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}aggregate': The attribute 'url' is required but missing.
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
Schemas validity error : Element '{http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}capacity': This element is not expected. Expected is ( {http://hpn.east.isi.edu/rspec/ext/stitch/0.1/}trafficEngineeringMetric ).
: ns2:stitching

That first error is because you left off the schemaLocation for the ns3 extension. After that, these are errors in your stitching extension.

You list 3 aggregates in your stitching extension: vm, vlan, and baremetal - one per node. I think these should be 3 nodes in a single aggregate element.

Your aggregate elements need an 'id' and 'url'.

Your stich->node->port id is identical to the stitch-node->port->link ID, but should be different I think. Leave off the extra ":41-50" of the port id, making it identical to the node->interface->component_id from the main body, per Tom's instructions.

comment:5 Changed 9 years ago by ibaldin@renci.org

It should now pass rspeclint.

comment:6 Changed 9 years ago by ahelsing@bbn.com

rspeclint does indeed pass.

There should be 1 aggregate with multiple nodes.

Your stich->node->port id is identical to the stitch-node->port->link ID, but should be different I think. Leave off the extra ":41-50" of the port id, making it identical to the node->interface->component_id from the main body, per Tom's instructions.

comment:7 Changed 9 years ago by ahelsing@bbn.com

Priority: majorminor

comment:8 Changed 9 years ago by ahelsing@bbn.com

Latest rules for creating the stitching extension: http://geni.maxgigapop.net/twiki/bin/view/GENI/NetworkStitchingExt

Note: See TracTickets for help on using tickets.