Skip to content. | Skip to navigation

Personal tools

Navigation

You are here: Home / Wiki / Protogeniinstall

Protogeniinstall

Installing ProtoGeni

Installing ProtoGeni

The ProtoGENI software is currently under heavy development, but is already available for testing. Be aware that bugs do exist and that you will be helping us find them!

The following steps allow you to join the ProtoGENI federation.

  1. Make sure you are running the latest GIT snapshot from the Utah repository. Instructions for accessing the GIT repository are in the Emulab wiki. Once you have a checkout, following the instructions for upgrading your boss.
  2. If you already running Protogeni, then after you do your Emulab update, skip to Updating ProtoGeni section at the end of this document.
  3. Install the libdnet port on your boss, as follows:
    cd /usr/ports/net/libdnet
    sudo make
    sudo make install
    
  4. Once you are comfortable with the update process and you are sure your Emulab is still functioning (you can swap experiments in and out), you will want to do another rebuild on your boss node. First, add the following lines to your defs file:
    PROTOGENI_SUPPORT=1
    PROTOGENI_DOMAIN="mygeni"
    

where mygeni should be changed to a short descriptive name for your installation. Once you have updated the configuration, compilation is performed as follows:

cd /your/obj/dir
/your/src/dir/configure --with-TBDEFS=/your/defs-default
gmake clean
gmake

Now you want to install the new code, but first you need to stop the testbed daemons and disable web logins:

sudo testbed-control shutdown

Now install the new code:

sudo gmake update-testbed-nostop
  1. The remainder of the procedure is mostly automated. You should repeatedly invoke the following command:
    cd protogeni/scripts
    sudo perl initsite
    
    and follow the instructions it provides as necessary.
  2. Once initsite runs to completion, the site itself is ready.
  3. Restart apache and the testbed daemons and enable web logins.
    sudo /usr/local/etc/rc.d/apache.sh restart
    sudo testbed-control boot
    
  4. Any user who wishes to access ProtoGENI resources should create a personal key. This is done through the WWW interface on your Emulab, by logging in, then following the My Emulab link in the upper left and then Generate SSL Cert on the far left. A secure passphrase must be supplied by the user.
  5. A set of test scripts are available in the protogeni/test directory of your source tree. These scripts require the passphrase that the user chose in step 8 to be saved in $HOME/.ssl/password. Copy the entire directory over to your ops node. Start with the very simplest of the scripts, lookupuser.py, which will contact your new Slice Authority on boss and retrieve a credential, and then lookup the info the geniuser pseudo user. If this script fails, contact Utah.
  6. Any user who has completed step 8 can now access ProtoGENI resources from your ops host. Use the test scripts mentioned in the previous step as a guide. Users must save the passphrase they chose in step 8 in $HOME/.ssl/password.
  7. If you have any nodes that should not be used by ProtoGENI, then you should a row to the node_attributes table:
        mysql> insert into node_attributes values
                ('pcXXX', 'protogeni_exclude', 'Yep');
    

The current prototype is undergoing heavy development, so the above instructions are subject to change. Please send any comments to the developers.

Updating ProtoGeni

To update the Protogeni code, just follow the instructions in the upgrading Emulab wiki. Updating Emulab will update ProtoGeni. Note that you should not attempt to update the ProtoGeni code independent of Emulab.