= 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 [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. 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 block Sample rspecs are provided in the "rspecs" directory. Make sure you have the 2010-02-28T12:00:00 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: [[Image(2010-06-25_Instools-1.jpg)]] Once the Dupral link is chosen, the list of nodes that are part of the experiment is shown: [[Image(2010-06-25_Instools-2.jpg)]] Selecting Graph for the Link details will present a page that shows graphs Link Interface Traffic: [[Image(2010-06-25_Instools-3.jpg)]] 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 [[Image(2010-06-25_Instools-4.jpg)]] Additionally various system table could be monitored including via the Table options: [[Image(2010-06-25_Instools-5.jpg)]] 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 . 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 }}} '''GENI Integration Release 2.1 Guidelines''' Spiral 2 Release 1 [[BR]] {{{ #!html Email us with any questions and feedback on this page! }}}