GENI-NSF / geni-portal

A UI for a GENI clearinghouse
Other
3 stars 8 forks source link

Show useful information from FOAM manifests #765

Open tcmitchell opened 9 years ago

tcmitchell commented 9 years ago

The portal doesn't know anything about FOAM manifests, and doesn't display anything. What should it display?

For reference, here is a sample FOAM manifest:

<?xml version="1.0" ?>
<!-- 
This rspec will reserve the OpenFlow resources in the InstaGENI rack 
at Utah used by IG-CT-4 New Site Confirmation Test

AM: https://foam.utah.geniracks.net:3626/foam/gapi/1
-->
<rspec
    type="manifest"
    xmlns="http://www.geni.net/resources/rspec/3"
    xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/3"
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
    xs:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/manifest.xsd http://www.geni.net/resources/rspec/ext/openflow/3 http://www.geni.net/resources/rspec/ext/openflow/3/of-resv.xsd">
  <openflow:sliver description="New Site Confirmation Test IG-CT-4 ">    
    <openflow:controller type="primary"
                         url="tcp:mallorea.gpolab.bbn.com:33020"/>    
    <openflow:group name="utah-instageni-1750">      
      <openflow:datapath
          component_id="urn:publicid:IDN+openflow:foam:ig-utah+datapath+06:d6:00:24:a8:5d:0b:00"
          component_manager_id="urn:publicid:IDN+openflow:foam:ig-utah+authority+am"/>      
        </openflow:group>    
        <openflow:match>      
          <openflow:use-group name="utah-instageni-1750"/>      
          <openflow:packet>        
        <openflow:dl_type value="0x800,0x806"/>        
        <openflow:nw_dst value="10.42.11.0/24"/>        
        <openflow:nw_src value="10.42.11.0/24"/>        
          </openflow:packet>      
        </openflow:match>    
  </openflow:sliver>  
</rspec>

Imported from trac ticket #765, created by tmitchel on 08-16-2013 at 15:56, last modified: 02-24-2014 at 11:39 CCing: vthomas@..., nriga@..., sedwards@..., nick.bastin@..., jbs@...

tcmitchell commented 9 years ago

Some useful tidbits:

Trac comment by tmitchel (github user: tcmitchell) on 08-16-2013 at 16:18

ahelsing commented 9 years ago

The sad truth is that a FOAM manifest is actually just your request. That being said, a proper manifest in FOAM will actually just contain the flowspace entries (well, and your request still), which are useful for a sanity check, but otherwise the request is the most compact form.

Trac comment by nick.bastin on 08-16-2013 at 16:34

ahelsing commented 9 years ago

DPIDs and controller info is definitely good. Flowspace info gets tricky because it would need to be mapped to datapaths and ports to be useful (in a world where you didn't get the same flowspace on every resource, which often you do not).

Trac comment by nick.bastin on 08-16-2013 at 16:35

ahelsing commented 9 years ago

I'm a little confused: What does "doesn't know anything about FOAM manifests" and "doesn't display anything" mean? I'd look for myself, but I don't think I have an account on the staging Portal, unless I do and don't know how to use it.

I was curious what the Portal "knows" and "displays" for non-FOAM slivers, and clicked on the Details link for the BBN IG sliver in my jbs15 slice. That brings up a somewhat hard-to-read page that describes the nodes in my sliver, and also has a "Raw Resource Specification" link. When I click that, I get the manifest rspec for the sliver.

So, sure, FOAM slivers can't display information about "nodes", because FOAM slivers don't have nodes, at least not in the GENI v3 rspec sense. And the other things that folks have suggested displaying, on this ticket, sound good. But in the meanwhile, can't it just display that "Raw Resource Specification" link, and let the user look at the rspec?

Trac comment by jbs on 09-12-2013 at 00:00

ahelsing commented 9 years ago

As you say, you can see the raw (sliverstatus and) manifest, if you click on that additional link. You just can't see a fancy HTML table. This ticket is about improving that.

Trac comment by ahelsing on 09-12-2013 at 09:01

ahelsing commented 9 years ago

Got it; sounds good. (I was confused by an internal comment from someone that this ticket was "the most critical issue" for adding FOAM aggregates to the CH. Sounds to me like it's not actually a blocker for that at all.)

Trac comment by jbs on 09-12-2013 at 09:18

ahelsing commented 9 years ago

For 2.2, the portal will show the raw XML by default in these cases (cases where it appears to be a valid RSpec that has no nodes or links). So 1 less button click.

Trac comment by ahelsing on 09-12-2013 at 13:14

ahelsing commented 9 years ago

For testing setup info, see http://groups.geni.net/syseng/ticket/5418

Trac comment by ahelsing on 09-24-2013 at 12:49

ahelsing commented 9 years ago

Nick says: "FOAM 0.12.5 will add support for real manifest rspecs". Sample:

<rspec type="manifest" xmlns="http://www.geni.net/resources/rspec/3" xmlns:flowspace="http://geni.bssoftworks.com/rspec/ext/flowspace/manifest/1" xmlns:openflow="http://www.geni.net/resources/rspec/ext/openflow/4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/ad.xsd">
  <openflow:config>
    <openflow:controller role="primary" url="tcp:ec2-54-224-111-137.compute-1.amazonaws.com:6633"/>
  </openflow:config>
  <flowspace:flowspace>
    <flowspace:rule dpid="06:d6:2c:59:e5:5d:cd:00" priority="100">dl_type=0x8847</flowspace:rule>
    <flowspace:rule dpid="06:d6:2c:59:e5:5d:cd:00" priority="100">dl_type=0x8848</flowspace:rule>
  </flowspace:flowspace>
</rspec>

Trac comment by ahelsing on 12-11-2013 at 09:02