Welcome to the MySlice development website
Table of Contents
If you are interested in a high-level overview of MySlice, please visit the MySlice public website.
This trac is for the community of developers around MySlice (notably for people creating plug-ins), and for those who wish to download and install their own version of MySlice.
- Please join the developer community by subscribing to the firstname.lastname@example.org mailing list.
MySlice is a web client enabling users to access a Federation of Testbeds using the SFA APIs.
SFA defines the minimal set of interfaces and data types that permit a federation of slice-based network components to interoperate.
Larry Peterson, et al. "Slice-Based Facility Architecture (2009)." Information available at PDF
What do you need?
IMPORTANT: Depending on your interest, you might need only part of this architecture.
We have identified different types of developers, depending on their objectives they will focus on different components.
|Federators||build their own federation of testbeds||full package|
|Testbed owners||federate their testbed||SFA AM Driver|
|Federated testbed owners||provide users access to specific features of their testbed||RSpecs, Manifold SFA GW, MySlice plugins|
|MySlice plugins developers||provide access to added services, enhance the web interface||MySlice plugins|
SFA is a package that contains both Registry, AM and CLI Client software.
More information about SFAWrap implementation
SFA Registry is a root of trust within a federation of testbeds. It provides an XMLRPC API on top of a PostgreSQL Database.
It is responsible for managing the following objects: authorities, users and slices.
It delivers the credentials for these objects.
AM API allows testbeds to securely expose their resources to the federation and enables users to reserve them by exchanging XML RSpecs files.
Any authenticated user can access to the federated testbeds by sending its credentials as a proof of his/her identity along with the API call.
This is an example of a Dummy Testbed configured to expose fake resources with an AM API.
AM Configuration example
Several "drivers" have been developed for different testbeds:
If you want to federate your own testbed, you will have to develop a "driver".
It consists in translating AM API calls into the Testbed specific calls.
This work requires to understand the functions of the AM API.
More information about AM API GENI AM API v3
Manifold provides an API that allows to Query distributed data.
Install Manifold: Manifold/Install#InstallingMANIFOLDbackend
In the Testbeds Federation context, we consider that the SFA layer provides distributed sources of data for instance the AMs.
Therefore, the Manifold SFA Gateway acts as an SFA Client toward different AMs on behalf of the user.
Several other gateways have been developed for Manifold.
MySlice web frontend is developed using python and Django framework.
It relies on the Manifold backend.
Many plugins have been developed
How to develop your own plugin? PluginDeveloperGuide