Skip to content

Contributing_development_info

Carolina Fernández edited this page Sep 25, 2015 · 3 revisions

Home > Contributing > Development info


Architecture

To participate in FELIX you should first familiarise with its Architecture: the software modules, its aim and the relationships among them.

Folder distribution

RO

  • Technical documentation: modules/resource/orchestrator/doc/
  • Status: to be added
  • Configuration files: modules/resource/orchestrator/conf/
  • Source files: modules/resource/orchestrator/src/
  • Handler: attends requests and dispatches them to the delegate
    • modules/resource/orchestrator/src/handler/geni/v3/
  • Delegate: interacts between handler and underlying components (e.g. RMs or ROs)
    • modules/resource/orchestrator/src/delegate/geni/v3/
  • Utilities for RSpecs: parsing and formatting of RSPec messages (advertisement, request, manifest) for the different resources managed by RO
    • modules/resource/orchestrator/utilities/rspecs/
  • Monitoring: parses physical and slice topology into the proper format required by MS or MMS
    • modules/resource/orchestrator/src/monitoring/*_monitoring.py
  • DB: manages the requests to the Mongo database
    • modules/resource/orchestrator/src/db/db_manager.py
  • Core: common methods used by any other module within RO
    • modules/resource/orchestrator/src/core
  • Extensions: common methods used by SFA and GENI by any other module within RO
    • modules/resource/orchestrator/src/extensions
  • Server: modules to run the XMLRPC and REST APIs of the RO
    • modules/resource/orchestrator/src/server

SERM

  • Technical documentation: modules/resource/manager/stitching-entity/doc/
  • Status: to be added
  • Configuration files: modules/resource/manager/stitching-entity/conf/
  • Source files: modules/resource/manager/stitching-entity/src/
  • Handler: attends requests and dispatches them to the delegate
    • modules/resource/manager/stitching-entity/src/handler/geni/v3/
  • Delegate: interacts between handler and underlying components (e.g. Ryu, POX controllers)
    • modules/resource/manager/stitching-entity/src/delegate/geni/v3/
  • Core: common methods used by any other module within SERM
    • modules/resource/manager/stitching-entity/src/core
  • Server: modules to run the XMLRPC of the SERM
    • modules/resource/manager/stitching-entity/src/server

SDNRM

  • Source files: optin_manager/src/
    • Apache2 bindings: WSGI files to serve the Python app from Apache2
      • optin_manager/src/wsgi/openflow/optin_manager
    • Opt-in manager: optin_manager/src/python/openflow/optin_manager
      • Configuration files: optin_manager/src/python/openflow/optin_manager/localsettings.py
      • Definition of multiple APIs: optin_manager/src/python/openflow/optin_manager/geni/v3/
      • FlowSpace management: optin_manager/src/python/openflow/optin_manager/flowspace/
      • Interface with FlowVisor: optin_manager/src/python/openflow/optin_manager/xmlrpc_server/ch_api.py
      • Django models, FlowSpace auto-granter and VLAN subset management: optin_manager/src/python/openflow/optin_manager/opts

CRM

  • Source files: vt_manager/src/
    • Apache2 bindings: WSGI files to serve the Python app from Apache2
      • vt_manager/src/wsgi/vt_manager/
    • Virtualisation manager: vt_manager/src/python/vt_manager/
      • Configuration files: vt_manager/src/python/vt_manager/mySettings.py
      • Definition of multiple APIs: vt_manager/src/python/vt_manager/communication/
      • Dispatchers of actions and requests, etc: vt_manager/src/python/vt_manager/controller/
      • Django models: vt_manager/src/python/vt_manager/models
    • Agent: vt_manager/src/python/agent/
      • Configuration files: vt_manager/src/python/agent/*Settings.py
      • Provisioning VMs: vt_manager/src/python/agent/provisioning/ProvisioningDispatcher.py
      • XEN provisioning: vt_manager/src/python/agent/xen/provisioning

MS

  • Public Monitoring: modules/monitoring/modules/monitoring/public/src/
    • Configuration files: modules/monitoring/public/src/localsettings.py
  • Monitoring System: msjp
    • Configuration files: msjp/mon_*.conf
    • API and data collector: msjp/monitoring_*.py
    • API internals: msjp/module/api/
    • Collector internals: msjp/module/collector/
    • Schema for creating DB: msjp/schema
Clone this wiki locally