train the ta session 1groups.geni.net/.../wiki/.../traintheta_session1.pdf · sponsored by the...

80
Sponsored by the National Science Foundation GENI Train the TA Session 1 Ben Newton, Jay Aikat, and Kevin Jeffay www.geni.net

Upload: others

Post on 19-Jun-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

GENITrain the TA – Session 1

Ben Newton, Jay Aikat, and Kevin Jeffay

www.geni.net

Page 2: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 2GENI Introduction www.geni.net

• Welcome

• Introductions

• Tips for effective webinar

• Schedule

– GENI Overview – Jay

– GENI Terminology, SSH, Expiration and Renewal of Resources - Ben

– Hands-on Lab – Ben and Jay

– Behind the Scenes

– Wrap-up

Page 3: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 3GENI Introduction www.geni.net

Outline

Page 4: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 4GENI Introduction www.geni.net

Multiple GENI Experiments run Concurrently

Resources can

be shared

between slices

Experiments live in isolated “slices”

Page 5: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 5GENI Introduction www.geni.net

GENI is “Deeply Programmable”

I install software I want

throughout my network

slice (into routers,

switches, …) or control

switches using

OpenFlow

Experimenters can set up custom topologies, protocols and switching of flows

Page 6: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 6GENI Introduction www.geni.net

Compute Resources

GENI Racks: small clouds

Virtual Machines

Bare metal Machines

Android

Phones

Wireless

nodes

Network ResourcesLayer 2 VLANS and Access to Programmable Switches

Internet2: US Research Backbone

Regionals

Rack switches

WiMAX/LTE

base stations,

4G/3G

Network

ORBIT

Emulab

Planetlab

Existing Testbeds

Page 7: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 7GENI Introduction www.geni.net

Universities

GENI Use By Numbers

Students

trained on

GENI by

4300Users

2600

Countries

45Different

instructors

Experiments instantiated

100,000+

publications

200

+

P

N

W

G

P

CENIC

ESNet

U

C

DOSF

W ashington

Stanford

CENIC

C

E

N

I

C

UCLA

NPS

UEN

U

t

a

h

UtahDDC

Utah

Houston

LEARN TAMU

GPN

KanREN

Missouri

Kansas

UMKC

Colorado

W RN

FRGP

StarLight

Northwestern

Illinois

Kettering

CIC

ICCN

E

S

N

e

t

Chicago

W isconsin

O

A

R

N

e

t

O

H

M

D

C

O

n

e

C

o

m

m

u

n

i

t

y

C

A

S

E

W VNET

MERITW

S

U

C

A

A

R

E

N

G

W

U

W

V

N

MOXI

M

O

X

I

B

E

N

N

C

S

U

R

E

N

C

I

M

A

X

M

A

X

M

A

G

P

I

R

u

t

g

e

r

s

Princeton

N

Y

S

E

R

N

e

t

N

o

X

G

P

O

N

Y

S

E

R

N

e

t

C

o

r

n

e

l

l

N

Y

U

S

O

XP

e

a

c

h

N

e

t

C

e

n

t

u

r

y

L

i

n

k

EPB

U

T

C

C

l

e

m

s

o

n

SOX

GATech

F

L

R

F

I

U

U

F

L

STANFORD

C

O

L

O

R

A

D

O

M

I

C

H

I

G

A

N

U

M

A

S

S

K

y

R

O

N

K

e

n

t

u

c

k

y

U

K

Y

P

K

S

2

Sponsored by the National Science foundation 7

CSEDU May 25th 2015

Page 8: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 8GENI Introduction www.geni.net

Use of GENI in Education

Teach Basic Concepts

Protocol Behavior

Routing setup Wireless Communication

New technologies

Semester Projects

Page 9: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 9GENI Introduction www.geni.net

GENI in the Classroom

Example Demo Module

Example Assignment

GENI Modules to teach

networking concepts

Kevin Jeffay, Jay AikatUNC-Chapel Hill

Mike Zink

UMass Amherst

Labs on

GENI for

networking

textbook

Shivendra

Panwar,

Thanasis

Korakis

NYU Poly

Massive Online Open

Courses on GENI

Use GENI to

educate the

Internet users, not

the Internet

creators.

Page 10: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Terminology

Page 11: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

slice project

aggregate

experimenter

resource

Page 12: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

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

Page 13: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Creating an Account

GENI Portal is at:

https://portal.geni.net

Page 14: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

GENI User Authentication

For many experimenters:

• no new passwords

• familiar login

screens

The GENI Portal leverages InCommon

for single sign-on authentication

Students from 518 educational

and research institutions have

InCommon accounts

GENI Project Office runs a federated IdP to

provide accounts for non-federated organizations.

Page 15: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Projects organize

research in GENI

Project

Lead

Members

Slice

Projects contain both people and their experiments

A project is led by a single responsible individual: the project lead

Page 16: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

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)

Page 17: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

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

Page 18: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

An aggregate manages a set

of reservable resources

Aggregates include:

GENI racks

OpenFlow

WiMAX

InstaGENI

Rack

ExoGENI

Rack

Page 19: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Experimenter

(aka Student)

slice

aggregate

project Member:Lead:

Experimenter

(aka Professor)

Layer 2resourceresource

Page 20: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

How SSH

With a Private Key

Works

Sponsored by the National Science Foundation

www.geni.net

Page 21: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

SSH with a password

Sponsored by the National Science Foundation www.geni.net

local> ssh [email protected]

[email protected]’s password:

########

Welcome to remote!

jdoe@remote> exit

local> ssh [email protected]

[email protected]’s password:

########

Hash of password

stored on each

remote machine

User enters password

once for

each connection to

each machine

*nix-based system (Windows behavior may vary)

Page 22: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

SSH with a private key

Sponsored by the National Science Foundation www.geni.net

local> ssh-add ~/.ssh/id_rsa

Enter passphrase for ~/.ssh/id_rsa:

########

local> ssh [email protected]

Welcome to remote!

jdoe@remote> exit

local> ssh [email protected]

Welcome to remote2!

jdoe@remote2> exit

local> ssh [email protected]

Welcome to remote3!

jdoe@remote3> exit

local> ssh-add –D

Public key is stored

on each remote

machine

User enters passphrase to unlock

private key for all connections

to all machines

Private key is stored

only on local machine

*nix-based system (Windows behavior may vary)

Page 23: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

SSH with a private key is both

easier to use and more secure

Sponsored by the National Science Foundation

www.geni.net

Page 24: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

You should never be prompted for a

password to log into a GENI

compute node.

If you are, something has always

gone wrong.

Sponsored by the National Science Foundation

www.geni.net

Page 25: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Expiration and Renewal

Page 26: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

slice expiration time ≤ project expiration time

each 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

To extend the lifetime of your resource reservation, you must

renew the slice and all resources

resourceresource

Page 27: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 28September 15, 2015

Are you ready for the tutorial?

1. Grab a Worksheet and

instructions

2. Did you do the pre-work?

A. Do you have an account?

B. Have you installed the tools?

* SSH

GENI Portal is at:

http://portal.geni.net

3. Connect to the network

Page 28: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

Lab Zero:

A First Experiment using GENI

Ben Newton, Jay Aikat, and Kevin Jeffay

UNC Chapel Hill

Page 29: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 30September 15, 2015

Hands On Exercise

Do a Simple Experiment in GENI

Reserve two VMs connected at Layer 2

Layer 2VMVM

Page 30: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 31September 15, 2015

Use the GENI Portal

Page 31: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 32September 15, 2015

Experiment Workflow

• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Page 32: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 33September 15, 2015

The GENI Portal is…

A web-based tool for experimenters to manage

experimenters, projects, and slices.

Includes simple tools to reserve resources.

Page 33: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 34September 15, 2015

Jacks and jFed are …

Graphical user interfaces (GUIs) for:

– designing topologies in GENI

– reserving resources in GENI

Page 34: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 35September 15, 2015

Experiment Workflow

• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Page 35: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 36September 15, 2015

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: TrainTheTA

2.3 Generate and Download SSH Keypair

Page 36: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

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

Page 37: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 40September 15, 2015

slice

Part I continued:

Obtain Resources

3.1 Create a slice

3.2 (optional) Renew your slice

3.3 Reserve two VMs at one aggregate

3.4 Check Whether VMs are Ready to be Used

Layer 2VMVM

Page 38: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 50September 15, 2015

Experiment Workflow

• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Page 39: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 51September 15, 2015

Part II:

Execute Experiment

4.1 Login to all three nodes

5.1 Test Connectivity

5.2 Explore the Data and Control Planes

6.1 Logout of nodes

Internet

Data

Interfaces

Control InterfacesLayer 2

Experimenter

serverclient

Page 40: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

WorksheetSlice Name: lab0<your initials>

5.1

NodeA

eth___

eth___

10.1.1.1

___.___.___.___

NodeB

eth___

eth___

10.1.1.2

___.___.___.___

Data i/f

Control i/f

Data i/f

Control i/f

Internet

Control plane switch

Dat

a p

lan

e

swit

ch

Page 41: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

5.1

What is the bandwidth of the data link? Why?

What is the bandwidth of the control link? Why?

NodeA

eth___

eth___

10.1.1.1

___.___.___.___

NodeB

eth___

eth___

10.1.1.2

___.___.___.___

Data i/f

Control i/f

Data i/f

Control i/f

Internet

Control plane switch

Dat

a p

lan

e

swit

chGENI Rack

Page 42: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

5.3 When you bring down the data interface, the

destination should become unreachable. Why?

NodeA

eth___

eth___

10.1.1.1

___.___.___.___

NodeB

eth___

eth___

10.1.1.2

___.___.___.___

Data i/f

Control i/f

Data i/f

Control i/f

Internet

Control plane switch

Dat

a p

lan

e

swit

chGENI Rack

Page 43: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

5.3 After you bring down the control interface, the destination

becomes unreachable. Why?

NodeA

eth___

eth___

10.1.1.1

___.___.___.___

NodeB

eth___

eth___

10.1.1.2

___.___.___.___

Data i/f

Control i/f

Data i/f

Control i/f

Internet

Control plane switch

Dat

a p

lan

e

swit

chGENI Rack

Page 44: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

5.3 After you bring down the control interface, your ssh session

should immediately hang. Why?

NodeA

eth___

eth___

10.1.1.1

___.___.___.___

NodeB

eth___

eth___

10.1.1.2

___.___.___.___

Data i/f

Control i/f

Data i/f

Control i/f

Internet

Control plane switch

Dat

a p

lan

e

swit

chGENI Rack

Page 45: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 61September 15, 2015

Experiment Workflow

• Part I: Design/Setup

• Part II: Execute

• Part III: Finish

Page 46: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Delete

Resources

7

Page 47: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 64September 15, 2015

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

sliceaggregate

Page 48: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 65September 15, 2015

Congratulations!

You have…

–Run your first GENI Experiment!

–Exercised your knowledge of GENI terminology

–Used the GENI Portal and Jacks or jFed

Page 49: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 66September 15, 2015

Welcome

to GENI!

Page 50: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Behind the Scenes

of GENI ExperimentationUnderstanding GENI AM API and RSpec

Sponsored by the National Science Foundation

www.geni.net

Page 51: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

What happens behind the scenes when

reserving resources on GENI?

Page 52: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

All GENI resource reservation

tools use the same data formats

and APIs

RSpecs GENI Resource Specifications

GENI AM API GENI Aggregate Manager API

Page 53: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

slice credential

create slice

researcher

aggregate resources

users

slices

clearinghouse

projects

tool

CH APIs

Page 54: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

GENI Resource Specifications (or Rspecs)

are XML documents that describe resources

<?xml version="1.0" encoding="UTF-8"?>

<rspec type="request” …

xmlns="http://www.geni.net/resources/rspec/3">

<node client_id="server”

component_manager_id="urn:publicid:IDN+instageni.gp

olab.bbn.com+authority+cm”>

<sliver_type name="emulab-xen"/>

<interface client_id="server:if0”/>

</node>

</rspec>

RSpec for a virtual machine with one interface

Page 55: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Three flavors of RSpec

Advertisement RSpecs

Aggregates describe what they have

Request RSpecs

Experimenters describe the resources they want

Manifest RSpecs

Aggregates describe resources allocated to an

experimenter

Page 56: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Aggre

gate

Manager

Exp

eri

me

nte

r

To

ol

ListResources(…)

Advertisement RSpec

CreateSliver(Request RSpec, …)

Manifest RSpec

ListResources(SliceName, …)

Manifest RSpec

I have …

You have

You have

Experimenter tools and aggregates talk to each

other using the GENI Aggregate Manager API or

GENI AM API

Page 57: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

All GENI resource reservation

tools use the same data format

(RSpec) and APIs (AM API)

Pick the tool that works best for

the current task

Page 58: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

An Introduction to GENI Tools

Jacks in the Portal and omni

Page 59: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

All GENI resource reservation tools speak AM API and RSpec…

Jacks/Portal

jFed$ omni createsliver aliceslice myRSpec.xml

INFO:omni: -----------------------------------

INFO:omni: Completed createsliver:

Options as run:

aggregate: https://www.emulab.

framework: pgeni

native: True

Args: createsliver aliceslice myRSpec.xml

Result Summary: Slice urn:publicid:IDN+pgeni

Reserved resources on https://www.emulab.net/p

Saved createsliver results to aliceslice-man

INFO:omni: ===================================

omni

Hoste

dL

ocal

Page 60: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Tool: Jacks in the Portal

A graphical user interface

Page 61: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

When you draw a

topology using a tool,

it creates a request

RSpec describing the

resources

When you reserve resources at an aggregate, createSliver is called using that request

Page 62: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Tools periodically call sliverStatus at

each used aggregate

When the returned

status is “ready”, the

resources turn green

Page 63: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

ListResources on a slice

returns a manifest RSpec

Manifest includes info to

log into VMs

Page 64: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

When you delete resources, tool calls deleteSliver on aggregates

Page 65: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Tool: Omni

A command line tool

Page 66: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

omni Resource Reservation Tool

A command line tool for

making AM API calls at

any aggregate that

implements the GENI

AM API

Written in and

scriptable from Python

$ omni.py createsliver aliceslice myRSpec.xml

INFO:omni:Loading config file omni_config

INFO:omni:Using control framework pgeni

INFO:omni:Slice urn:publicid:IDN+pgeni.gpolab.

expires within 1 day on 2011-07-07

INFO:omni:Creating sliver(s) from rspec file

INFO:omni:Writing result of createsliver for

INFO:omni:Writing to aliceslice-manifest-rspe

INFO:omni: -----------------------------------

INFO:omni: Completed createsliver:

Options as run:

aggregate: https://www.emulab.

framework: pgeni

native: True

Args: createsliver aliceslice myRSpec.xml

Result Summary: Slice urn:publicid:IDN+pgeni

Reserved resources on https://www.emulab.net/p

Saved createsliver results to aliceslice-man

INFO:omni: ===================================

Page 67: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

createslice

listmyslices

getversion

renewslice

createsliver

listresources

sliverstatus

deletesliver

Repeat for each

aggregate

Repeat for each

aggregate

Create Slice Create Sliver Cleanup

Legend: AM API command

omni Workflow

Page 68: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Sample Commands

omni –a aggregatename listresources

omni –a aggregatename createsliver slicename requestRSpec

omni –a aggregatename sliverstatus slicename

omni –a aggregatename listresources slicename

omni –a aggregatename deletesliver slicename

readyToLogin –a aggregatename slicename

Returns the ssh commands needed to log into nodes

Page 69: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Portal

https://portal.geni.net

Omni http://trac.gpolab.bbn.com/gcf/wiki/Omni

Mentioned in this talk

Page 70: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

GENI Support for

Automating Resource

Reservation

Page 71: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

There are three basic techniques for

automating experiment configuration:

• OS images

• Install scripts

• Configuration management tools

Page 72: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Operating System Images

use standard images as is

OR

snapshot them to create custom images

<node client_id=“node” …>

<sliver_type name="emulab-xen">

<disk_image name=”…+image+emulab-ops:UBUNTU12-64-STD"/>

</sliver_type>

</node>

Page 73: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

DO use custom OS images if the software

installation is complicated or slow

DO NOT use custom OS images as a

substitute to being able to reproduce the

installation

Page 74: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

mycode.tar.gz

Install and Execute Scripts

Page 75: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

<node client_id=“node” …>

<services>

<install url="http://myserver.com/mycode.tar.gz”

install_path="/local” />

<execute command="sudo /local/install-script.sh”…/>

</services>

</node>

myserver.com

/local

.tar.gz .tar.gz

Install and Execute Scripts

Page 76: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

DO use install scripts for frequently used

configurations which must run at start time

DO NOT use install scripts for infrequent

tasks

Page 77: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

Configuration Management (CM) Tools

• Ensure experiment is in a known configuration

• Easily reproduce experiment configurations for multiple runs, changing parameters, scaling up, etc

Ansible and Chef open source CM tools are

regularly used with GENI

Page 78: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation www.geni.net

DO use configuration management tools for

every day tasks and to ensure repeatable

experiments✓

Page 79: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation

www.geni.net

Automate your experiments using

a combination of

– OS image,

– install scripts, and

– configuration management tools

Page 80: Train the TA Session 1groups.geni.net/.../wiki/.../TrainTheTA_Session1.pdf · Sponsored by the National Science Foundation GENI Train the TA –Session 1 Ben Newton, Jay Aikat, and

Sponsored by the National Science Foundation 97GENI Introduction www.geni.net

Next TA-Training Webinar

@ 2:00 PM on Fri, Feb 12

In the meantime, please try the Take-home assignment on: http://groups.geni.net/geni/wiki/GENIExperimenter/Tutorials/TrainTheTA-Spring2016

If you have questions, please contact:

Ben Newton ([email protected])

Thank you!