This documentation describes the usage of the Community-Lab SFA Wrapper. Other sections of the wiki describe the technical details and architecture of the SFA Wrapper. The SFA Wrapper provides an Aggregate Manager interface through which the user can reserve and manage the resources offered by the testbed using a generic SFA client tool. This section describes the general steps to follow when using any generic SFA client tool with the Community-Lab SFA Wrapper.
The following table shows a summary of the configuration details and supported features described in this section and other sections about the SFA Wrapper (technical details and architecture).
|AM URL||https://18.104.22.168:12346||URL that the SFA client tools needs to interact with.|
|API version||GENI AM API v3||API exposed by the SFA Wrapper. More details here|
|RSpecs||GENI RSpec v3||Standard RSpec ( GENI v3 RSpec Schema)|
|CLab RSpec v1||RSpec extension for C-Lab to support specific features (CLab v1 RSpec Schema)|
|Federated authorities (supported accounts)||iMinds Virtual Wall (Emulab)||Get an account here|
|PlanetLab Europe||PlanetLab EU|
|SFA Client tools with support for Community-Lab SFA Wrapper||jFed||It includes support for the C-Lab SFA Wrapper by defualt. No configuration needed. More info here|
First step to use the SFA Wrapper of Community-Lab is to get a user account on one of the federated authorities. These federated authorities will generate credentials for our user account that the SFA Wrapper will accept as valid since it trusts these authorities.
Get an account on one of these federated authorities:
After creating the user account, you will need to upload a public key. Then you will generate the certificates for your user account and download them. Most of the SFA client tools require the certificates (with the public key) in
.pem format. Therefore it is recommended to download the certificate in this format if possible.
For using the SFA interface of Community-Lab you need a tool acting as a SFA-client. This tool will allow you to interact with Community-Lab AM by calling the operations of the SFA AM API. There are many client tools that can be used. Here you have a short list of some client tools:
There is a complete tutorial of how to use the jFed client tool with Community-Lab testbed. Please, see Tutorial SFA wrapper Community-Lab + jFed.
If you choose to use jFed no configuration is needed. jFed supports by default the Community-Lab testbed. There are different tools provided by the jFed suite. An interesting and recommended tool is jFed-Experimenter tool (available as web application at jFed), that provides a graphical environment to design your experiment topology.
The Community-Lab testbed nodes are avaialble in jFed Experimenter tool as Wireless Nodes. Once a Wireless Node is added to your experiment you can double-click on it and select the testbed that provides this node. One of the options is
clab that stands for Community-Lab.
If you choose another tool, you may need to configure it to work with the Community-Lab SFA Wrapper. Normally, the parameters needed for the configuration include URL and version of the AM, URN and certificates. To configure your SFA client tool use the following information for the C-Lab SFA Wrapper:
Once the client tool is properly configured you can interact with the C-Lab SFA Wrapper and make use of the testbed and its resources. The SFA API provides a set of operations that allow the users to reserve, use and manage the resources offered by the testbed. The set of operations includes:
The typical use case for the testbed is to register a new slice and create a set of slivers associated to this slice. Then the user can access the slivers through ssh and deploy the desired experiments. Once the experimentation is finished, the resources (slivers) can be released.
Some of the SFA client tools that provide a graphical user interface encapsulate and automate this procedure, making easier the process of reserving resources and creating slivers. One example is the jFed-Experimenter tool, that provides a graphical interface to select specific nodes of the testbed and instantiate slivers on them, as well as easy ssh access to the created slivers.
However not all the SFA client tools provide a graphical interface to automate the procedure. In this case, you may need to follow step by step the procedure to register a new slice, create slivers for this slice and access them via ssh. The whole process is detailed in the next section.
This section explains the complete process to create a new slice with a set of slivers using a SFA client tool configured to work with the Community-Lab SFA Wrapper. It is assumed that the user has an account on a federated authority and it has downloaded correctly the corresponding certificate.
Registera new slice in the federated authority. This can be done with any SFA client tool. Once the slice is correctly registered in the federated authority, get its slice credential.
Allocateoperation the user will need to specify the correct Request RSpec describing the slivers being allocated.
Provisionon the AM of Community-Lab. Select the allocated slivers or the whole slice in the
Provisionoperation. The user will also need to specify a public key that will be uploaded to the created slivers, so that the user will have SSH access to the slivers once they are ready.
PerformOperationalActionon the AM of Community-Lab. Select the operation
geni_startand the slivers (or the whole slice). This operation will start the booting process of the slivers.
Statuson the AM of Community-Lab. Select the slivers (or the whole slice). The operation Status will show information about the operational state of the slivers. When this state is
geni_readythe slivers are ready to use.
Describeon the AM of Community-Lab to see the details of the slivers, including the SSH Login information (user and IP address of the sliver).