wiki:OVSTool

Two Ubuntu images were created with an upstart script that will automatically configure an OVS switch with ports connected to each of the data interfaces. These are the step it takes:

  1. create an OVS switch br-switch
  2. find all interfaces that start with eth and are not the control interface
  3. add these interfaces as ports to br-switch
  4. set the fail mode to "secure"
  5. (IG only) if a controller is specified in the rspec, it will set that controller on the OVS switch.

Example:

$ sudo ovs-vsctl show
sudo: unable to resolve host VM
caf49df6-ead4-45a0-ba21-07e65ced5ad2
    Bridge br-switch
        fail_mode: secure
        Port "eth2"
            Interface "eth2"
        Port br-switch
            Interface br-switch
                type: internal
        Port "eth1"
            Interface "eth1"
    ovs_version: "1.9.3"

Images

ExoGENI:

url: http://www.gpolab.bbn.com/experiment-support/images/ovstool/ubuntu12.04-ovs-1.0.0.xml
version: fae8cd4bd06956a47b1769190eb99f9e61bb543e

InstaGENI:

"url": "https://www.instageni.wisc.edu/image_metadata.php?uuid=9e39d771-c1cf-11e3-853f-000000000000",
"urn": "urn:publicid:IDN+instageni.wisc.edu+image+ch-geni-net:U1204OVSautoconfv5"

Git repository

This repository is only accessible within BBN.

trac.gpolab.bbn.com:/srv/git/ovstools.git

Regina Updates to Ubuntu 14 Images

InstaGENI:

"url": "https://boss.instageni.gpolab.bbn.com/image_metadata.php?uuid=e43ec01f-9b54-11e4-aa79-000000000000",

"urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+image+ch-geni-net:ubuntu14ovs"

Notes on creating the image:

  1. Start with the OpenFlow OVS All Xen rspec from the portal, but delete the disk image directive for the ovs host. Get the git repo of ovstool and copy it over to the GENI Ubuntu 14 image:
  1. On the image, type:
       sudo apt-get update
       sudo apt-get install openvswitch-switch qemu-kvm libvirt-bin
       sudo cp geniovs.conf /etc/init
       sudo cp geniovs-mod.sh /usr/bin/geniovs.sh
       sudo cp getcontroller.py /usr/bin/
       sudo chmod +x /usr/bin/getcontroller.py
       sudo chmod +x /usr/bin/geniovs.sh
       cd /etc/init.d/
       sudo ln -s /lib/init/upstart-job geniovs
    
  1. Where you have omni access to create the image, for example slice myimage:
         omni.py sliverstatus -a gpo-ig myimage -o
    

Find the sliver information associated with the ovs host and then type but substitute your urn information:

   omni.py createimage -a gpo-ig myimage ubuntu14ovs -u urn:publicid:IDN+instageni.gpolab.bbn.com+sliver+56650

ExoGENI:

   24  apt-get update
   25  apt-get install openvswitch-switch qemu-kvm libvirt-bin
   26  wget  http://geni-images.renci.org/images/tools/imgcapture.sh
   27  chmod +x imgcapture.sh
   28  dpkg -i exogeni-geni-get_1.1-1_all.deb
   29  cp geniovs.conf /etc/init
   30  cp geniovs.sh /usr/bin
   31  cp getcontroller.py /usr/bin
   32  chmod +x /usr/bin/geniovs.sh
   33  chmod +x /usr/bin/getcontroller
   37  rm exogeni-geni-get_1.1-1_all.deb
   38  rm geniovs*
   40  rm getcontroller.py
   41  rm README
   43  ./imgcapture.sh -n ubuntu14.04-ovs-1.0.0 -s 2G -d /tmp -u http://www.gpolab.bbn.com/experiment-support/images/ubuntu14.04-ovs-1.0.0
   44  cd /tmp/
   46  sha1sum ubuntu14.04-ovs-1.0.0.xml
Last modified 9 years ago Last modified on 01/20/15 13:50:42