[[PageOutline]] ''' This page is deprecated ''' = Get 2 ProtoGENI hosts connected through OpenFlow at the GPO lab = == Using GPO credentials == In order to grab all the resources needed, you will need to use the [http://trac.gpolab.bbn.com/gcf/wiki/Omni Omni client], which is a software that uses the [wiki:GeniApi GENI AM API] to get resources from the different Aggregate Managers. You will also need to have GENI credentials from GPO's ProtoGENI Clearinghouse. Please visit the [wiki:SignMeUp 'Sign Me Up' wiki page] to get more information. Once you have your GENI credentials and you have configured Omni you are ready to go through this example. === 1. Create a slice and renew it === {{{ nriga@pella:~/gcf$ ./src/omni.py createslice niky-pgof-gpo nriga@pella:~/gcf$ ./src/omni.py renewslice niky-pgof-gpo 20110520T00:00:00Z }}} The default expiration time for a slice is only a few hours, so make sure that you renew your slice before adding any resources, since any resources that you acquire can not have an expiration time that outlives your slice. === 2. Create a PG sliver and renew it === Our ProtoGENI aggregate has 11 nodes that are identically configured. In this example the [attachment:pg.rspec provided rspec] requests for any two ProtoGENI hosts. You can modify the rspec to request for more nodes if needed. You do not need to specify the topology in the ProtoGENI rspec file, since you are going to use OpenFlow to control your traffic and create your topology. Find out the available resources using the command listresources {{{ nriga@pella:~/gcf$ src/omni.py listresources -n -a http://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am }}} If there are enough available resources then create and renew your sliver. {{{ nriga@pella:~/gcf$ src/omni.py createsliver -n -a http://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am niky-pgof-gpo pg.rspec nriga@pella:~/gcf$ src/omni.py renewsliver -a https://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am -n niky-pgof-gpo 20110520T00:00:00Z }}} For ProtoGENI slivers the expiration time is the same as the expiration time of the sliver, but you might want to make it a habit to renew your sliver after creating it since this is not true for all aggregates. Use the sliverstatus command to check whether your resources are ready for use. Be patient it will take several minutes until your nodes boot and are ready for use. The sliverstatus will also tell you which hosts you have reserved. The hosts in the GPO lab are named pc1-pc11. Make a note of the number for each one of the hosts, since you are going to need it to configure your topology. {{{ nriga@pella:~/gcf$ src/omni.py sliverstatus -a http://www.pgeni.gpolab.bbn.com:12369/protogeni/xmlrpc/am niky-pgof-gpo }}} When the sliverstatus says ready [wiki:HowTo/LoginToNodes login to the nodes] : {{{ nriga@pella:~/gcf$ ssh -i /home/nriga/.ssh/gcf_id_rsa inki@pc6.pgeni.gpolab.bbn.com }}} You will need to follow [wiki:GENIExperimenter/GpoLabExample#ConfigurePGHosts these instructions] in all your hosts in order to configure the network interface that is directly connected to the OpenFlow switch. === 3. Create an OpenFlow sliver === Assuming that you will start with a local test only, you will need to control all the traffic coming and going to your hosts. When you need to connect this testbed to other sites, please let us know and we will give you further instructions on how to accomplish this. Take a look in the [wiki:HowTo/WriteOFv3Rspecs instructions about how to write OpenFlow rspecs]. You will need to modify the [attachment:of.rspec attached rspec] with your own information. In particular you will need to: i. modify sliver '''description''' and '''email''' to match your own information ii. point your sliver to your own '''controller'''. In the example rspec, the OpenFlow resources point to a controller running at a host in the GPO lab (nineveh.gpolab.bbn.com) listening on port 1716 for connections. You can use any host you want for the controller as long as it is reachable through the internet. Performance-wise you might want to use one of your ProtoGENI hosts (make sure you specify the control interface of the host, e.g. pc4.pgeni.gpolab.bbn.com) as your OpenFlow controller. If you have never used OpenFlow before, let us know and we can [mailto:help@geni.net help] you get started. iii Change the '''port numbers''' that you request based on the hosts you got. The port number you need to use is port=24+xx, where xx is the number from the hosts you have reserved, the example rspec is for the case you reserved pc4 and pc6 (ports 28 and 30). To get the OpenFlow resources : {{{ nriga@pella:~/gcf$ src/omni.py createsliver -n -a pg-of niky-pgof-gpo of.rspec }}} To test connectivity you can first start your controller acting as a Layer 2 switch and try pinging between your hosts. == Configure PG Hosts == Login to the nodes : {{{ nriga@pella:~/gcf$ ssh -i /home/nriga/.ssh/gcf_id_rsa inki@pc6.pgeni.gpolab.bbn.com }}} On each of the PG hosts you reserved do: 1. Add these lines in the end of /etc/network/interfaces, edit this file as sudo: {{{ auto eth3.1750 iface eth3.1750 inet static address 10.17.50.2xx netmask 255.255.255.0 mtu 1500 }}} where xx = the number of the pc host, xx=04 for pc4 and xx=06 for pc6. 2. Install the vlan package {{{ sudo apt-get install vlan }}} 3. Reboot the machine {{{ sudo init 6 && exit }}} When the nodes reboot they will have a new interface eth3.1750 that is configured in the 10.17.0.0/24 subnet.