Update release schedule
[docs.git] / docs / getting-started-guide / concepts_and_tools.rst
1 *******************************
2 OpenDaylight concepts and tools
3 *******************************
4
5 In this section we discuss some of the concepts and tools you encounter with
6 basic use of OpenDaylight. The guide walks you through the installation process
7 in a subsequent section, but for now familiarize yourself with the information
8 below.
9
10 * To date, OpenDaylight developers have formed more than 50 projects to address
11   ways to extend network functionality. The projects are a formal structure for
12   developers from the community to meet, document release plans, code, and
13   release the functionality they create in an OpenDaylight release.
14
15   *The typical OpenDaylight user will not join a project team*, but you should
16   know what projects are as we refer to their activities and the functionality
17   they create. The Karaf features to install that functionality often share the
18   project team’s name.
19
20 * **Apache Karaf** provides a lightweight runtime to install the Karaf features
21   you want to implement and is included in the OpenDaylight platform software.
22   By default, OpenDaylight has no pre-installed features.
23
24   Features and feature repositories can be managed in the Karaf configuration
25   file  ``etc/org.apache.karaf.features.cfg`` using the ``featuresRepositories``
26   and ``featuresBoot`` variables.
27
28 * Model-Driven Service Abstraction Layer (MD-SAL) is the OpenDaylight framework
29   that allows developers to create new Karaf features in the form of services
30   and protocol drivers and connects them to one another. You can think of the
31   MD-SAL as having the following two components:
32
33   a. A shared datastore that maintains the following tree-based structures:
34
35      i. The Config Datastore, which maintains a representation of the desired
36         network state.
37      #. The Operational Datastore, which is a representation of the actual
38         network state based on data from the managed network elements.
39
40   b. A message bus that provides a way for the various services and protocol
41      drivers to notify and communicate with one another.
42
43 * If you’re interacting with OpenDaylight through the REST APIs while
44   using the OpenDaylight interfaces, the microservices architecture allows
45   you to select available services, protocols, and REST APIs.