Adding sphinx doc configuration files in iotlab.
[sfa.git] / sfa / iotlab / docs / source / index.rst
1 .. Iotlab SFA driver documentation master file, created by
2    sphinx-quickstart on Tue Jul  2 11:53:15 2013.
3    You can adapt this file completely to your liking, but it should at least
4    contain the root `toctree` directive.
5
6 Welcome to Iotlab SFA driver's documentation!
7 =============================================
8
9 ===================
10 Code tree overview
11 ===================
12
13 ------
14 Driver
15 ------
16
17 The Iotlab driver source code is under the folder /sfa, along with the other
18 testbeds driver folders. The /iotlab directory contains the necessary files
19 defining API for OAR, LDAP, the postgresql database as well as for the SFA
20 managers.
21
22 The OAR API enables the user to get information regarding nodes and jobs:
23 nodes and their properties (hostnames, radio and so on), jobs and the associated
24 username and nodes. These are used when querying the testbed about resources
25 and leases. In order to add a new node property in the iotlab Rspec format,
26 the new property must be defined and parsed beforehand from OAR in the OAR
27 API file.
28
29 In the LDAP file, the LDAPapi class supposes the unix schema is used.
30 If this class is reused in another context, it might not work without some bit
31 of customization. The naming (turning a hostname into a sfa hrn, a LDAP login
32 into a hrn ) is also done in this class.
33
34 The iotlabpostgres file defines a dedicated iotlab database, separated from the
35 SFA database. Its purpose is to hold information that we can't store anywhere
36 given the Iotlab architecture with OAR and LDAP, namely the association of a
37 job and the slice hrn for which the job is supposed to run. Indeed, one user
38 may register on another federated testbed then use his federated slice to book
39 iotlab nodes. In this case, an Iotlab LDAP account will be created. Later on,
40 when new users will be imported from the LDAP to the SFA database, an Iotlab
41 slice will be  created for each new user found in the LDAP. Thus leading us to
42 the situation where one user may have the possibility to use different slices
43 to book Iotlab nodes.
44
45 ----------------------------
46 RSpec specific Iotlab format
47 ----------------------------
48
49 There is a specific Iotlab Rspec format. It aims at displaying information that
50 is not hadled in the SFA Rspec format. Typically, it adds the nodes' mobility
51 and its mobility type, the hardware architecture as well as the radio
52 chipset used. This is done by defining a iotlabv1 rspec version format file
53 under /rspecs/versions. Definitions of an iotlab rspec lease, node and sliver
54 are done in the associated files under /rspecs/elements/versions.
55 If a property has to be added to the nodes in the Iotlab Rspec format, it
56 should be added in the iotlabv1Node file, using the other properties as example.
57
58 --------
59 Importer
60 --------
61
62 The iotlab importer task is to populate the SFA database with records created
63 from the information given by OAR and LDAP. Running the importer periodically
64 enables the SFA database to be in sync with the LDAP by deleting/ adding records
65 in the database corresponding to newly deleted/ added users in LDAP.
66
67
68
69 .. toctree::
70    :maxdepth: 2
71
72 Code Documentation
73 ==================
74
75 .. toctree::
76    :maxdepth: 2
77
78    iotlab.rst
79    versions.rst
80    importer.rst
81
82
83
84 Indices and tables
85 ==================
86
87 * :ref:`genindex`
88 * :ref:`modindex`
89 * :ref:`search`
90