Developer HowTo for SO Module: Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
(Created page with "==Getting Started== Check out the SO module following the instructions @ RiftWare installation (release 0). ==Programming Language== The SO module uses Python3. ==Code S...")
 
No edit summary
Line 22: Line 22:


'''TODO:''' Merge and have one unit test target.
'''TODO:''' Merge and have one unit test target.
==Development Environment==
The SO module is organized into a group of tasklets. A tasklet is an instance of software task that can be independently scheduled. The tasklet may run standalone or along side other tasklets in a single process. <br>
Inter tasklet communication is achieved through a transactional publish/subscribe middleware facility known as Distributed Transaction System (DTS). Transaction data and keying is based around yang-based schema. <br>
Tasklets registers with DTS as publishers and/or subscribers and exchange model based data. The Python tasklets access this data as Python classes auto-generated from YANG model.

Revision as of 01:19, 6 May 2016

Getting Started

Check out the SO module following the instructions @ RiftWare installation (release 0).

Programming Language

The SO module uses Python3.

Code Style

Please follow PEP8 style guide for all the Python code.

Directory Organization

The code organized into the following high level directories:
| - common (Contains common modules)
| - models (Contains the information models)
| - rwlaunchpad (Contains majority of the logic for SO
| - rwcm (Contains the logic for configuration manager)

Running Unit Tests

The unit tests for this module are in rwlaunchpad/test. Please make sure that these tests pass. Currently the following unit test files exist:
- mano_ut.py
- utest_rwnsm.py
NOTE: To run the unit tests make sure to source ${TOP_DIR}/rift-shell.

TODO: Merge and have one unit test target.

Development Environment

The SO module is organized into a group of tasklets. A tasklet is an instance of software task that can be independently scheduled. The tasklet may run standalone or along side other tasklets in a single process.

Inter tasklet communication is achieved through a transactional publish/subscribe middleware facility known as Distributed Transaction System (DTS). Transaction data and keying is based around yang-based schema.

Tasklets registers with DTS as publishers and/or subscribers and exchange model based data. The Python tasklets access this data as Python classes auto-generated from YANG model.