wiki:GIR2.1_INSTOOLS

Version 1 (modified by lnevers@bbn.com, 9 years ago) (diff)

--

INSTOOLS Evaluation

The INSTOOLS V2.3 software evaluated has been downloaded from http://www.uky.emulab.net/downloads/INSTOOLSv2.3-client_code.tgz.

Two versions were provided, the version number did not change. Minor changes occurred between the two versions.

The version of INSTOOLS evaluated required Fedora Core 8 on both the Measurement Controller and Measurement Points for the Utah Testbed.

Time Frame: This evaluation took place May 20-25, 2010

INSTOOLS Findings

The documentation provides an overview of each script, but it does not provide any context for the tools and how they fit into the overall Integration with Kentucky Measurement Project. Also initially a script (start_rrd2png.sh) was delivered but not identified as legacy, updates have taken place to clearly identify scope of script.

Installation instructions are sufficient.

INSTOOLS How-to

The INSTOOLSv2.3-client_code.tgz package delivers a "docs" directory which includes a INSTOOLS-SETUP and a README.

The INSTOOLS-SETUP captures all required installation steps:

Protogeni Infrastructure Pre-requisites
=======================================

1. Emulab/Protogeni code from GIT repository with the tag "stable-20100412" or 
   the current "emulab-devel code"
   http://users.emulab.net/trac/emulab/wiki/GitRepository

2. Emulab/Protogeni testbed should have a Fedora Core 8 disk image that can be
   loaded onto the experimental nodes that are part of the testbed. (The current
   version of INSTOOLS only works with Fedora Core 8 images on the experimental 
   machines). We recommend obtaining the FC8 disk image from UTAH and setting 
   that as your Default OS for the experimental nodes.

3. Experimental machines should be able to connect to servers outside their home
   network. (In case the testbed is firewalled)

4. Contact the INSTOOLS team (email addresses in CREDITS) and provide them with 
   the following information:
        a) Your Component Manager URN
        b) Your Fedora Core 8 Image name
           This is required if you plan to use the emulab-devel from 
           Protogeni source and do not have FC8 as your Default OS 
        c) Any hardware restrictions for the Measurement controller. (In case 
           you have better hardware in a node type defined in your Emulab that 
           you would like to use as the MC ) This step is optional.

Client/User's Home Machine
==========================
1. Should preferably be a linux machine with openssl, ssh, ssh-agent , python 
   and python crypto libraries installed.

2. User should get an Emulab Account as mentioned at 
   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#GetanEmulabAccount

3. Create an SSL Certificate as mentioned at 
   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#SSLCertificate
   save your certificate in $HOME/.ssl/encrypted.pem
   After creating the certificate make sure you also create the file 
   .protogeni-config to avoid running in the problem mentioned at 
   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#CertificateProblems

4. Also save the password you used to create the certificate in cleartext in 
   $HOME/.ssl/password

5. Also create ssh keys as mentioned on 
   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#UploadingSSHKeys 
   in order to login to your experiments

6. If you use a paraphrase to create your ssh keys, then it is required by the 
   INSTOOLS code for you to use ssh-agent to manage your private keys. If you 
   do not do this , you wil end up typing in your paraphrase numerous times just
   for a one node experiment.

The README captures run-time instructions:

Instructions to use the Protogeni Aggregate with INSTOOLS
=========================================================

        PRIOR TO USING THESE INSTRUCTIONS , YOU SHOULD HAVE A PROPER GENI 
CREDENTIAL SETUP [THIS SHOULD INCLUDE FILES IN YOUR .ssl directory called as 
encrypted.pem , password and a  .protogeni-config.py(will be provided in the 
install package and explained later) in your INSTOOLS script directory ]

        For a more detailed description of the Pre-requisites, PLEASE READ 
INSTOOLS-SETUP

Creating an experiment with INSTOOLS Measurement Controller
===========================================================

        Create an rspec xml which in addition to the the regular nodes will 
have the below tags within the <rspec></rspec> block

<needs_measurement/>

Sample rspecs are provided in the "rspecs" directory.

        Make sure you have the <valid_until>2010-02-28T12:00:00</valid_until> 
tag in your rspec. Change the date and time as per your requirement. Acceptable 
date and time in 90 days from the date you expect to launch this experiement.
If this tag is not specified, a default time limit of 60 minutes is set for your
 experiment. You will receive an email reminder 24 hours in advance informing 
you of the time you have remaining before your slice and slivers expire. You can 
renew the slice and sliver using the renewslice.py script described later.

The README also captures instructions for each of the scripts that are equivalent to -h output. Rather than capturing the sample script syntax, the rest of this page captures the running of each script and their output to show how the tools work.

The first example is an experiment created in the Utah Emulab testbed using an rspec provided in the INSTOOLS rpecs directory.

lnevers@riva:~/INSTOOLS$ 
./createExp.py -n final_ln -k /home/lnevers/.ssh/id_rsa -m https://www.emulab.net/protogeni/xmlrpc/cm rspecs/rspec_with_measurement-with_os_loading.xml
CMURI = https://www.emulab.net/protogeni/xmlrpc
Default CM = urn:publicid:IDN+emulab.net+authority+cm
Got my SA credential
No such slice registered here:Creating new slice called final_ln
New slice created
Renewing Slice for a 60 minute duration
Got the renewed slice credential
Asking for a ticket from the local CM
Got a ticket from the CM. Redeeming the ticket ...
Created the sliver
Booting your Slivers 
Please be patient...
 Hostname         : pc215.emulab.net
 Virtual ID       : geni1
 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
 Waiting for its status....

 Hostname         : pc214.emulab.net
 Virtual ID       : geni2
 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
 Waiting for its status....

 Hostname         : pc222.emulab.net
 Virtual ID       : geni3
 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
 Waiting for its status....

 Hostname         : pc109.emulab.net
 Virtual ID       : MC1
 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
 This is your Measurement Controller
 Waiting for its status....

Sliver state is changing Please wait for additional 30 sec...
Sliver state is changing Please wait for additional 30 sec...
Sliver state is changing Please wait for additional 30 sec...
pc109.emulab.net state is changing Please wait for additional 10 sec...
pc215.emulab.net state is notready Please wait for additional 10 sec...
pc214.emulab.net state is notready Please wait for additional 10 sec...
pc222.emulab.net state is changing Please wait for additional 10 sec...
Sliver state is notready Please wait for additional 30 sec...
pc109.emulab.net state is notready Please wait for additional 10 sec...
pc215.emulab.net state is changing Please wait for additional 10 sec...
pc214.emulab.net state is changing Please wait for additional 10 sec...
pc222.emulab.net state is changing Please wait for additional 10 sec...
pc109.emulab.net state is changing Please wait for additional 10 sec...
pc215.emulab.net is booted and ready
pc214.emulab.net is booted and ready
pc222.emulab.net is booted and ready
pc109.emulab.net state is changing Please wait for additional 10 sec...
Sliver is ready.
Please wait a few more minutes while your Measurement Controller is being installed and configured
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
MC is not yet ready. Will check again after 10 sec
Running Node Configuration Scripts on pc215.emulab.net
Running Node Configuration Scripts on pc214.emulab.net
Running Node Configuration Scripts on pc222.emulab.net
Do you plan to use the Drupal Interface (Y / N)? [DEFAULT: Y]  : y
You are planning to use the Drupal Interface
 
Check ./MC.log for Measurement Controller setup details

Your Measurement controller is accessible from this URL
http://pc109.emulab.net/
You Experiment is now complete.
You may login to your nodes and  begin your experimentation.

Once the experiment is started, user may log into the the Measurement Controller (MC) and access the Dupral interface to monitor all Measurement Points (MPs)at the link shown http://pc109.emulab.net/. When connecting to the suggested URL shown as the experiment set up is completed, the user will be presented with the following page:

Once the Dupral link is chosen, the list of nodes that are part of the experiment is shown:

Selecting Graph for the Link details will present a page that shows graphs Link Interface Traffic:

Selecting Graph for the Node details will present a page that shows graphs for all of the following:

  • Total CPU Utilization
  • ICMP traffic
  • IP Traffic
  • Memory Usage
  • TCP Traffic
  • Total Traffic
  • UDP Traffic

Additionally various system table could be monitored including via the Table options:

Here is how a slice is deleted:

lnevers@riva:~/INSTOOLS$ ./deleteslice.py -n ln_slice
Got my SA credential. Looking for slice ...
Found the slice, asking for a credential ...
Got the slice credential
Deleting the slice
Slice has been deleted.
 

Other scripts delivered as part of INSTOOLS Package include:

  • deletesliver.py - Request that all the sliver be stopped. The tickets are still active.
  • discover.py - List all available resources at the the Component manager in XML format.
  • listcomponents.py - List all component managers that are part of the Protogeni federation
  • releaseticket.py - Release a ticket obtained when creating the experiment or updating the sliver.
  • renewsliver.py - Request a change of expiration time for an existing sliver extending the expiration time by <MINUTES>.

Additional experiments were run with Kentucky Emulab Testbed with the following syntax:

$ ./createExp.py -n ln_slice2 -k ~/.ssh/id_rsa_riva -m https://www.uky.emulab.net/protogeni/xmlrpc/cm rspecs/rspec_with_measurement-without_os_loading.xml

Attachments (5)

Download all attachments as: .zip