Sponsored by the National Science Foundation
Lab Zero:A First Experiment using GENI
Sponsored by the National Science Foundation 2Getting Started: Part I – Jan 23, 2014
Hands On Exercise
Do a Simple Experiment in GENI
Reserve two VMs connected at Layer 2
Layer 2VMVM
Sponsored by the National Science Foundation 3Getting Started: Part I – Jan 23, 2014
Understand GENI Terminology
slice project
aggregate
experimenterresource
Sponsored by the National Science Foundation 4Getting Started: Part I – Jan 23, 2014
Use the GENI Portal and Flack
Sponsored by the National Science Foundation 5Getting Started: Part I – Jan 23, 2014
Experiment Workflow• Part I: Design/Setup
• Part II: Execute
• Part III: Finish
Sponsored by the National Science Foundation 6Getting Started: Part I – Jan 23, 2014
The GENI Portal is…
A web-based tool for experimenters to manage experimenters, projects, and slices.
Includes simple tools to reserve resources.
More to come in the future.
Sponsored by the National Science Foundation 7Getting Started: Part I – Jan 23, 2014
Flack is …
A graphical user interface (GUI) for: – designing topologies in GENI– reserving resources in GENI
Sponsored by the National Science Foundation 8Getting Started: Part I – Jan 23, 2014
Experimenter
An experimenter is a researcher who uses GENI resources
Different types of experimenters have different roles and permissions:• Advisor vs Grad Student• Teacher vs TA vs Student Experimenter
Sponsored by the National Science Foundation 9Getting Started: Part I – Jan 23, 2014
Projects
Projects organize research in GENI
ProjectLead
Members
Slice
Projects contain both people and their experimentsA project is led by a single responsible individual:
the project lead Today we will use a
project created for this class
Sponsored by the National Science Foundation 11Getting Started: Part I – Jan 23, 2014
Experiment Workflow• Part I: Design/Setup
• Part II: Execute
• Part III: Finish
Sponsored by the National Science Foundation 12Getting Started: Part I – Jan 23, 2014
Part I: Establish Management Environment
1 Pre-work: Design your experiment
2.1 Pre-work: Create a GENI account
2.2 Pre-work: Project lead (aka professor) adds you to project
Project Name: <TBD>
2.3 Generate and Download SSH KeypairTutorial instructions:http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/GettingStarted_PartI/Procedure
Sponsored by the National Science Foundation 13Getting Started: Part I – Jan 23, 2014
Creating a GENI account
• GENI Portal is at:
https://portal.geni.net • Instructions for creating an account are:
http://groups.geni.net/geni/wiki/SignMeUp
Sponsored by the National Science Foundation 15Getting Started: Part I – Jan 23, 2014
InCommon
For many experimenters:• no new passwords• familiar login screens
Leverage InCommon forsingle sign-on authentication
Experimenters from 304 educational and research institutions have InCommon accounts
Sponsored by the National Science Foundation 16Getting Started: Part I – Jan 23, 2014
Using ssh with a public/private keypair
Login to all GENI compute resources using ssh with a private key
There are several ways to offer your private key to ssh. Today we will use a tool called an ssh agent. $ ssh-add ~/.ssh/id_geni_ssh_rsa $ ssh username@hostname -p 12345
You should never be prompted for a password to log into a GENI compute node.If you are, something has always gone wrong.
No password!
Sponsored by the National Science Foundation 18Getting Started: Part I – Jan 23, 2014
Expiration and renewal
slice expiration time ≤ project expiration timeeach resource expiration time ≤ slice expiration time
each resource expiration time ≤ aggregate’s max expiration
project
slice
resource(optional)
project expiration time
slice expiration time
resource expiration timenow
In general, to extend the lifetime of your resource reservation, you must renew the slice and all resources
resourceresource
You are here
Projects
Slices
Log Messages
HelpProfile
Tools
Map
2Login
Join Project
Generate SSH Keys
On your local machine…
> mv ~/Downloads/id_geni_ssh_rsa ~/.ssh/.> chmod 600 ~/.ssh/id_geni_ssh_rsa> ssh-add ~/.ssh/id_geni_ssh_rsa
2
Sponsored by the National Science Foundation 22Getting Started: Part I – Jan 23, 2014
Resource
A resource is a piece of infrastructure
A resource can be real or virtual.
Resource specifications (aka. RSpecs) are used to describe and request resources.
Examples:• Compute: computer vs virtual machine (VM)• Wireline Network: VLAN or OpenFlow• Wireless: WiMAX
Sponsored by the National Science Foundation 23Getting Started: Part I – Jan 23, 2014
Aggregate
An aggregate manages a set of reservable resources
Aggregates include:GENI racksOpenFlow WiMAX
InstaGENI Rack ExoGENI Rack
Sponsored by the National Science Foundation 24Getting Started: Part I – Jan 23, 2014
Slice
A slice is a container of resources used in an experiment.
A slice can contain resources from one or more aggregates
A slice is in a single project
A slice has an expiration
Slice names are public, reusable and unique (within a project)
Sponsored by the National Science Foundation 25Getting Started: Part I – Jan 23, 2014
Experimenter(aka Student)
Putting it all together
slice
aggregate
project Member:Lead:
Experimenter(aka Professor)
Layer 2resourceresource
Sponsored by the National Science Foundation 26Getting Started: Part I – Jan 23, 2014
slice
Part I continued:Obtain Resources
3.1 Create a slice
3.2 (optional) Renew your slice
3.3 Reserve two VMs at on aggregate
3.4 Check Whether VMs are Ready to be Used
Layer 2VMVM
3.1
Create Slice
Extend slice expiration
3.2
LaunchFlack
3.3
LaunchFlack
username slice name
all availableaggregates
3.3
Draw two VMs connected by a link
3.3
Change names of VMs
3.3
3.3
Set IP and mask of interfaces
Reserve resources
3.3
Resources are READY!!!
3.4
Sponsored by the National Science Foundation 36Getting Started: Part I – Jan 23, 2014
Experiment Workflow• Part I: Design/Setup
• Part II: Execute
• Part III: Finish
Sponsored by the National Science Foundation 38Getting Started: Part I – Jan 23, 2014
Part II: Execute Experiment
4.1 Login to nodes (two nodes: client & server)5 Execute experiment
5.1 Send IP traffic5.2 Install and use iperf5.3 Bring down the server’s data interface5.4 Bring down the server’s control interface
6.1 Logout of nodes
Internet
Data Interfaces
Control Interfaces
ssh
Layer 2
Experimenter
serverclient
Login4.1
$ sudo ifconfig
$ ping 10.1.1.2 –c 5 # server data i/f$ ping 172.17.1.9 –c 5 # server ctrl i/f
$ sudo ifconfig
server
client
5.1
5.1
WorksheetProject Name: <TBD>
Slice Name: lab0<your initials>
5.1
clienteth___
eth___
10.1.1.1
___.___.___.___
servereth___
eth___
10.1.1.2
___.___.___.___
Data i/f
Control i/f
Data i/f
Control i/f
Internet
Control plane switchDa
ta
plan
e sw
itch
# do one of:$ sudo yum install iperf #IG$ sudo apt-get install iperf #EG$ rehash
# server data i/f$ iperf –c 10.1.1.2 …
# server ctrl i/f$ iperf –c 172.17.2.4…
# do one of:$ sudo yum install iperf$ sudo apt-get install iperf #EG$ rehash
# start an iperf server$ iperf -s
serverclient
5.2
5.2
What is the bandwidth of the data link? Why?
What is the bandwidth of the control link? Why?
# ping server data i/f$ ping 10.1.1.2…
# ping server ctrl i/f$ ping 172.17.2.4…
$ exit
# bring down data i/f# For ExoGENI only do:$ sudo service neuca stop $ sudo ifconfig eth12541 down
# bring down ctrl i/f$ sudo ifconfig eth999 down
serverclient
5.3
5.4
5.4
When you bring down the data interface, the destination should become unreachable.
Why?
After you bring down the control interface, your ssh session should immediately hang.
Why?
After you bring down the control interface, the destination should become unreachable.
Why?
Sponsored by the National Science Foundation 46Getting Started: Part I – Jan 23, 2014
Experiment Workflow• Part I: Design/Setup
• Part II: Execute
• Part III: Finish
Delete Resources
7
Sponsored by the National Science Foundation 48Getting Started: Part I – Jan 23, 2014
Part III: Finish Experiment
When your experiment is done, you should always release your resources.
– Normally this is when you would archive your data– Delete your resources at each aggregate
sliceproject
aggregateexperimenter
resource
Sponsored by the National Science Foundation 49Getting Started: Part I – Jan 23, 2014
Congratulations!
You have…–Run your first GENI Experiment!–Exercised your knowledge of GENI
terminology–Used the GENI Portal and Flack
Sponsored by the National Science Foundation 50Getting Started: Part I – Jan 23, 2014
Welcome to GENI!