wiki:GENIRacksHome/OpenGENIRacks/AcceptanceTestStatusMay2013/OG-EXP-2

Version 2 (modified by lnevers@bbn.com, 6 years ago) (diff)

--

OG-EXP-2: OpenGENI Single Site Acceptance Test

This page captures status for the test case OG-EXP-2. For additional information see the Acceptance Test Status - May 2013 page overall status, or the OpenGENI Acceptance Test Plan for details about the planned evaluation.

Last Update: 2013/05/15"

Step State Notes Tickets
Step 1 Pass
Step 2 Pass
Step 3 In Progress No experimenter customization available (only admin)
Step 4 In ProgressCannot request publically routable IP addresses #55
Step 5 Pass
Step 6 Pass #54
Step 7 Pass Unable to request IP Address #56
Step 8 Fail No sudo access #57
Step 9 Pass: most criteria #57
Step 10 Pass
Step 11 Pass
Step 11 Pass
Step 12 Pass
Step 13 Pass
Step 14 Pass
Step 15 Pass
Step 16 Pass
Step 17 Pass
Step 18 Pass
Step 19 Pass
Step 20 Pass: most criteria Sliver with traffic are not deleted and resources remain available #58


State Legend Description
Pass Test completed and met all criteria
Pass: most criteria Test completed and met most criteria. Exceptions documented
Fail Test completed and failed to meet criteria.
Complete Test completed but will require re-execution due to expected changes
Blocked Blocked by ticketed issue(s).
In Progress Currently under test.

Test Plan Steps

This test case uses the following aggregate nick_names:

gram=,https://128.89.91.170:5001

Evaluation Note: Experimenters cannot save customized images. Administrator can create a variety of images with customization that can be made available to experimenters. (#50)

Evaluation Note: There is only one OS image available to users Ubuntu 12.04.

Evaluation Note: Routable IP Addresses not supported (#55)

Evaluation Note: Experimenter is not able to request IP addresses (#56)

Evaluation Note There is no sudo access, cannot install iperf or load kernel module required in step in this test case.

Step 1. As Experimenter1, request ListResources from BBN OpenGENI.

As experimenter "lnevers", issued a listresources command to determine available compute resources:

$ omni.py listresources -a gram -V3
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
INFO:omni:Listed advertised resources at 1 out of 1 possible aggregates.
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
INFO:omni:<?xml version="1.0" ?>
INFO:omni:  <!-- Resources at AM:
	URN: unspecified_AM_URN
	URL: https://128.89.91.170:5001
 -->
INFO:omni:  <rspec type="advertisement" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/ad.xsd http://www.geni.net/resources/rspec/ext/opstate/1 http://www.geni.net/resources/rspec/ext/opstate/1/ad.xsd">      <node client_id="VM" component_id="urn:public:geni:gpo:vm+c3d4a519-3a5d-4106-8aee-af7f42ff7292" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" component_name="c3d4a519-3a5d-4106-8aee-af7f42ff7292" exclusive="False">    <node_type type_name="m1.tiny"/>    
    <node_type type_name="m1.small"/>    
    <node_type type_name="m1.medium"/>    
    <node_type type_name="m1.large"/>    
    <node_type type_name="m1.xlarge"/>    
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>    
    <sliver_type name="m1.small"/>    
        <available now="True"/>    
    </node></rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed listresources:
  Options as run:
		aggregate: ['gram']
		api_version: 3
		framework: gram
  Args: listresources
  Result Summary: Queried resources from 1 of 1 aggregate(s).
INFO:omni: ============================================================

Step 2. Review advertisement RSpec for a list of OS images which can be loaded, and identify available resources.

The OS available is <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>. Available resources are available on node client_id="VM".

Step 3. Verify that the GPO Ubuntu customized image is available in the advertisement RSpec.

There is no customization available for experimenters. Administrators can create customized images and make them available to experimenters.

Step 4. Define a request RSpec for two VMs, each with a GPO Ubuntu image. Request a publically routable IP address and public TCP/UDP port mapping for the control interface on each node.

Routable IP Addresses is not available, modified experiment to not include Routable IP Address

Created the following RSpec:

<?xml version="1.0" encoding="UTF-8"?>
<rspec type="request" 
	xmlns="http://www.geni.net/resources/rspec/3" 
	xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" 
	xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.geni.net/resources/rspec/3 
	http://www.geni.net/resources/rspec/3/request.xsd">  

  <node client_id="exp1-host1" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" >
    <sliver_type name="m1.small">
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>
    </sliver_type>
      <interface client_id="exp1-host1:if0" >
       <ip address="172.16.1.1" netmask="255.255.0.0" />
      </interface>
  </node>

<node client_id="exp1-host2" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" >
    <sliver_type name="m1.small">
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>
    </sliver_type>
      <interface client_id="exp1-host2:if0" >
        <ip address="172.16.1.2" netmask="255.255.0.0" />
      </interface>
  </node>

  <link client_id="link-0">
    <interface_ref client_id="exp1-host1:if0"/>
    <interface_ref client_id="exp1-host2:if0"/>
    <property source_id="exp1-host1:if0" dest_id="exp1-host2:if0"/>
    <property source_id="exp1-host2:if0" dest_id="exp1-host1:if0"/>
  </link>
</rspec>

Step 5. Create the first slice.

Created the slice:

$ omni.py createslice OG-EXP-2-exp1
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Created slice with Name OG-EXP-2-exp1, URN urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1, Expiration 2013-05-15 16:37:21
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:

  Options as run:
		framework: gram

  Args: createslice OG-EXP-2-exp1

  Result Summary: Created slice with Name OG-EXP-2-exp1, URN urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1, Expiration 2013-05-15 16:37:21
 
INFO:omni: ============================================================

Step 6. Create a sliver in the first slice, using the RSpec defined in step 4.

Allocate the sliver:

$ omni.py allocate OG-EXP-2-exp1 -a gram ./OG-EXP-2-exp1.rspec -V3
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires in <= 3 hours
INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires on 2013-05-15 16:37:21 UTC
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
INFO:omni:Allocate slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 at https://128.89.91.170:5001:
INFO:omni:{
  "geni_rspec": "<?xml version=\"1.0\" ?>
INFO:omni:  <!-- Reserved resources for:
	Slice: OG-EXP-2-exp1
	at AM:
	URN: unspecified_AM_URN
	URL: https://128.89.91.170:5001
 -->
INFO:omni:  <rspec type=\"manifest\" xmlns=\"http://www.geni.net/resources/rspec/3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.geni.net/resources/rspec/3   http://www.geni.net/resources/rspec/3/manifest.xsd\">  \n      <node client_id=\"exp1-host1\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm6a2af27d-23cc-4a6c-9b55-6e940cf88fe0\">    \n            <interface client_id=\"exp1-host1:if0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface655842f8-5d92-465c-b9fc-0f0f472a3395\"/>    \n            <sliver_type name=\"m1.small\">      \n                  <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/>      \n            </sliver_type>    \n            <host name=\"exp1-host1\"/>    \n      </node>  \n      <node client_id=\"exp1-host2\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vma9675a33-1910-4fb1-879e-cc5a00b80ed2\">    \n            <interface client_id=\"exp1-host2:if0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface0dc6ea88-6c25-4f25-a0ac-32d03ce8323f\"/>    \n            <sliver_type name=\"m1.small\">      \n                  <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/>      \n            </sliver_type>    \n            <host name=\"exp1-host2\"/>    \n      </node>  \n      <link client_id=\"link-0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link0275c641-28e8-44b8-8ac5-65845f814c60\">    \n            <interface_ref client_id=\"exp1-host1:if0\"/>    \n            <interface_ref client_id=\"exp1-host2:if0\"/>    \n            <property dest_id=\"exp1-host2:if0\" source_id=\"exp1-host1:if0\"/>    \n            <property dest_id=\"exp1-host1:if0\" source_id=\"exp1-host2:if0\"/>    \n      </link>  \n</rspec>", 
  "geni_slivers": [
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm6a2af27d-23cc-4a6c-9b55-6e940cf88fe0", 
      "geni_expires": "2013-05-15T14:58:48.137629+00:00", 
      "geni_allocation_status": "geni_allocated", 
      "geni_operational_status": "geni_notready", 
      "geni_error": ""
    }, 
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vma9675a33-1910-4fb1-879e-cc5a00b80ed2", 
      "geni_expires": "2013-05-15T14:58:48.137629+00:00", 
      "geni_allocation_status": "geni_allocated", 
      "geni_operational_status": "geni_notready", 
      "geni_error": ""
    }, 
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link0275c641-28e8-44b8-8ac5-65845f814c60", 
      "geni_expires": "2013-05-15T14:58:48.137629+00:00", 
      "geni_allocation_status": "geni_allocated", 
      "geni_operational_status": "geni_notready", 
      "geni_error": ""
    }
  ]
}
INFO:omni:All slivers expire on '2013-05-15T14:58:48.137629'
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed allocate:

  Options as run:
		aggregate: ['gram']
		api_version: 3
		framework: gram

  Args: allocate OG-EXP-2-exp1 ./OG-EXP-2-exp1.rspec

  Result Summary: Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires in <= 3 hours on 2013-05-15 16:37:21 UTC
Allocated slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 at https://128.89.91.170:5001. 
 Next sliver expiration: 2013-05-15T14:58:48.137629 
INFO:omni: ============================================================

Provision the sliver:

$ omni.py provision OG-EXP-2-exp1 -a gram -V3
INFO:omni:Loading config file /home/lnevers/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires in <= 3 hours
INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires on 2013-05-15 16:37:21 UTC
INFO:omni:Substituting AM nickname gram with URL https://128.89.91.170:5001, URN unspecified_AM_URN
INFO:omni:Provision slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 at https://128.89.91.170:5001
INFO:omni:{
  "geni_rspec": "<?xml version=\"1.0\" ?>
INFO:omni:  <!-- Provision slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 at AM URL https://128.89.91.170:5001 -->
INFO:omni:  <rspec type=\"manifest\" xmlns=\"http://www.geni.net/resources/rspec/3\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.geni.net/resources/rspec/3   http://www.geni.net/resources/rspec/3/manifest.xsd\">  \n      

<node client_id=\"exp1-host1\" component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute1\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" 
sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm6a2af27d-23cc-4a6c-9b55-6e940cf88fe0\">    
\n            <interface client_id=\"exp1-host1:if0\" mac_address=\"fa:16:3e:26:93:4f\" 
sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface655842f8-5d92-465c-b9fc-0f0f472a3395\">      
\n                  <ip address=\"10.0.37.100\" type=\"ip\"/>      

\n            </interface>    \n            <sliver_type name=\"m1.small\">      
\n                  <disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/>      
\n            </sliver_type>    \n            <services>      \n                  
<login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3001\" username=\"lnevers\"/>      
\n            </services>    \n            <host name=\"exp1-host1\"/>    \n      </node>  \n      

<node client_id=\"exp1-host2\" component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2\" component_manager_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm\" exclusive=\"false\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vma9675a33-1910-4fb1-879e-cc5a00b80ed2\">    
\n            <interface client_id=\"exp1-host2:if0\" mac_address=\"fa:16:3e:42:73:c2\" 
sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface0dc6ea88-6c25-4f25-a0ac-32d03ce8323f\">      
\n                  <ip address=\"10.0.37.101\" type=\"ip\"/>      \n            </interface>    \n            
<sliver_type name=\"m1.small\">      \n                  
<disk_image name=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04\" os=\"Linux\" version=\"12\"/>      
\n            </sliver_type>    \n            <services>      \n                  
<login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3002\" username=\"lnevers\"/>      
\n            </services>    \n            <host name=\"exp1-host2\"/>    \n      </node>  \n      
<link client_id=\"link-0\" sliver_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link0275c641-28e8-44b8-8ac5-65845f814c60\">    
\n            <interface_ref client_id=\"exp1-host1:if0\"/>    \n            <interface_ref client_id=\"exp1-host2:if0\"/>    
\n            <property dest_id=\"exp1-host2:if0\" source_id=\"exp1-host1:if0\"/>    \n            
<property dest_id=\"exp1-host1:if0\" source_id=\"exp1-host2:if0\"/>    \n      </link>  \n</rspec>", 
  "geni_slivers": [
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vm6a2af27d-23cc-4a6c-9b55-6e940cf88fe0", 
      "geni_expires": "2013-05-15T16:37:21+00:00", 
      "geni_allocation_status": "geni_provisioned", 
      "geni_operational_status": "geni_notready", 
      "geni_error": ""
    }, 
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vma9675a33-1910-4fb1-879e-cc5a00b80ed2", 
      "geni_expires": "2013-05-15T16:37:21+00:00", 
      "geni_allocation_status": "geni_provisioned", 
      "geni_operational_status": "geni_notready", 
      "geni_error": ""
    }, 
    {
      "geni_sliver_urn": "urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link0275c641-28e8-44b8-8ac5-65845f814c60", 
      "geni_expires": "2013-05-15T16:37:21+00:00", 
      "geni_allocation_status": "geni_provisioned", 
      "geni_operational_status": "geni_ready", 
      "geni_error": ""
    }
  ]
}
INFO:omni:All slivers expire on '2013-05-15T16:37:21'
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed provision:

  Options as run:
		aggregate: ['gram']
		api_version: 3
		framework: gram

  Args: provision OG-EXP-2-exp1

  Result Summary: Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 expires in <= 3 hours on 2013-05-15 16:37:21 UTC
Provisioned slivers in slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-2-exp1 at https://128.89.91.170:5001. 
 Next sliver expiration: 2013-05-15T16:37:21 
INFO:omni: ============================================================

From the above manifest it is possible to see that exp1-host1 is allocated on boscompute1 and is accessible via the boscontroller on port 30001:

component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute1\" 
 <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3001\" username=\"lnevers\"/> 

From the above manifest it is possible to see that exp1-host2 is allocated on boscompute2 and is accessible via the boscontroller on port 30002:

component_id=\"urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2\" 
 <login authentication=\"ssh-keys\" hostname=\"boscontroller\" port=\"3002\" username=\"lnevers\"/> 

Step 7. Log in to each of the systems, and send traffic to the other system sharing a VLAN.

Logged into to exp1-host1 and pinged exp1-host2:

$ ssh 128.89.91.170 -p 3001
Warning: Permanently added '[128.89.91.170]:3001' (RSA) to the list of known hosts.
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-41-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Wed May 15 14:50:16 UTC 2013

  System load:  0.15              Processes:           68
  Usage of /:   3.9% of 19.67GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: 192.168.10.5
  Swap usage:   0%                IP address for eth1: 10.0.37.100

  Graph this data and manage this system at https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-precise

0 packages can be updated.
0 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

lnevers@exp1-host1:~$ ping exp1-host2
PING exp1-host2-link-0 (10.0.37.101) 56(84) bytes of data.
64 bytes from exp1-host2-link-0 (10.0.37.101): icmp_req=1 ttl=64 time=2.72 ms
64 bytes from exp1-host2-link-0 (10.0.37.101): icmp_req=2 ttl=64 time=0.822 ms
64 bytes from exp1-host2-link-0 (10.0.37.101): icmp_req=3 ttl=64 time=0.812 ms
64 bytes from exp1-host2-link-0 (10.0.37.101): icmp_req=4 ttl=64 time=1.00 ms
64 bytes from exp1-host2-link-0 (10.0.37.101): icmp_req=5 ttl=64 time=0.832 ms
^C
--- exp1-host2-link-0 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 0.812/1.238/2.723/0.746 ms

Logged into to exp1-host2 and pinged exp1-host1:

$ ssh 128.89.91.170 -p 3002
Warning: Permanently added '[128.89.91.170]:3002' (RSA) to the list of known hosts.
Welcome to Ubuntu 12.04.2 LTS (GNU/Linux 3.2.0-41-virtual x86_64)

 * Documentation:  https://help.ubuntu.com/

  System information as of Wed May 15 14:50:31 UTC 2013

  System load:  0.3               Processes:           68
  Usage of /:   3.9% of 19.67GB   Users logged in:     0
  Memory usage: 2%                IP address for eth0: 192.168.10.6
  Swap usage:   0%                IP address for eth1: 10.0.37.101

  Graph this data and manage this system at https://landscape.canonical.com/

  Get cloud support with Ubuntu Advantage Cloud Guest:
    http://www.ubuntu.com/business/services/cloud

  Use Juju to deploy your cloud instances and workloads:
    https://juju.ubuntu.com/#cloud-precise

0 packages can be updated.
0 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

lnevers@exp1-host2:~$ /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr fa:16:3e:01:4b:ea  
          inet addr:192.168.10.6  Bcast:192.168.10.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe01:4bea/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:300 errors:0 dropped:0 overruns:0 frame:0
          TX packets:224 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:40779 (40.7 KB)  TX bytes:24975 (24.9 KB)

eth1      Link encap:Ethernet  HWaddr fa:16:3e:42:73:c2  
          inet addr:10.0.37.101  Bcast:10.0.37.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe42:73c2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:65 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:10989 (10.9 KB)  TX bytes:942 (942.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lnevers@exp1-host2:~$ 

Note: Allocated nodes did not use requested IP address.

Step 8. Using root privileges on one of the VMs load a Kernel module. If not supported on OpenStack nodes, testing will proceed past this step.

The following commands are executed:

# lsmod
# modprobe dummy
# lsmod |grep dummy
# modprobe -r dummy
# lsmod |grep dummy

The above commands cannot be executed, because there is no sudo access on the allocated nodes.

Step 9. Run a netcat listener and bind to port XYZ on each of the VMs in the BBN OpenGENI rack.

In cases where there are no routable IP addresses available this test is modified to exchange iperf traffic between two hosts. But iperf is not installed and there is no sudo access for installing packages (ticket #57.) Therefore going back to netcat scenario.

On exp1-host1 start the listener:

lnevers@exp1-host2:~$ nc -l 5000

Step 10. Send traffic to port XYZ on each of the VMs in the OpenGENI rack over the control network from any commodity Internet host.

On the host exp1-host2 send traffic:

lnevers@exp1-host1:~$ nc exp1-host2 5000
hello this is exp1-host1
goodbye!
lnevers@exp1-host1:~$ 

Verified that the text appeared on the exp1-host1 listener: {{{{ lnevers@exp1-host2:~$ nc -l 5000 hello this is exp1-host1 goodbye! lnevers@exp1-host2:~$ }}}

Step 11. As Experimenter2, request ListResources from Site2 OpenGENI.

As experimenter lnevers2, issued a listresources for OpenGENI:

lnevers2@arendia:~$ omni.py listresources -a gram2 -V2
INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
INFO:omni:Listed advertised resources at 1 out of 1 possible aggregates.
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
INFO:omni:<?xml version="1.0" ?>
INFO:omni:  <!-- Resources at AM:
	URN: unspecified_AM_URN
	URL: https://128.89.91.170:5002
 -->
INFO:omni:  <rspec type="advertisement" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3 http://www.geni.net/resources/rspec/3/ad.xsd http://www.geni.net/resources/rspec/ext/opstate/1 http://www.geni.net/resources/rspec/ext/opstate/1/ad.xsd">      <node client_id="VM" component_id="urn:public:geni:gpo:vm+a1b409dd-a6e7-4c49-bed1-313bb3e0bbb1" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" component_name="a1b409dd-a6e7-4c49-bed1-313bb3e0bbb1" exclusive="False">    <node_type type_name="m1.tiny"/>    
    <node_type type_name="m1.small"/>    
    <node_type type_name="m1.medium"/>    
    <node_type type_name="m1.large"/>    
    <node_type type_name="m1.xlarge"/>    
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>    
    <sliver_type name="m1.small"/>    
        <available now="True"/>    
    </node></rspec>
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed listresources:

  Options as run:
		aggregate: ['gram2']
		framework: gram

  Args: listresources

  Result Summary: Queried resources from 1 of 1 aggregate(s).
 
INFO:omni: ============================================================
lnevers2@arendia:~$ 

Step 12. Define a request RSpec for two physical nodes, both using the uploaded GPO Ubuntu images. If not available, VMs and other images will be used.

The following RSpec was defined:

<?xml version="1.0" encoding="UTF-8"?>
<rspec type="request" 
	xmlns="http://www.geni.net/resources/rspec/3" 
	xmlns:flack="http://www.protogeni.net/resources/rspec/ext/flack/1" 
	xmlns:planetlab="http://www.planet-lab.org/resources/sfa/ext/planetlab/1" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.geni.net/resources/rspec/3 
	http://www.geni.net/resources/rspec/3/request.xsd">  

  <node client_id="exp2-host1" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" >
    <sliver_type name="m1.small">
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>
    </sliver_type>
      <interface client_id="exp2-host1:if0" >
       <ip address="172.16.2.1" netmask="255.255.0.0" />
      </interface>
  </node>

<node client_id="exp2-host2" component_manager_id="urn:publicid:geni:bos:gcf+authority+am" >
    <sliver_type name="m1.small">
    <disk_image description="" name="ubuntu-12.04" os="Linux" version="12"/>
    </sliver_type>
      <interface client_id="exp2-host2:if0" >
        <ip address="172.16.2.2" netmask="255.255.0.0" />
      </interface>
  </node>

  <link client_id="link-0">
    <interface_ref client_id="exp2-host1:if0"/>
    <interface_ref client_id="exp2-host2:if0"/>
    <property source_id="exp2-host1:if0" dest_id="exp1-host2:if0"/>
    <property source_id="exp2-host2:if0" dest_id="exp1-host1:if0"/>
  </link>
</rspec>

Step 13. Create the second slice.

Created slice:

$ omni.py createslice OG-EXP-1-exp2
INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Created slice with Name OG-EXP-1-exp2, URN urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-1-exp2, Expiration 2013-05-15 18:00:45
INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createslice:

  Options as run:
		framework: gram

  Args: createslice OG-EXP-1-exp2

  Result Summary: Created slice with Name OG-EXP-1-exp2, URN urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-1-exp2, Expiration 2013-05-15 18:00:45
 
INFO:omni: ============================================================

Step 14. Create a sliver in the second slice, using the RSpec defined in step 12.

Created sliver:

$ omni.py createsliver -a gram2 -V2  OG-EXP-1-exp2 ./OG-EXP-2-exp2.rspec 
INFO:omni:Loading config file /home/lnevers2/.gcf/omni_config
INFO:omni:Using control framework gram
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
WARNING:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-1-exp2 expires in <= 3 hours
INFO:omni:Slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-1-exp2 expires on 2013-05-15 18:00:45 UTC
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
INFO:omni:Substituting AM nickname gram2 with URL https://128.89.91.170:5002, URN unspecified_AM_URN
INFO:omni:Creating sliver(s) from rspec file ./OG-EXP-2-exp2.rspec for slice urn:publicid:IDN+geni:bos:gcf+slice+OG-EXP-1-exp2
INFO:omni:Got return from CreateSliver for slice OG-EXP-1-exp2 at https://128.89.91.170:5002:
INFO:omni:<?xml version="1.0" ?>
INFO:omni:  <!-- Reserved resources for:
	Slice: OG-EXP-1-exp2
	at AM:
	URN: unspecified_AM_URN
	URL: https://128.89.91.170:5002
 -->
INFO:omni:  
<rspec type="manifest" xmlns="http://www.geni.net/resources/rspec/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.geni.net/resources/rspec/3   http://www.geni.net/resources/rspec/3/manifest.xsd">
    <node client_id="exp2-host1" component_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute2" component_manager_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm" exclusive="false" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmd040c8a2-6e2e-43cd-8409-c77d941c0df7">
        <interface client_id="exp2-host1:if0" mac_address="fa:16:3e:a1:56:86" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface875bbcc8-52e2-4631-909f-9b55f7a1792e">
            <ip address="10.0.38.100" type="ip"/>
        </interface>
        <sliver_type name="m1.small">
            <disk_image name="urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04" os="Linux" version="12"/>
        </sliver_type>
        <services>
            <login authentication="ssh-keys" hostname="boscontroller" port="3005" username="lnevers2"/>
        </services>
        <host name="exp2-host1"/>
    </node>
    <node client_id="exp2-host2" component_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+node+boscompute1" component_manager_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+authority+cm" exclusive="false" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+vmb29aa77d-1148-4aa7-9a22-be88407e1cc5">
        <interface client_id="exp2-host2:if0" mac_address="fa:16:3e:77:36:97" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+interface21e0ccc1-2e5f-4060-8418-27a84e88a302">
            <ip address="10.0.38.101" type="ip"/>
        </interface>
        <sliver_type name="m1.small">
            <disk_image name="urn:publicid:IDN+boscontroller.gpolab.bbn.com+imageubuntu-12.04" os="Linux" version="12"/>
        </sliver_type>
        <services>
            <login authentication="ssh-keys" hostname="boscontroller" port="3006" username="lnevers2"/>
        </services>
        <host name="exp2-host2"/>
    </node>
    <link client_id="link-0" sliver_id="urn:publicid:IDN+boscontroller.gpolab.bbn.com+sliver+link83582ee4-4853-494f-a6f8-0caf6391c759">
        <interface_ref client_id="exp2-host1:if0"/>
        <interface_ref client_id="exp2-host2:if0"/>
        <property dest_id="exp1-host2:if0" source_id="exp2-host1:if0"/>
        <property dest_id="exp1-host1:if0" source_id="exp2-host2:if0"/>
    </link>
</rspec>

INFO:omni: ------------------------------------------------------------
INFO:omni: Completed createsliver:

  Options as run:
		aggregate: ['gram2']
		framework: gram

  Args: createsliver OG-EXP-1-exp2 ./OG-EXP-2-exp2.rspec

  Result Summary: Got Reserved resources RSpec from 128-89-91-170-5002 
INFO:omni: ============================================================

Step 15. Log in to each of the systems, and send traffic to the other system.

Once sliver was ready used login information from the manifest:

== Step 16. Verify that experimenters 1 and 2 cannot use the control plane to access each other's resources. ==

== Step 17. Review system statistics and VM isolation and network isolation on data plane. ==
Reviewed system statistics on allocated nodes:
{{{
lnevers2@exp2-host2:~$ vmstat -s
      2051764 K total memory
       275148 K used memory
        40336 K active memory
       182508 K inactive memory
      1776616 K free memory
        11356 K buffer memory
       197008 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
          657 non-nice user cpu ticks
          527 nice user cpu ticks
          376 system cpu ticks
        65975 idle cpu ticks
          351 IO-wait cpu ticks
            0 IRQ cpu ticks
            0 softirq cpu ticks
            0 stolen cpu ticks
       214454 pages paged in
       387044 pages paged out
            0 pages swapped in
            0 pages swapped out
        14350 interrupts
        31139 CPU context switches
   1368633739 boot time
         1610 forks

lnevers2@exp2-host2:~$ top

top - 16:14:41 up 12 min,  1 user,  load average: 0.08, 0.03, 0.03
Tasks:  60 total,   1 running,  59 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2051764k total,   275172k used,  1776592k free,    11380k buffers
Swap:        0k total,        0k used,        0k free,   197116k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND           
 1621 lnevers2  20   0 17312 1224  944 R  0.3  0.1   0:00.01 top                
    1 root      20   0 24276 2280 1360 S  0.0  0.1   0:00.61 init               
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kthreadd           
    3 root      20   0     0    0    0 S  0.0  0.0   0:00.03 ksoftirqd/0        
    5 root      20   0     0    0    0 S  0.0  0.0   0:00.09 kworker/u:0        
    6 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0         
    8 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 cpuset             
    9 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 khelper            
   10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kdevtmpfs          
   11 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 netns              
   12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 sync_supers        
   13 root      20   0     0    0    0 S  0.0  0.0   0:00.00 bdi-default        
   14 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kintegrityd        
   15 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kblockd            
   16 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 ata_sff            
   17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khubd              
   18 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 md                 
   19 root      20   0     0    0    0 S  0.0  0.0   0:00.13 kworker/0:1        
   22 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khungtaskd         
   23 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kswapd0            
   24 root      25   5     0    0    0 S  0.0  0.0   0:00.00 ksmd               
   25 root      39  19     0    0    0 S  0.0  0.0   0:00.00 khugepaged         
   26 root      20   0     0    0    0 S  0.0  0.0   0:00.00 fsnotify_mark      
   27 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ecryptfs-kthrea    
   28 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 crypto             
   36 root       0 -20     0    0    0 S  0.0  0.0   0:00.00 kthrotld           
   37 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_0          
   38 root      20   0     0    0    0 S  0.0  0.0   0:00.00 scsi_eh_1       
}}}


== Step 18. Verify that each VM has a distinct MAC address for that interface. ==

Verified that MAC addresses are unique and match the value in the manifest. 

The manifest shows for exp2-host1:
{{{
<interface client_id="exp2-host1:if0" mac_address="fa:16:3e:a1:56:86" 
}}}

The host exp2-host1 had the following:
{{{
lnevers2@arendia:~$ ssh 128.89.91.170 -p 3005
...
lnevers2@exp2-host1:~$ ifconfig eth1
eth1      Link encap:Ethernet  HWaddr fa:16:3e:a1:56:86  
          inet addr:10.0.38.100  Bcast:10.0.38.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fea1:5686/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:152 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:23766 (23.7 KB)  TX bytes:5076 (5.0 KB)
}}}
All interfaces on exp2-host1 have unique MAC addresses:
{{{
lnevers2@exp2-host1:~$ ifconfig |grep HW
eth0      Link encap:Ethernet  HWaddr fa:16:3e:fa:e1:42  
eth1      Link encap:Ethernet  HWaddr fa:16:3e:a1:56:86  
}}}

The manifest shows for exp2-host2:
{{{
<interface client_id="exp2-host2:if0" mac_address="fa:16:3e:77:36:97"
}}}

The host exp2-host2 had the following:
{{{
lnevers2@arendia:~$ ssh 128.89.91.170 -p 3006
...
lnevers2@exp2-host2:~$ ifconfig eth1
eth1      Link encap:Ethernet  HWaddr fa:16:3e:77:36:97  
          inet addr:10.0.38.101  Bcast:10.0.38.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe77:3697/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17059 (17.0 KB)  TX bytes:4398 (4.3 KB)
}}}

All interfaces on exp2-host2 have unique MAC addresses:
{{{
lnevers2@exp2-host2:~$ ifconfig |grep HW
eth0      Link encap:Ethernet  HWaddr fa:16:3e:04:3b:13  
eth1      Link encap:Ethernet  HWaddr fa:16:3e:77:36:97  
}}}

== Step 19. Verify that VMs' MAC addresses are learned on the data plane switch. ==

Ability to exchange traffic betweent the hosts demonstrates that MAC addresses are learned.


== Step 20. Stop traffic and delete slivers. ==

Deleted the two slivers, one sliver had an active ping, while the other was idle.  
Resources were deleted for the idle sliver, but no deleted for the sliver that had
an active ping.