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 Progress | Cannot 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.