INSTOOLS : Description

INSTOOLSv3.1 Package Contents

  1. rspecs
  2. creatExp.py
  3. instrumentize.py
  4. de-instrumentize.py
  5. purgeslice.py
  6. Misc scripts (inst-common.py , credentialRoutines.py and instools_util.py)

  • rspecs (directory)

Sample rspecs in xml format

TOP


  • createExp.py

Usage : createExp <arguments> <rspec>

Arguments:

-d, --debug                Debug option enabled
-h, --help                 Show options and usage
-n name, --slicename=name  Provide slicename [DEFAULT = mytestslice]
-m                         <CM Path> [default: local]  

This will create an experiment based on the rspec provided.

 

Example Invocation 1./createExp -n abcslice rspecs/kytop.rspec . [This defaults to your local Testbed.]

 

Example Invocation 2: If you need to create an experiment at a remote testbed like Kentucky, then

 ./createExp -n abcslice -m https://www.uky.emulab.net/protogeni/xmlrpc/cm   rspecs/gectest.rspec

 TOP


  • instrumentize.py

Usage : instrumentize.py <arguments>

Arguments:

 -d, --debug                     Debug option enabled
-h, --help                      Show options and usage
-n name, --slicename=name       Provide slicename
                                [DEFAULT = mytestslice]
--USE_VIRTUAL_MC                Use openVZ container for MC (optional parameter)
                                [DEFAULT = use physical node]
-k filename, --keys=filename    Path to ssh private key (optional parameter)
--PASS-CREDENTTIALS             pass your .ssl directory and .protogeni-config to the
                                Measurement Controller [This option has been deprecated] 

 

     This script is used to instrumentize an experiment. It will talk to your Slice Authority and obtain the list of component managers (CMs) from which you have used resources as a part of your experiment. The user is then presented a choice to select the CMs they wish to instrumentize if more than one CM is found. For each Component manager selected it will then perform the following pre-checks:

a. If your experiment at this CM is already instrumentized

b. If all nodes in your experiment are up and booted and are using an INSTOOLS supported Operating System.

     In case (a), the instrumentization part is skipped for that CM. In case (b) if any condition fails, then that CM is skipped during the intrumentization process.

 

     You will also asked to enter a password and a valid email address, that will be used along with your protogeni username to create an account on the Measurement Controller Webinterface. Once the setup process is completed successfully, the URLS to the Web-Interface of the Measurement Controller is provided on the screen. Debug logs are also saved during the instrumentation process at the client side and also on the nodes in your experiment. These are mainly for help debug any errors you uncover. The logs stored are:  

a. Client side: - In a sub-directory called "logs" within the INSTOOLSv3.x directory. The log filenames are labeled as "instrumentize-<SLICENAME>_<Current Timestamp>.log"

b. On the Measurement Controller and Experimental Nodes : Located in /var/emulab/logs/INSTOOLS.log

     A sample output of instrumentizing a two node experiment which has one node from the Kentucky Aggregate and one from the Utah Aggregate has been provided in a file called SAMPLE_RUN

 

Example Invocation 1 : ./instrumentize.py -n hussamslice

        Instrumentize an experiment under the slicename "hussamslice"

 

Example Invocation 2 : ./instrumentize.py -n hussamslice -k \

/homes/nasir/.ssh/protogeni-key

     Same as the earlier example with an added feature. Assuming you created your ssh keys ( that you uploaded onto the Emulab webinterface) on a machine other than the one you are currently working, you are required to use the -k option providing the path to the private key for the public key you uploaded. 

 

Example Invocation 3./instrumentize.py -n hussamslice --USE_VIRTUAL_MC

     Instrumentize an experiment under the slicename "hussamslice" but create the Measurement controller as an OpenVZ container instead of using a physical machine

TOP 


  • de-instrumentize.py

Usage : de-instrumentize.py <arguments>

Arguments:

-d, --debug                     Debug option enabled
-h, --help                      Show options and usage
-n name, --slicename=name       Provide slicename [DEFAULT = mytestslice]
-k filename, --keys=filename    Path to ssh private key 

 

    This script is used to de-instrumentize an experiment. It will talk to your Slice Authority and obtain the list of component managers (CMs) from which you have used resources as a part of your experiment. The user is then presented a choice to select the CMs they wish to de-instrumentize if more than one CM is found. For each Component manager selected it will then perform the following pre-checks:

    a. If your experiment at this CM is not instrumentized

    b. If all nodes in your experiment are up and booted and are using an INSTOOLS supported Operating System.

 

    In case (a), the de-instrumentization part is skipped for that CM. In case (b) if any condition fails, then that CM is skipped during the instrumentization process.

    The de-instumentization process removes the Measurement controllers and then disables the SNMP daemon on each of the experimental nodes in your experiment. The debug logs are also saved during this process at the client side and also onthe nodes in your experiment. These are mainly for help debug any errors you uncover. The logs stored are:

    (a) Client side: - In a sub-directory called "logs" within the INSTOOLSv3.x directory. The log filenames are labeled as "de-instrumentize-<SLICENAME>_<Current Timestamp>.log"

    (b) On the Experimental Nodes : Located in /var/emulab/logs/INSTOOLS.log

 

Example Invocation 1 : ./de-instrumentize.py -n hussamslice

    Instrumentize an experiment under the slicename "hussamslice" 

 

Example Invocation 2 : ./de-instrumentize.py -n hussamslice -k /homes/nasir/.ssh/protogeni-key

    Same as the earlier example with an added feature. Assuming you created your ssh keys ( that you uploaded onto the Emulab webinterface) on a machine other than the one you are currently working,  you are required to use the -k option providing the path to the private key  for the public key you uploaded.

 

TOP


  • purgeslice.py

Usage: purgeslice.py <arguments>

Arguments :

 -d, --debug                 Debug option enabled
-h, --help                  Show options and usage
-n name, --slicename=name   Provide slicename [DEFAULT = mytestslice]

     This script is a modified version of the deleteslice script provided by the University of Utah along with the protogeni code. The scripts talks to your local slice authority and obtains the list of Component managers on which your slivers are active. It then talks to each Component manager and deletes your slivers and slices at those CMs 

 

Example Invocation: ./purgeslice.py -n uktestslice

TOP


  • inst-common.py , credentialRoutines.py and instools_util.py

Other library routines. Not to be run.

 TOP