Adding docs in cortexlab.
[sfa.git] / sfa / cortexlab / docs / source / index.rst
1 .. cortexlab_sfa_driver documentation master file, created by
2    sphinx-quickstart on Mon Nov 18 12:11:50 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 cortexlab_sfa_driver's documentation!
7 ================================================
8
9 ===================
10 Code tree overview
11 ===================
12
13 ------
14 Driver
15 ------
16
17 The Cortexlab driver source code is under the folder /sfa, along with the other
18 testbeds driver folders. The /cortexlab directory contains the necessary files
19 defining API for LDAP, the postgresql database as well as for the SFA
20 managers.
21
22
23 Cortexlabnodes
24 ---------------
25
26 CortexlabQueryTestbed class's goal is to get information from the testbed
27 about the site and its nodes.
28 There are two types of information about the nodes:
29
30 * their properties : hostname, radio type, position, site, node_id and so on.
31  (For a complete list of properties, please refer to the method
32  get_all_nodes in cortexlabnodes.py).
33
34 * their availability, whether the node is currently in use, in a scheduled experiment
35  in the future or available. The availability of the nodes can be managed by a
36  scheduler or a database. The node's availabity status is  modified when it is
37  added to/ deleted from an experiment. In SFA, this corresponds to
38  creating/deleting a lease involving this node.
39
40 Currently, CortexlabQueryTestbed is merely a skeleton of methods that have to be
41 implemented with the real testbed API in order to provide the functionality
42 they were designed for.
43
44
45 In the LDAP file, the LDAPapi class is based on the unix schema.
46 If this class is reused in another context, it might not work without some bit
47 of customization. The naming (turning a hostname into a sfa hrn, a LDAP login
48 into a hrn ) is also done in this class.
49
50 The cortexlabpostgres file defines a dedicated cortexlab database, separated from the
51 SFA database. Its purpose is to hold information that we can't store anywhere
52 given the Cortexlab architecture with OAR and LDAP, namely the association of a
53 job and the slice hrn for which the job is supposed to run. Indeed, one user
54 may register on another federated testbed then use his federated slice to book
55 cortexlab nodes. In this case, an Cortexlab LDAP account will be created. Later on,
56 when new users will be imported from the LDAP to the SFA database, a Cortexlab
57 slice will be  created for each new user found in the LDAP. Thus leading us to
58 the situation where one user may have the possibility to use different slices
59 to book Cortexlab nodes.
60
61 Contents:
62
63 .. toctree::
64    :maxdepth: 2
65
66
67
68 Indices and tables
69 ==================
70
71 * :ref:`genindex`
72 * :ref:`modindex`
73 * :ref:`search`
74