Changes between Initial Version and Version 1 of GIR2.1_INSTOOLS


Ignore:
Timestamp:
03/14/11 21:57:32 (13 years ago)
Author:
lnevers@bbn.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GIR2.1_INSTOOLS

    v1 v1  
     1
     2= INSTOOLS Evaluation =
     3
     4The INSTOOLS V2.3 software evaluated has been downloaded from http://www.uky.emulab.net/downloads/INSTOOLSv2.3-client_code.tgz.
     5
     6Two versions were provided, the version number did not change.  Minor changes occurred between the two versions.
     7
     8The version of INSTOOLS evaluated required Fedora Core 8 on both the Measurement Controller and Measurement Points for the Utah Testbed.
     9
     10Time Frame:  This evaluation took place May 20-25, 2010
     11
     12= INSTOOLS Findings =
     13
     14The documentation provides an overview of each script, but it does not provide any context for the tools and how they fit
     15into the overall Integration with Kentucky Measurement Project.  Also initially a script (start_rrd2png.sh)
     16was delivered but not identified as legacy, updates have taken place to clearly identify scope of script. 
     17
     18Installation instructions are sufficient.
     19
     20= INSTOOLS  How-to =
     21
     22The [http://www.uky.emulab.net/downloads/INSTOOLSv2.3-client_code.tgz INSTOOLSv2.3-client_code.tgz] package delivers a "docs" directory which includes a INSTOOLS-SETUP and a README.
     23
     24The INSTOOLS-SETUP captures all required installation steps:
     25
     26{{{
     27
     28Protogeni Infrastructure Pre-requisites
     29=======================================
     30
     311. Emulab/Protogeni code from GIT repository with the tag "stable-20100412" or
     32   the current "emulab-devel code"
     33   http://users.emulab.net/trac/emulab/wiki/GitRepository
     34
     352. Emulab/Protogeni testbed should have a Fedora Core 8 disk image that can be
     36   loaded onto the experimental nodes that are part of the testbed. (The current
     37   version of INSTOOLS only works with Fedora Core 8 images on the experimental
     38   machines). We recommend obtaining the FC8 disk image from UTAH and setting
     39   that as your Default OS for the experimental nodes.
     40
     413. Experimental machines should be able to connect to servers outside their home
     42   network. (In case the testbed is firewalled)
     43
     444. Contact the INSTOOLS team (email addresses in CREDITS) and provide them with
     45   the following information:
     46        a) Your Component Manager URN
     47        b) Your Fedora Core 8 Image name
     48           This is required if you plan to use the emulab-devel from
     49           Protogeni source and do not have FC8 as your Default OS
     50        c) Any hardware restrictions for the Measurement controller. (In case
     51           you have better hardware in a node type defined in your Emulab that
     52           you would like to use as the MC ) This step is optional.
     53
     54Client/User's Home Machine
     55==========================
     561. Should preferably be a linux machine with openssl, ssh, ssh-agent , python
     57   and python crypto libraries installed.
     58
     592. User should get an Emulab Account as mentioned at
     60   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#GetanEmulabAccount
     61
     623. Create an SSL Certificate as mentioned at
     63   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#SSLCertificate
     64   save your certificate in $HOME/.ssl/encrypted.pem
     65   After creating the certificate make sure you also create the file
     66   .protogeni-config to avoid running in the problem mentioned at
     67   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#CertificateProblems
     68
     694. Also save the password you used to create the certificate in cleartext in
     70   $HOME/.ssl/password
     71
     725. Also create ssh keys as mentioned on
     73   http://www.protogeni.net/trac/protogeni/wiki/Tutorial#UploadingSSHKeys
     74   in order to login to your experiments
     75
     766. If you use a paraphrase to create your ssh keys, then it is required by the
     77   INSTOOLS code for you to use ssh-agent to manage your private keys. If you
     78   do not do this , you wil end up typing in your paraphrase numerous times just
     79   for a one node experiment.
     80
     81}}}
     82
     83The README captures run-time instructions:
     84
     85{{{
     86Instructions to use the Protogeni Aggregate with INSTOOLS
     87=========================================================
     88
     89        PRIOR TO USING THESE INSTRUCTIONS , YOU SHOULD HAVE A PROPER GENI
     90CREDENTIAL SETUP [THIS SHOULD INCLUDE FILES IN YOUR .ssl directory called as
     91encrypted.pem , password and a  .protogeni-config.py(will be provided in the
     92install package and explained later) in your INSTOOLS script directory ]
     93
     94        For a more detailed description of the Pre-requisites, PLEASE READ
     95INSTOOLS-SETUP
     96
     97Creating an experiment with INSTOOLS Measurement Controller
     98===========================================================
     99
     100        Create an rspec xml which in addition to the the regular nodes will
     101have the below tags within the <rspec></rspec> block
     102
     103<needs_measurement/>
     104
     105Sample rspecs are provided in the "rspecs" directory.
     106
     107        Make sure you have the <valid_until>2010-02-28T12:00:00</valid_until>
     108tag in your rspec. Change the date and time as per your requirement. Acceptable
     109date and time in 90 days from the date you expect to launch this experiement.
     110If this tag is not specified, a default time limit of 60 minutes is set for your
     111 experiment. You will receive an email reminder 24 hours in advance informing
     112you of the time you have remaining before your slice and slivers expire. You can
     113renew the slice and sliver using the renewslice.py script described later.
     114
     115}}}
     116
     117The 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.
     118
     119The first example is an experiment created in the Utah Emulab testbed using an rspec provided in the INSTOOLS rpecs directory. 
     120
     121{{{
     122lnevers@riva:~/INSTOOLS$
     123./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
     124CMURI = https://www.emulab.net/protogeni/xmlrpc
     125Default CM = urn:publicid:IDN+emulab.net+authority+cm
     126Got my SA credential
     127No such slice registered here:Creating new slice called final_ln
     128New slice created
     129Renewing Slice for a 60 minute duration
     130Got the renewed slice credential
     131Asking for a ticket from the local CM
     132Got a ticket from the CM. Redeeming the ticket ...
     133Created the sliver
     134Booting your Slivers
     135Please be patient...
     136 Hostname         : pc215.emulab.net
     137 Virtual ID       : geni1
     138 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
     139 Waiting for its status....
     140
     141 Hostname         : pc214.emulab.net
     142 Virtual ID       : geni2
     143 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
     144 Waiting for its status....
     145
     146 Hostname         : pc222.emulab.net
     147 Virtual ID       : geni3
     148 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
     149 Waiting for its status....
     150
     151 Hostname         : pc109.emulab.net
     152 Virtual ID       : MC1
     153 CM URN           : urn:publicid:IDN+emulab.net+authority+cm
     154 This is your Measurement Controller
     155 Waiting for its status....
     156
     157Sliver state is changing Please wait for additional 30 sec...
     158Sliver state is changing Please wait for additional 30 sec...
     159Sliver state is changing Please wait for additional 30 sec...
     160pc109.emulab.net state is changing Please wait for additional 10 sec...
     161pc215.emulab.net state is notready Please wait for additional 10 sec...
     162pc214.emulab.net state is notready Please wait for additional 10 sec...
     163pc222.emulab.net state is changing Please wait for additional 10 sec...
     164Sliver state is notready Please wait for additional 30 sec...
     165pc109.emulab.net state is notready Please wait for additional 10 sec...
     166pc215.emulab.net state is changing Please wait for additional 10 sec...
     167pc214.emulab.net state is changing Please wait for additional 10 sec...
     168pc222.emulab.net state is changing Please wait for additional 10 sec...
     169pc109.emulab.net state is changing Please wait for additional 10 sec...
     170pc215.emulab.net is booted and ready
     171pc214.emulab.net is booted and ready
     172pc222.emulab.net is booted and ready
     173pc109.emulab.net state is changing Please wait for additional 10 sec...
     174Sliver is ready.
     175Please wait a few more minutes while your Measurement Controller is being installed and configured
     176MC is not yet ready. Will check again after 10 sec
     177MC is not yet ready. Will check again after 10 sec
     178MC is not yet ready. Will check again after 10 sec
     179MC is not yet ready. Will check again after 10 sec
     180MC is not yet ready. Will check again after 10 sec
     181MC is not yet ready. Will check again after 10 sec
     182MC is not yet ready. Will check again after 10 sec
     183MC is not yet ready. Will check again after 10 sec
     184MC is not yet ready. Will check again after 10 sec
     185MC is not yet ready. Will check again after 10 sec
     186MC is not yet ready. Will check again after 10 sec
     187MC is not yet ready. Will check again after 10 sec
     188MC is not yet ready. Will check again after 10 sec
     189MC is not yet ready. Will check again after 10 sec
     190MC is not yet ready. Will check again after 10 sec
     191MC is not yet ready. Will check again after 10 sec
     192MC is not yet ready. Will check again after 10 sec
     193MC is not yet ready. Will check again after 10 sec
     194MC is not yet ready. Will check again after 10 sec
     195MC is not yet ready. Will check again after 10 sec
     196MC is not yet ready. Will check again after 10 sec
     197MC is not yet ready. Will check again after 10 sec
     198MC is not yet ready. Will check again after 10 sec
     199MC is not yet ready. Will check again after 10 sec
     200MC is not yet ready. Will check again after 10 sec
     201MC is not yet ready. Will check again after 10 sec
     202MC is not yet ready. Will check again after 10 sec
     203MC is not yet ready. Will check again after 10 sec
     204MC is not yet ready. Will check again after 10 sec
     205MC is not yet ready. Will check again after 10 sec
     206MC is not yet ready. Will check again after 10 sec
     207MC is not yet ready. Will check again after 10 sec
     208MC is not yet ready. Will check again after 10 sec
     209MC is not yet ready. Will check again after 10 sec
     210MC is not yet ready. Will check again after 10 sec
     211MC is not yet ready. Will check again after 10 sec
     212MC is not yet ready. Will check again after 10 sec
     213MC is not yet ready. Will check again after 10 sec
     214MC is not yet ready. Will check again after 10 sec
     215Running Node Configuration Scripts on pc215.emulab.net
     216Running Node Configuration Scripts on pc214.emulab.net
     217Running Node Configuration Scripts on pc222.emulab.net
     218Do you plan to use the Drupal Interface (Y / N)? [DEFAULT: Y]  : y
     219You are planning to use the Drupal Interface
     220 
     221Check ./MC.log for Measurement Controller setup details
     222
     223Your Measurement controller is accessible from this URL
     224http://pc109.emulab.net/
     225You Experiment is now complete.
     226You may login to your nodes and  begin your experimentation.
     227}}}
     228
     229Once the experiment is started, user may log into the the Measurement Controller (MC)
     230and access the Dupral interface to monitor all Measurement Points (MPs)at the link
     231shown http://pc109.emulab.net/.  When connecting to the suggested URL shown as the
     232experiment set up is completed, the user will be presented with the following page:
     233
     234[[Image(2010-06-25_Instools-1.jpg)]]
     235
     236Once the Dupral link is chosen, the list of nodes that are part of the experiment is shown:
     237
     238[[Image(2010-06-25_Instools-2.jpg)]]
     239
     240Selecting Graph for the Link details will present a page that shows graphs Link Interface Traffic:
     241
     242[[Image(2010-06-25_Instools-3.jpg)]]
     243
     244Selecting Graph for the Node details will present a page that shows graphs for all of the following:
     245 * Total CPU Utilization
     246 * ICMP traffic
     247 * IP Traffic
     248 * Memory Usage
     249 * TCP Traffic
     250 * Total Traffic
     251 * UDP Traffic
     252 
     253[[Image(2010-06-25_Instools-4.jpg)]]
     254
     255
     256Additionally various system table could be monitored including via the Table options:
     257 
     258[[Image(2010-06-25_Instools-5.jpg)]]
     259
     260Here is how a slice is deleted:
     261{{{
     262lnevers@riva:~/INSTOOLS$ ./deleteslice.py -n ln_slice
     263Got my SA credential. Looking for slice ...
     264Found the slice, asking for a credential ...
     265Got the slice credential
     266Deleting the slice
     267Slice has been deleted.
     268 
     269}}}
     270
     271Other scripts delivered as part of INSTOOLS Package include:
     272
     273 * deletesliver.py - Request that all the sliver be stopped. The tickets are still active.
     274 * discover.py - List all available resources at the the Component manager in XML format.
     275 * listcomponents.py - List all component managers that are part of the Protogeni federation
     276 * releaseticket.py - Release a ticket obtained when creating the experiment or updating the sliver.
     277 * renewsliver.py - Request a change of expiration time for an existing sliver extending the
     278 expiration time by <MINUTES>.
     279
     280Additional experiments were run with Kentucky Emulab Testbed with the following syntax:
     281
     282{{{
     283$ ./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
     284}}}