This tutorial explains how to interact with the SFA interface of Community-Lab. To use the SFA interface (exposed by the Community-Lab SFA wrapper), a SFA client application is needed. In this tutorial we use the Experimenter client tool provided by jFed (a Java based framework developed by iMinds to support SFA testbed federation).
Please, refer to the Interacting with the Community-Lab SFA wrapper using Probe tutorial to find out how to use the Probe client tool to run experiments in Community-Lab using the SFA wrapper.
The Experimenter tool provides a simple graphical interface to easily run experiments in Community-Lab, where the interaction with the Community-Lab SFA wrapper is done automatically and in a way that is invisible to the user.
To begin using the Experimenter go to the URL http://jfed.iminds.be and click the
Quickstart jFed experimenter tool button.
Once jFed is running, a dialog box will appear as shown below:
Next, you should browse and load the file that contains the client certificate and the private key (.pem file) that you downloaded from the authority portal. Once this is done, enter the password press the
A message will tell you that you have to configure the SSH key Authentication in order to be able to run experiments.
If you click
OK, the jFed Preferences screen will appear. Here you will have to configure the SSH settings.
First of all, make sure that the PuTTY installation directory is correct. Next, browse the SSH private key (.ppk file) saved on your computer. The public key will then be automatically shown. Also you can select the
Use pageant to manage SSH keys checkbox to enable the PuTTY ssh agent, which makes that you only have to type the passphrase to unlock the key once.
Save button, write the passphrase for your private key and click
External Terminal Command tab, just make sure that your default settings are configured correctly, as shown in the following screenshot.
Go to the
SSH Authentication tab and verify that you are using a certificate-key pair.
If the host machine where you are running the Experimenter application has Tinc connectivity with the Community-Lab testbed, it is not necessary to perform any other configuration step. If this is not the case, we have to go to the
Proxy tab to configure the proxy settings for the application. By doing so, we will allow the application to connect to the Jfed proxy server to allow Tinc connectivity with Community-Lab nodes and therefore, be able to make SSH connections with the slivers.
To configure the proxy settings, just click the
Run Proxy Test button in order to verify that the proxy is reachable.
Once the test is successfully finished, select the
Always checkboxes to allow both the use of the
Proxy for jFed and for
Once you have finished the configuration of the jFed Preferences settings, click
Save. Then, the following screen will appear.
New to get a blank space to draw your experiment.
Pick a wireless node from the list on your left and drop it in the main space of the screen. Once you have this node, you can rigth-click on it to configure it, as shown:
Node Properties screen and the
General tab, click in the
Select Testbed pull-down menu and select
clab, corresponding to the Community-Lab testbed.
After doing this, select the
Specific node checkbox, and then, select the desired Community-Lab node from the node list that will appear in a pull-down menu after the application finish fetching the RSpecs from the Community-Lab testbeds. Finally, click
Save to update the node configuration.
Back in the main screen click
Run, write a name for the slice where you want to run your experiment and click the
Start Experiment button. Make sure that the name of the slice has no more than 9 characters, otherwise you will get an error message telling you that URN generated using the slice name provided exceed the maximum length of 64 characters.
In the following screenshots we can see how the Experimenter interface changes throughout the process of initializing the experiment and allocating a new sliver in the Community-Lab Aggregate Manager (AM) for the registered slice “SliceEx”.
The Community-Lab AM allows to advertise resources and to allocate resources to Slices in the form of Slivers (for more information about the Community-Lab SFA Wrapper and aggregate manager go to this wiki page). Using the Experimenter, the registration of a new slice in the federated authority, the allocation a new sliver in the Community-Lab AM using the Slice Credential issued by the federated authority, the provision of the allocated slivers and the operation to start the slivers are performed automatically without requiring any action from the user. If we want to see all the operations that jFed is doing in the background we can just click the “speedometer” symbol at the bottom-right as shown.
Immediately, the following screen will appear and we can check the status of all the calls that the jFed platform is performing.
If we now go to the
RSpec Viewer tab, we will see information about the Slivers and also the Node login information. We can therefore check that the new sliver is ready, we can verify that it belongs to the Community-Lab (clab) testbed and also we can check its ID and expiration time.
In addition, we can see the hostname and port where the sliver is running. In our case, the IPv6 of the host is fdf5:5351:1dfd:7e:1001::30f.
Now if we go to the Community-Lab Testbed Management interface we can verify how a new slice has been created, with the corresponding urn (containing the name “SliceEx”) in the “fed4fire” group and with the appropriated ID number.
Finally, going back to the Topology Viewer tab, we can access the sliver just by double-clicking on the node to open an SSH terminal or by right-clicking on the node and selecting “open SSH terminal” option.
Once inside the sliver, you can run your experiments from the terminal.