(OLD) Release 0 HowTo guide for developers: Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
 
(10 intermediate revisions by 4 users not shown)
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 (UI):''' 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 (CM):''' Juju provides the Configuration Manager for the VNFs. The Service Orchestrator interfaces with Juju server to configure the VNFs. For more information on Juju, the project is hosted on github: [https://github.com/juju/juju Juju development site]. A guide for VNFs developers on how to develop Juju charms (language independent) can be found [https://jujucharms.com/docs/stable/authors-intro here].
 
==references==
* [[Workflow_with_OSM_tools]]
 
==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.
Line 11: Line 15:
* Similar rules applies when addressing a new feature/blueprint
* Similar rules applies when addressing a new feature/blueprint
* Use meaningful comments when checking in the code
* Use meaningful comments when checking in the code
* Use consistent conventions/style for changes to an existing module
When doing changes, be sure that you are situated in the master branch, or in the assigned branch for your change:
git checkout master
{{Feedback}}

Latest revision as of 11:27, 22 October 2018

Architecture Overview

The OSM code is organized into four modules. The following diagram illustrates how these four components fit together:
Osm architecture.png

Launchpad (UI): 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 (CM): Juju provides the Configuration Manager for the VNFs. The Service Orchestrator interfaces with Juju server to configure the VNFs. For more information on Juju, the project is hosted on github: Juju development site. A guide for VNFs developers on how to develop Juju charms (language independent) can be found here.

references

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

When doing changes, be sure that you are situated in the master branch, or in the assigned branch for your change:

git checkout master


Your feedback is most welcome!
You can send us your comments and questions to OSM_TECH@list.etsi.org
Or join the OpenSourceMANO Slack Workplace
See hereafter some best practices to report issues on OSM