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 [[BR]] version: fae8cd4bd06956a47b1769190eb99f9e61bb543e === InstaGENI: === "url": "https://www.instageni.wisc.edu/image_metadata.php?uuid=9e39d771-c1cf-11e3-853f-000000000000", [[BR]] "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", [[BR]] "urn": "urn:publicid:IDN+instageni.gpolab.bbn.com+image+ch-geni-net:ubuntu14ovs" Notes on creating the image:[[BR]] 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: 2. On the image, type:[[BR]] {{{ 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 }}} 3. Where you have omni access to create the image, for example slice myimage:[[BR]] {{{ 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 }}}