wiki:GEC22Agenda/LabWiki/Instruction

Version 9 (modified by divyashri.bhat@gmail.com, 9 years ago) (diff)

--

GENI portal

Preparation for utilizing the GENI environment

Make sure that before starting you have setup the correct topology and have the proper setup of SSH keys. The following videos will walk you through these steps.

Step 1: Get Ready:

The first thing we need to do is login to the portal. Go to [portal.geni.net Geni Portal] press the Use GENI button. From the Drop Down menu select your institution. If you obtained an account through the GENI Identity Provider, please select GENI Project Office. Tip: Start typing the name of your institution and see the list become smaller. You will be transferred to the Login Page of your institution. Fill in your username and password.

Step 2: Launch your experiment:

  • At the portal home page press the create slice from your project.

Tip: If you are not a member of any project and you don't know how to proceed, email us (geni-users@googlegroups.com)

  • Name your slice something like xxxhello (where xxx are your initials)
  • When the slice page loads up, press the Slice Jacks button.
  • Once the Jacks window loads, click the Add Resources button placed at the top left part of the screen.

NOTE: If you get a warning about not having uploaded ssh keys just follow the instructions on providing an ssh key before you proceed.

  • You will need to choose an aggregate where you want this topology to be instantiated. Click on the Site 0 box and a panel on the left side of the canvas will appear.
  • Click on the Reserve Resources button on them bottom left part of the screen.
  • Wait while your resources are being reserved. This will take several minutes so be patient. The nodes will turn green to signify that your resources are ready.
  • Now, as a professor, you will be the admin of the project. You will have permission to accept the requests of the students to join your project. You can make TA as the project lead who will also have permission to accept the requests of students.

*NOTE:

*Slice has an expiration date. You will have an option to renew the resources before expiration. You will also get a mail notification before 24 hours of expiry. But, projects do not have an expiry date.

Step 3: View Results:

See the Labwiki instructions section.

Step 4: Cleanup experiment:

After you are done with your experiment, you should always release your resources so that other experimenters can use the resources. In order to cleanup your slice :

*Press the Delete button at the bottom of your Jacks canvas.

After a few moments all the resources will have been released and you will have an empty canvas again. Notice that your slice is still there. There is no way to delete a slice, it will be removed automatically after its expiration date, but remember that a slice is just an empty container so it doesn't take up any resources.

LABWIKI

Introduction

LabWiki is a web-based tool developed at NICTA. It is used to design, describe and run experiments on the GENI test bed and perform active measurements.

OEDL

OEDL is a domain-specific language for the description of an experiment's execution. OEDL is based on the Ruby language, but provides its own set of experiment-oriented commands and statements.

For further details, visit

Logging into LabWiki

The LabWiki webpage is available at the following URL .
Click on "Login with GENI ID"

  • If you have already logged in to the GENI Portal, you will be automatically logged in to LabWiki
  • Use your GENI Portal username and password to login
  • You will be asked to agree to sending your GENI Portal information to LabWiki. LabWiki will only use your GENI ID to log you in ad obtain information about the Projects and Slices that you are a member of, so please click on "Send my information"

Note: If you are logged into the GENI Portal, you are logged in to LabWiki as well. It is recommended to use the Chrome browser to access LabWiki. In other browsers, the graphs in LabWiki may not be displayed properly due to issues with the JavaScript used in LabWiki.

Structure of LabWiki

LabWiki consists of three panels namely: Plan, Prepare and Execute.

Plan:

This panel is used to view Markdown scripts. This column is usually used to provide some instructions about the experiment. This is also the place where you describe for example, the goals of the experiment, the hypotheses that it tests, its design, and any background information to help students understand it. When the experiment is finished, the graphs can be dragged and dropped in to this panel to take a look. To open a document, start typing its name in the search box below the column's title. You can choose the required one from the drop down list that shows the matching documents. The final document that a student submits for grading will be written in Markdown.

Prepare

This column can be used to create and edit two type of documents:

  • Markdown scripts that can be viewed on the plan column.
  • OEDL documents that have the experiment scripts written in Ruby.

A new document can be created by clicking on the "+" button below the column's title. You will have the option of choosing either the "wiki" option or "oedl" option. "wiki" option should be chosen for markdown scripts. Also, a document opened in the plan column can be dragged and dropped in to this column for editing. Click save icon to save the document.

To edit a document, start typing in the search box below the column's title. A drop down list consisting of matching results will be displayed. The experiment scripts will have either .oedl or .rb file extension whereas the markdown scripts will have .md extension.

Execute

This panel is used to start a new instance of an experiment, monitor the execution, view the logs and graphs.

  • To start a new instance of an experiment, select and load the experiment in the Prepare column as described above. If required you may want to edit and save that experiment.
  • Then drag the icon next to the experiment's name from the Prepare column, and drop it in the Execute column. You should now see in the Execute column some information about this new experiment instance.
  • In addition to standard experiment parameters (e.g. Name, Slice, Scripts), all configurable experiment properties are displayed in the Execute column , where you can change their default values.
  • You may want to give a name to this experiment instance in the Name field within the Execute column, or leave that field blank to let LabWiki pick a unique name for you.
  • You can start this new experiment instance by clicking on the "Start Experiment" button.
  • Once you start this new experiment instance, the Execute column will show information about the running experiment, such as detailed logs and any defined graphs (you may have to scroll down to the bottom of the Execute column to see these graphs)
  • When the experiment instance has finished running, you may copy a plotted graph from the Execute column back to the Plan column, in order to include it to your report or written records. To do so, drag the icon located below the graph (next to its title) and drop it just after the line of text of your choice in the Plan column

Key Features of LabWiki

LabWiki can be used to run experiments which:

  • dynamically react to changes in the resources being used-

It allows user to define events which will trigger based on measurements produced by resources involved in the experiment. In other words, if one or more collected measurements reach a specific condition, then the event will trigger and some user-defined tasks will be executed. For further details, check http://groups.geni.net/geni/wiki/GEC21Agenda/OEDL/Experiment1

  • dynamically react to collected measurements-

It allows user to define events which will trigger based on measurements produced by resources involved in the experiment. In other words, if one or more collected measurements reach a specific condition, then the event will trigger and some user-defined tasks will be executed. For further details, check http://groups.geni.net/geni/wiki/GEC21Agenda/OEDL/Experiment2

Instructions to create an assignment

LabWiki can now be used to automatically grade the students' experiments. Currently, there is a configuration file with global permissions. Users will be categorized into professors by specifying an educator role within this configuration file.

This feature incorporates three different repositories:

  • The system repository is the global repository which will have files created by the instructor. This repository is shared between Professors and students. A Professor will have write permissions for files in this repository whereas students will have Read-only access.
  • The students will have their own repositories where they can create their own files (Markdown and OEDL).
  • There will be a submission repository which will have all the submissions (Markdowns) of the students.

To create an Experiment a Professor must:

  • Create a Markdown file providing instructions and reading materials required to run an experiment for the students.
  • Create OEDL scripts to run the experiment. To know more about OEDL, check out OEDL-OMF6
  • Professors can write a user-defined event such that it gets triggered only if the experiment has run successfully. They can define the events that need to start upon triggering. For an example, look here.

To run an Experiment a Student will:

  • Login to LabWiki and view the files loaded by the Professor. They will not be able to edit the original files.
  • Create his/her own OEDL file (if required), copy the content from original file, make modifications as necessary and run the experiment.
  • Once the experiment is complete, students have to create a new Markdown file for submission. They can drag the graphs of the experiment into the file and and include necessary details about the experiment. When they are ready to submit the file, they can click "share page" icon in the leftmost-corner of plan panel of Labwiki.
  • The "Share Page" creates a submission file with the student's user name in the submission repository

To Grade a submission a Grader will:

  • Login to LabWiki and in the Plan panel, bring up a separate Markdown file (currently, called submission.md) which will contain links to all the student submissions. This Markdown can be accessed only by the Professor and is hidden from students.
  • A Grader has to simply bring up any of the Markdowns listed in this file and click on a student's submission (again a Markdown script) to grade it.

Gitolite - coming soon

LabWiki now provides SSH Access to LabWiki Managed Git Repository with the help of Gitolite. By integrating with Gitolite, LabWiki now allows end users to access and update git repositories via standard git command. They could now use their favorite text editor to create and modify experiment scripts; use normal git work flow to synchronize changes. Gitolite need not be installed on the same server as GENI.

Back: LabWiki Tutorial