[[PageOutline]] = University of Kentucky InstaGENI Confirmation Tests = For details about the tests in this page, see the '''[wiki:GENIRacksHome/InstageniRacks/SiteConfirmationTests InstaGENI Confirmation Tests]''' page.[[BR]] For site status see the '''[wiki:GENIRacksHome/InstageniRacks/ConfirmationTestStatus InstaGENI New Site Confirmation Tests Status]''' page. __Note:__ Omni nick_names for site aggregate used for these tests are: {{{ ig-uky=,http://lan.sdn.uky.edu:12369/protogeni/xmlrpc/am ig-gpo=,http://instageni.gpolab.bbn.com:12369/protogeni/xmlrpc/am/2.0 ig-of-uky=,h:ttps://foam.instageni.northwestern.edu:3626/foam/gapi/1 ig-of-gpo=,https://foam.gpolab.bbn.com:3626/foam/gapi/1 }}} == IG-CT-1 - Access to New Site VM resources == Got Aggregate version, which showed AM API V1, V2, and V3 are supported and V2 is default: {{{ $ omni.py getversion -a ig-uky }}} The InstaGENI version in" 'code_tag':'99a2b1f03656cb665918eebd2b95434a6d3e50f9'" is the same as the other two available InstaGENI site (GPO and Utah): {{{ IG GPO: { 'code_tag': '99a2b1f03656cb665918eebd2b95434a6d3e50f9' IG Kentucky:{ 'code_tag': '99a2b1f03656cb665918eebd2b95434a6d3e50f9', IG Utah: { 'code_tag': '99a2b1f03656cb665918eebd2b95434a6d3e50f9' }}} Get list of "available" compute resources: {{{ $ omni.py -a ig-uky listresources --available -o }}} Verified that Advertisement RSpec only includes available resources, as requested: {{{ $ egrep "node comp|available now" rspec-instageni-kentucky-edu-protogeniv2.xml }}} Created a slice: {{{ $ omni.py createslice IG-CT-1 }}} Created a 4 VMs sliver using the RSpec [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-1-uky.rspec IG-CT-1-nw.rspec]: {{{ $ omni.py createsliver -a ig-uky IG-CT-1 IG-CT-1-uky.rspec }}} The following is login information for the sliver: {{{ $ readyToLogin.py -a ig-uky IG-CT-1 <...> }}} === Measurements === Log into specified host and collect iperf and ping statistics. All measurements are collected over 60 seconds, using default images and default link bandwidth: '''Iperf InstaGENI Kentucky VM-2 to VM-1 (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM-2 to the VM-1 (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM-2 to the VM-1 ''' {{{ }}} == IG-CT-2 - Access to New Site bare metal and VM resources == Create a slice: {{{ $ omni.py createslice IG-CT-2 }}} Created a sliver with one VM and one Raw PC using RSpec [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-2-uky.rspec IG-CT-2-nw.rspec] {{{ $ omni.py createsliver -a ig-uky IG-CT-2 IG-CT-2-uky.rspec }}} Determined login information: {{{ $ readyToLogin.py -a ig-uky IG-CT-2 <...> }}} === Measurements === Log into specified host and collect iperf and ping statistics. All measurements are collected over 60 seconds, using default images and default link bandwidth: '''Iperf InstaGENI Kentucky PC to VM (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky PC to the VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky PC to VM ''' {{{ }}} '''Iperf InstaGENI Kentucky PC to PC (TCP) - TCP window size: 16.0 KB ''' Even though not part of this test, ran an experiment with 2 raw pcs to capture performance between dedicated devices. ''Collected: 2013-02-20'' __One Client__ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky PC to the PC (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky PC to PC ''' {{{ }}} == IG-CT-3 - Multiple sites experiment == Create a slice: {{{ $ omni.py createslice IG-CT-3 }}} Create a sliver with one VM at Kentucky and one VM at GPO using RSpec [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-3-uky.rspec IG-CT-3-nw.rspec]. First created the InstaGENI Kentucky sliver: {{{ $ omni.py createsliver IG-CT-3 -a ig-uky IG-CT-3-uky.rspec }}} Then creates the InstaGENI GPO sliver: {{{ $ omni.py createsliver IG-CT-3 -a ig-gpo IG-CT-3-uky.rspec }}} Determined login information at each Kentucky and GPO aggregate: {{{ $ readyToLogin.py IG-CT-3 -a ig-uky .... $ readyToLogin.py IG-CT-3 -a ig-gpo .... }}} === Measurements === '''Iperf InstaGENI GPO VM-2 to Kentucky VM-1 (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI GPO VM-2 to GPO VM-1 (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI GPO VM-2 to the GPO VM-1 ''' {{{ }}} '''Iperf InstaGENI Kentucky VM-1 to GPO VM-2 (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM-1 to GPO VM-2 (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM-1 to GPO VM-2 ''' {{{ }}} == IG-CT-4 - Multiple sites !OpenFlow experiment and interoperability == This confirmation test creates a sliver at each of the following aggregates using the RSpec specified: * Kentucky InstaGENI with two VMs on shared VLAN 1750 using [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-ig-gpo.rspec IG-CT-4-ig-gpo.rspec] RSpec. * Kentucky FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-ig-uky.rspec IG-CT-4-openflow-ig-nw.rspec] RSpec. * GPO InstaGENI with two VMs on shared VLAN 1750 using [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-ig-gpo.rspec IG-CT-4-ig-gpo.rspec] RSpec. * GPO InstaGENI FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-ig-gpo.rspec IG-CT-4-openflow-ig-gpo.rspec] RSpec. * GPO Site aggregate [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-gpo.rspec IG-CT-4-openflow-gpo.rspec] RSpec. * ProtoGENI Utah with 2 WAPG nodes located at Rutgers and using one VM on shared VLAN 1750 [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-rutgers-wapg-pg-utah.rspec IG-CT-4-rutgers-wapg-pg-utah.rspec]. * Rutgers FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-rutgers.rspec IG-CT-4-openflow-rutgers.rspec]. * UEN FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-uen.rspec IG-CT-4-openflow-uen.rspec]. * RENCI ExoGENI with 2 VMs on shared VLAN 1750 [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4 IG-CT-4-eg-renci.rspec IG-CT-4 IG-CT-4-eg-renci.rspec] * RENCI ExoGENI FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-eg-renci.rspec IG-CT-4-openflow-eg-renci.rspec] * !OpenFlow Core: - NLR FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-nlr.rspec IG-CT-4-openflow-nlr.rspec]. - Internet2 FOAM [http://groups.geni.net/geni/browser/trunk/GENIRacks/InstaGENI/Spiral5/RSpecs/ConfirmationTests/Kentucky/IG-CT-4-openflow-internet2.rspec IG-CT-4-openflow-internet2.rspec]. [[BR]] Following is the command sequence that is executed to setup the topology for this confirmation test: {{{ # Create the slice to be used for this confirmation test: $ omni.py createslice IG-CT-4 # Create the FOAM slivers at the Internet and NLR FOAM $ omni.py createsliver -a of-i2 IG-CT-4 IG-CT-4-openflow-internet2.rspec -V1 $ omni.py createsliver -a of-nlr IG-CT-4 IG-CT-4-openflow-nlr.rspec -V1 # Create the slivers at InstaGENI GPO to request nodes on shared VLAN 1750 $ omni.py createsliver -a ig-gpo IG-CT-4 IG-CT-4-ig-gpo.rspec $ omni.py createsliver -a ig-of-gpo IG-CT-4 IG-CT-4-openflow-ig-gpo.rspec -V1 # Create the sliver at GPO Site aggregate $ omni.py createsliver -a of-gpo IG-CT-4 IG-CT-4-openflow-gpo.rspec -V1 # Create the slivers at InstaGENI Kentucky to request nodes on shared VLAN 1750 $ omni.py createsliver -a ig-uky IG-CT-4 IG-CT-4-ig-uky.rspec $ omni.py createsliver -a ig-of-uky IG-CT-4 IG-CT-4-openflow-ig-uky.rspec # Create the sliver at PG Utah to request one WAPG Node at Rutgers and one VM at PG Utah on shared VLAN 1750. $ omni.py createsliver -a pg-utah IG-CT-4 IG-CT-4-rutgers-wapg-pg-utah.rspec # Create FOAM Sliver at UEN regional for path from Utah to GENI backbone $ omni.py createsliver -a of-uen IG-CT-4 IG-CT-4-openflow-uen.rspec -V1 # Create FOAM Sliver at Rutgers FOAM for WAPG node pg51 $ omni.py createsliver -a of-rutgers IG-CT-4 IG-CT-4-openflow-rutgers.rspec -V1 # Create the slivers at RENCI ExoGENI to request nodes on shared VLAN 1750 # to be added when ExoGENI exits maintenance $ omni.py createsliver -a eg-renci IG-CT-4 IG-CT-4-eg-renci.rspec $ omni.py createsliver -a eg-of-renci IG-CT-4 IG-CT-4-openflow-eg-renci.rspec }}} Determine login for each of compute resources: {{{ $ readyToLogin.py -a ig-uky IG-CT-4 <...> $ readyToLogin.py -a ig-gpo IG-CT-4 <...> $ readyToLogin.py -a pg-utah IG-CT-4 <...> $ readyToLogin.py -a eg-renci IG-CT-4 <...> }}} === Measurements === This section captures measurements collected between the following endpoints: {{{ 0. InstaGENI Kentucky VM and InstaGENI Kentucky VM 1. InstaGENI Kentucky VM and InstaGENI GPO VM 1a.InstaGENI GPO VM to InstaGENI Kentucky 2. InstaGENI Kentucky VM and the PG Utah VM 3. InstaGENI Kentucky VM and ExoGENI RENCI VM 4. InstaGENI Kentucky VM and the WAPG node at Rutgers }}} 0. The measurements collected for InstaGENI Kentucky VM to the InstaGENI Kentucky VM: '''Iperf Kentucky GPO VM to the Kentucky GPO VM (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM to the InstaGENI Kentucky VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM to the InstaGENI Kentucky VM''' {{{ }}} 1. The measurements collected for InstaGENI Kentucky VM to the InstaGENI GPO VM: '''Iperf InstaGENI Kentucky VM to the InstaGENI GPO VM (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM to the InstaGENI GPO VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM to the InstaGENI GPO VM''' {{{ }}} 1a. The measurements collected for InstaGENI Kentucky VM to the InstaGENI GPO VM: ''Collected: 2013-XX-XX'' '''Iperf InstaGENI GPO VM to the InstaGENI Kentucky VM (TCP) - TCP window size: 16.0 KB ''' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI GPO VM to the InstaGENI Kentucky VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI GPO VM to the InstaGENI Kentucky VM''' {{{ }}} 2. The measurements collected for InstaGENI Kentucky VM to the PG Utah VM ''Collected: 2013-XX-XX'' '''Iperf InstaGENI Kentucky VM to the PG Utah VM (TCP) - TCP window size: 16.0 KB ''' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM to the PG Utah VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM to the PG Utah VM''' {{{ }}} 3. The measurements collected for InstaGENI Kentucky VM to the ExoGENI RENCI VM: '''Iperf InstaGENI Kentucky VM to the ExoGENI RENCI VM (TCP) - TCP window size: 16.0 KB ''' ''Collected: 2013-XX-XX'' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM to the ExoGENI RENCI VM (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM to the ExoGENI RENCI VM''' {{{ }}} 4. The measurements collected for InstaGENI Kentucky VM to the WAPG Rutgers: ''Collected: 2013-XX-XX'' '''Iperf InstaGENI Kentucky VM to the WAPG Rutgers (TCP) - TCP window size: 16.0 KB ''' __One Client_ {{{ }}} __Five Clients__ {{{ }}} __Ten Clients__ {{{ }}} '''Iperf InstaGENI Kentucky VM to the WAPG Rutgers (UDP) - 1470 byte datagrams & UDP buffer size: 136 KByte ''' {{{ }}} '''Ping from InstaGENI Kentucky VM to the WAPG Rutgers''' {{{ }}} == IG-CT-5 - Experiment Monitoring == Reviewed content of the GMOC Monitoring page for [https://gmoc-db.grnoc.iu.edu/protected-openid/index.pl?method=aggregates aggregates], but there is only a FOAM aggregate, there is no compute resources, see InstaGENI [http://groups.geni.net/instageni/ticket/94 ticket 94]. <<< Compute resource aggregate captures to be added when instaticket:94 is resolved>>> The Kentucky InstaGENI FOAM resources aggregate details: [[Image(Kentucky-FOAMAggregate.jpg)]] Active !OpenFlow Slivers: [[Image(Kentucky-OFSlivers.jpg)]] List of !OpenFlow Resources in use: [[Image(Kentucky-OFResources.jpg)]] Monitoring should show Aggregate measurement for CPU utilization, Disk Utilization, Network Statistics and OF Datapath and Sliver Statistics. At the time of this test these measurements were not available. [[Image(Kentucky-OFMonitoring.jpg)]] == IG-CT-6 - Administrative Tests == Followed instructions at [https://users.emulab.net/trac/protogeni/wiki/RackAdminAccounts Admin Accounts on InstaGeni Racks] page for account request. A local admin account was create and also had to join the ''emulab-ops'' group at https://www.instageni.kentucky.edu/joinproject.php3?target_pid=emulab-ops. Once account was create and membership to emulab-ops was approved proceeded to execute administrative tests. {{{ LNM:~$ ssh lnevers@control.instageni.kentucky.edu }}} Also access the node via the PG Boss alias: {{{ LNM:~$ ssh boss.instageni.kentucky.edu }}} Further verified access by ssh from ops.instageni.gpolab.bbn.com to boss.instageni.gpolab.bbn.com, which is usually restricted for non-admin users: {{{ LNM:~$ ssh ops.instageni.kentucky.edu }}} From boss node accessed each of the experiment nodes that support VMs: {{{ [lnevers@boss ~]$ for i in pc1 pc2; do ssh $i "echo -n '===> Host: ';hostname;sudo whoami;uname -a;echo"; done }}} In order to access Dedicated Nodes some experiment must be running on the raw-pc device. At the time of this capture two raw-pc nodes were in use (pcX and pcY): {{{ [lnevers@boss ~]$ sudo ssh pcX [root@pcX ~]# sudo whoami root [root@pcX ~]# exit logout Connection to pcX.instageni.kentucky.edu closed. [lnevers@boss ~]$ sudo ssh pcY [root@pc ~]# sudo whoami root [root@pc ~]# }}} Access infrastructure Switches using documented password. First connect to the switch named procurve1 the control network switch: {{{ [lnevers@boss ~]$ sudo more /usr/testbed/etc/switch.pswd XXXXXXXXX [lnevers@boss ~]$ telnet procurve1 }}} Connect to the switch named procurve2 the dataplane network switch via ssh using the documented password: {{{ [lnevers@boss ~]$ sudo more /usr/testbed/etc/switch.pswd xxxxxxx [lnevers@boss ~]$ ssh manager@procurve2 }}} Access the FOAM VM and gather information for version {{{ LNM:~$ ssh lnevers@foam.instageni.kentucky.edu sudo foamctl admin:get-version --passwd-file=/etc/foam.passwd }}} Check FOAM configuration for site.admin.email, geni.site-tag, email.from settings: {{{ foamctl config:get-value --key="site.admin.email" --passwd-file=/etc/foam.passwd foamctl config:get-value --key="geni.site-tag" --passwd-file=/etc/foam.passwd foamctl config:get-value --key="email.from" --passwd-file=/etc/foam.passwd # check if FOAM auto-approve is on. Value 2 = auto-approve is on. foamctl config:get-value --key="geni.approval.approve-on-creation" --passwd-file=/etc/foam.passwd }}} Show FOAM slivers and details for one sliver: {{{ foamctl geni:list-slivers --passwd-file=/etc/foam.passwd }}} Access the FlowVisor VM and gather version information: {{{ ssh lnevers@flowvisor.instageni.kentucky.edu }}} Check the !FlowVisor version, list of devices, get details for a device, list of active slices, and details for one of the slices: {{{ fvctl --passwd-file=/etc/flowvisor.passwd ping hello # Devices fvctl --passwd-file=/etc/flowvisor.passwd listDevices fvctl --passwd-file=/etc/flowvisor.passwd getDeviceInfo 06:d6:6c:3b:e5:68:00:00 #Slices fvctl --passwd-file=/etc/flowvisor.passwd listSlices fvctl --passwd-file=/etc/flowvisor.passwd getSliceInfo 5c956f94-5e05-40b5-948f-34d0149d9182 }}} Check the FlowVisor setting: {{{ fvctl --passwd-file=/etc/flowvisor.passwd dumpConfig /tmp/flowvisor-config more /tmp/flowvisor-config }}} Verify alerts for the compute resource Aggregate Manager are being reported to the [http://monitor.gpolab.bbn.com/nagios/cgi-bin/status.cgi GPO Tango GENI Nagios monitoring] and that all alerts have status OK. [[Image(Kentucky-nagios.jpg)]] Verify alerts for the FOAM Aggregate Manager are being reported to the [http://monitor.gpolab.bbn.com/nagios/cgi-bin/status.cgi GPO Tango GENI Nagios monitoring] and that all alerts have status OK. [[Image(Kentucky-OF-nagios.jpg)]] ---- {{{ #!html Email help@geni.net for GENI support or email me with feedback on this page! }}}