Changes between Version 3 and Version 4 of OpenFlow/FOAM


Ignore:
Timestamp:
12/13/11 14:59:30 (8 years ago)
Author:
Josh Smift
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OpenFlow/FOAM

    v3 v4  
    11[[PageOutline]]
    22
    3 !OpenFlow aggregates in GENI are migrating to FOAM from Expedient.
    4 
    5 https://openflow.stanford.edu/display/DOCS/FAQ also has more information, including common error messages (for both experimenters and admins).
     3FOAM is a new !OpenFlow aggregate manager, which sites in GENI use to allow experimenters to allocate !OpenFlow resources.
     4
     5!OpenFlow aggregates in GENI are currently in the process of migrating to FOAM from Expedient.
     6
     7https://openflow.stanford.edu/display/DOCS/FAQ has more information, including common error messages (for both experimenters and admins).
    68
    79= Info for experimenters =
     
    1113== Rspec changes ==
    1214
    13 Expedient used OpenFlow v1 and v2 rspecs; FOAM uses GENI v3 with the OpenFlow v3 extensions. We have a page about [wiki:HowTo/WriteOFv3Rspecs how to write OF v3 rspecs], including some examples, information about differences from OF v2, etc. If you need a hand, just drop a note to help@geni.net.
    14 
    15 == Aggreate Manager URL changes ==
     15Expedient used !OpenFlow v1 and v2 rspecs; FOAM uses GENI v3 with the !OpenFlow v3 extensions. We have a page about [wiki:HowTo/WriteOFv3Rspecs how to write OF v3 rspecs], including some examples, information about differences from OF v2, etc. If you need a hand, just drop a note to help@geni.net.
     16
     17== Aggregate Manager URL changes ==
    1618
    1719The Aggregate Manager URL for FOAM is generally different from the one for Expedient. FOAM rspecs typically look like this:
     
    4345== Switching from Expedient to FOAM ==
    4446
    45 https://openflow.stanford.edu/display/DOCS/Install+Guide is the official FOAM installation guide; here are some specific notes for mesoscale campuses who are migrating from Expedient.
     47https://openflow.stanford.edu/display/DOCS/Install+Guide is the official FOAM installation guide, and following those steps will generally work. Before you get started, here are some specific notes for mesoscale campuses who are migrating from Expedient.
     48
     49As an overview, this will involve:
     50
     51 * identifying where you want to run FOAM, and its !FlowVisor
     52 * choosing a site tag
     53 * configuring e-mail
     54 * disabling Expedient
     55 * informing experimenters@geni.net and response-team@geni.net about the change
     56 * helping experimenters migrate orphaned Expedient slivers
    4657
    4758You should be able to run FOAM on the same system where you're currently running Expedient, if you'd like. Conversely, if you'd like to switch to a different system, the migration is an opportune time to do that.
    4859
    49 We recommend having a dedicated FOAM-controlled FlowVisor; this isn't strictly necessary, but it keeps things pleasantly simple. FlowVisor and FOAM can run on the same host, which should ideally have 3 GB of RAM or more, and two or more CPUs. Fast disks also help, as FlowVisor (as of 0.8.1) can be I/O intensive. These requirements may increase for larger scale deployments.
     60We recommend having a dedicated FOAM-controlled !FlowVisor; this isn't strictly necessary, but it keeps things pleasantly simple. We recommend using the same !FlowVisor that Expedient was using, disabling Expedient once FOAM is running, and migrating orphaned Expedient slivers to FOAM, which allows experiments with existing slivers to keep running while you upgrade.
     61
     62!FlowVisor and FOAM can run on the same host, which should ideally have at least 3 GB of RAM and at least two CPUs. Fast disks also help, as !FlowVisor (as of 0.8.1) can be I/O intensive. These requirements may increase for larger scale deployments.
    5063
    5164The binary package works well with the current Long Term Stable release of Ubuntu (10.04), and we recommend that if you don't have another preference. We're working on creating RPMs, for sites who prefer Red Hat type distributions.
    5265
    53 You can choose whatever you'd like as your site tag. Using the fully-qualified domain name of your FOAM server is convenient, as it allows you to use a different site tag on different servers, if you have more than one (e.g. one for testing purposes). You can also use a CNAME; for example, the GPO Lab FOAM server's hostname is tulum.gpolab.bbn.com, but we use foam.gpolab.bbn.com as our site tag (and then other tags for staging and testing instances).
    54 
    55 FOAM will send e-mail to both experimenters and admins when various things happen: When a sliver is created, approved, disabled, rejected, or deleted; and when a sliver is within a week of expiring, a day of expiring, and actually expires. You'll also get a message once a day with a list of slivers that are currently in the pending queue.
     66You can choose whatever you'd like as your site tag; we recommend something that looks more like a hostname (e.g. "foam.gpolab.bbn.com") than like a single word (e.g. "BBN"). Using the fully-qualified domain name of your FOAM server is convenient, as it allows you to use a different site tag on different servers, if you have more than one (e.g. one for testing purposes). You can also use a CNAME; for example, the GPO Lab FOAM server's hostname is tulum.gpolab.bbn.com, but we use foam.gpolab.bbn.com as our site tag (and then other tags for staging and testing instances).
     67
     68FOAM will send e-mail to experimenters and to admins when various things happen: When a sliver is created, approved, disabled, rejected, or deleted; and when a sliver is within a week of expiring, a day of expiring, and actually expires. You'll also get a message once a day with a list of slivers that are currently in the pending queue.
    5669
    5770We recommend using an e-mail address for the "From" setting, at installation time, which actually receives mail, so that experimenters can reach you by replying to messages from FOAM, if they need help. You don't need to set Reply-to (just hit return when prompted) unless you specifically want replies from experimenters to go somewhere other than the address in the From line. We use foam-admin@gpolab.bbn.com for both "From" and "Admin email", and don't set reply-to.
    5871
    59 You can customize the text of the messages that are sent: The default templates are in /opt/foam/etc/templates/default, and if you create a file in /opt/foam/etc/templates/custom with the same name as one of the files in .../default, the one in .../custom will take precedence. The files in .../default will be replaced when you install new versions of FOAM; anything you create in .../custom will persist through upgrades.
    60 
    61 You can leave Expedient running if you want, but it might be confusing. This is how we removed it in the GPO Lab:
     72You can customize the text of the messages that FOAM sends: The default templates are in /opt/foam/etc/templates/default, and if you create a file in /opt/foam/etc/templates/custom with the same name as one of the files in .../default, the one in .../custom will take precedence. The files in .../default will be replaced when you install new versions of FOAM; anything you create in .../custom will persist through upgrades.
     73
     74We recommend disabling Expedient once FOAM is up and running, to avoid confusion. This is how we removed it in the GPO Lab:
    6275
    6376{{{
     
    6881}}}
    6982
     83You should drop a note to experimenters@geni.net and reponse-team@geni.net once you're done, to inform others of the change.
     84
     85If you had any existing Expedient slivers, you should contact those sliver owners about migrating to FOAM; see [wiki:OpenFlow/FOAM#MovingorphanedExpedient-createdFVslicestoFOAMslivers below] for more about that.
     86
    7087If you have any trouble migrating, or suggestions for how to improve these docs, just drop a note to gpo-infra@bbn.com, or stop by the foam@conference.j.ir.bbn.com Jabber channel.
    7188
    72 If you encounter any bugs, or have improvement or feature requests, https://openflow.stanford.edu/bugs/browse/FOAM is the JIRA issue tracker for FOAM. (There's also one for FlowVisor, and other Stanford OpenFlow projects.)
    73 
    74 == Using foamctl ==
     89If you encounter any bugs, or have improvement or feature requests, https://openflow.stanford.edu/bugs/browse/FOAM is the JIRA issue tracker for FOAM. (There's also one for !FlowVisor, and other Stanford !OpenFlow projects.)
     90
     91== Managing FOAM slivers ==
    7592
    7693https://openflow.stanford.edu/display/DOCS/foamctl+Guide is the official guide to foamctl, and describes in detail everything that it can do. Here are some specific commands that we've found useful for performing common tasks.
     
    148165=== Approve a sliver ===
    149166
    150 This marks a sliver in FOAM as Approved, and adds a FV slice and flowspace rules for it to the FlowVisor.
     167This marks a sliver in FOAM as Approved, and adds a FV slice and flowspace rules for it to the !FlowVisor.
    151168
    152169{{{
     
    156173=== Disable a sliver ===
    157174
    158 This marks a sliver in FOAM as Pending, and removes a FV slice and flowspace rules for it from the FlowVisor.
     175This marks a sliver in FOAM as Pending, and removes a FV slice and flowspace rules for it from the !FlowVisor.
    159176
    160177{{{
     
    164181=== Reject a sliver ===
    165182
    166 This marks a sliver in FOAM as Rejected, and removes a FV slice and flowspace rules for it from the FlowVisor.
     183This marks a sliver in FOAM as Rejected, and removes a FV slice and flowspace rules for it from the !FlowVisor.
    167184
    168185{{{
     
    182199== Moving orphaned Expedient-created FV slices to FOAM slivers ==
    183200
    184 If you've shut down Expedient and brought up FOAM, you may have !FlowVisor slices that were created by Expedient, which are now essentially orphaned. For each of those FV slices, its owner should create an OpenFlow v3 rspec (the format FOAM uses), and create a new sliver in FOAM. You can then verify that the new sliver looks right, manually delete their old sliver, and approve the new one.
    185 
    186 Here's an example, showing how we migrated the jbs15 and jbs16 slivers at BBN.
     201If you've shut down Expedient and brought up FOAM, you may have !FlowVisor slices that were created by Expedient, which are now essentially orphaned. For each of those FV slices, its owner should create an !OpenFlow v3 rspec (the format FOAM uses), and create a new sliver in FOAM. You can then verify that the new sliver looks right, manually delete their old sliver, and approve the new one. (If a sliver owner needs help writing their new rspec, feel free to encourage them to contact help@geni.net.)
     202
     203Here's an example, showing how we migrated the jbs15 and jbs16 slivers at BBN, after the owner had been contacted about the change, and created their new slivers in FOAM.
    187204
    188205Check to see that the new slivers are there in FOAM, awaiting approval:
     
    280297}}}
    281298
    282 In particular, campus mesoscale deployments should trust the pgeni.gpolab.bbn.com SA; you can get the cert from http://www.pgeni.gpolab.bbn.com/ca-cert/pgeni.gpolab.bbn.com.pem. (You may have done this already; the official FOAM installation guide currently includes that step.)
     299In particular, GENI mesoscale deployments should trust the pgeni.gpolab.bbn.com SA; the official FOAM installation guide includes this step, or you can get the cert from http://www.pgeni.gpolab.bbn.com/ca-cert/pgeni.gpolab.bbn.com.pem if you need it.