(OLD) Release 0 HowTo guide for developers: Difference between revisions
Line 2: | Line 2: | ||
The OSM code is organized into four modules. The following diagram illustrates how these four components fit together: <br> | The OSM code is organized into four modules. The following diagram illustrates how these four components fit together: <br> | ||
[[File:osm_architecture.png|800px]] <br><br> | [[File:osm_architecture.png|800px]] <br><br> | ||
'''Launchpad (User Interface):''' Launchpad provides the user interface to the OSM orchestrator. From the Launchpad user can manage the catalog, compose the NS/VNF descriptors and perform the lifecycle management on Network Services. In addition, the UI also provides the ability execute the NS/VNF level configuration primitives. <br> | '''Launchpad (User Interface):''' Launchpad provides the user interface to the OSM orchestrator. From the Launchpad user can manage the catalog, compose the NS/VNF descriptors and perform the lifecycle management on Network Services. In addition, the UI also provides the ability execute the NS/VNF level configuration primitives. The following page describes [[Developer HowTo for UI Module|Developer HowTo for UI Module]]<br> | ||
'''Service Orchestrator (SO):''' Service Orchestrator is responsible for End-to-End service orchestration. It is responsible for instantiating the NS, and starting the configuration plugins such as JUJU charms. The following page describes [[Developer HowTo for SO Module|Developer HowTo for SO Module]].<br> | '''Service Orchestrator (SO):''' Service Orchestrator is responsible for End-to-End service orchestration. It is responsible for instantiating the NS, and starting the configuration plugins such as JUJU charms. The following page describes [[Developer HowTo for SO Module|Developer HowTo for SO Module]].<br> | ||
'''Resource Orchestrator (RO):''' Resource Orchestrator is responsible for creating and placement of compute and networking resources. It is also responsible for interfacing with SDN controller. <br> | '''Resource Orchestrator (RO):''' Resource Orchestrator is responsible for creating and placement of compute and networking resources. It is also responsible for interfacing with SDN controller. The following page describes [[Developer HowTo for RO Module|Developer HowTo for RO Module]]<br> | ||
'''Juju Charms (Charms):'''Juju charms provide the VNF abstraction and configuration for the VNFs. The Service Orchestrator interfaces with the JUJU charm to configure the VNF. | '''Juju Charms (Charms):'''Juju charms provide the VNF abstraction and configuration for the VNFs. The Service Orchestrator interfaces with the JUJU charm to configure the VNF. | ||
==Common Developer Guidelines== | ==Common Developer Guidelines== | ||
The following section provides developer guidelines across modules. For module specific guidelines refer to module specific links indicated above. | The following section provides developer guidelines across modules. For module specific guidelines refer to module specific links indicated above. |
Revision as of 02:22, 6 May 2016
Architecture Overview
The OSM code is organized into four modules. The following diagram illustrates how these four components fit together:
Launchpad (User Interface): Launchpad provides the user interface to the OSM orchestrator. From the Launchpad user can manage the catalog, compose the NS/VNF descriptors and perform the lifecycle management on Network Services. In addition, the UI also provides the ability execute the NS/VNF level configuration primitives. The following page describes Developer HowTo for UI Module
Service Orchestrator (SO): Service Orchestrator is responsible for End-to-End service orchestration. It is responsible for instantiating the NS, and starting the configuration plugins such as JUJU charms. The following page describes Developer HowTo for SO Module.
Resource Orchestrator (RO): Resource Orchestrator is responsible for creating and placement of compute and networking resources. It is also responsible for interfacing with SDN controller. The following page describes Developer HowTo for RO Module
Juju Charms (Charms):Juju charms provide the VNF abstraction and configuration for the VNFs. The Service Orchestrator interfaces with the JUJU charm to configure the VNF.
Common Developer Guidelines
The following section provides developer guidelines across modules. For module specific guidelines refer to module specific links indicated above.
- Please make sure that no one else is already working on an item in bugzilla before making changes. If someone is already working it, please check with the person first.
- Similar rules applies when addressing a new feature/blueprint
- Use meaningful comments when checking in the code
- Use consistent conventions/style for changes to an existing module