Contents

Introduction

Aim of Centinel is to assist operators by providing visibility into the OpenDaylight management software defined network ecosystem (network via plugins, apps and infrastructure). To accomplish this, Centinel - Boron aims at a multi phased approach that includes:

  • Data Collection: IPFIX, OpenFlow (from ODL-OF Plugin) and SNMP (from ODL-SNMP Plugin)
  • Data Analysis: Using Kafka, Storm/Spark, Flume (replace Graylog)
  • Analytics Dashboard: Inter-op with DLUX framework and ensure UX/UI (Graphana/Kibana)
  • Machine Learning: Leverage Apache Mahout/SparkMlib to enable machine learning based on above analysis
  • Additionally from usage-deployment, Embedded installation is proposed (Support for Embedded flume agent. Support for embedded installation of Query engine)
  • Framework enhancement -
 Enhance Centinel architecture to have two branches 
 A. Batch processing system(BPS)-BPS comprise of flume, hbase.
 B. Real time analytics system(RAS)- RAS comprise of apache strom (Embed and distributed  mode) for real time prediction. 
 In embed mode, storm will be used instead of Graylog server.In distributed mode, user will have both the options for log analysis.

Target Use-Cases

  • Bandwidth utilization across WAN link
  • Performance monitoring

Release Deliverable

NameDescription
Collectors
  • IPFIX Collector: Collects IPFIX datagrams from Network for further analytic.
  • SNMP Collector: Collects data from SNMP plugin.
  • OpenFlow Collector: Collects OpenFlow datagrams from Network for further analytic.
Embedded installation and Framework enhancement support
  • Embedded installation of Flume agent and query engine
  • Enhance Centinel architecture and replace Graylog with Storm.
  • Support for Distributed and Co-resident (Embedded) mode installation
Monitoring and Analytics
  • Provides SDN infrastructure (Server, Network ,Application etc) monitoring and analysis
  • Dashboard to present Analytics and monitoring data
Predictive Analytics
  • Machine Learning: Leverage Apache Mahout/SparkMlib to enable machine learning based on above analysis


Release Milestones

MilestoneOffset 2 DateDeliverables
M13/24/2016
NameStatusDescription
Intent to participateCompletedIntent to participate in Boron Simultaneous Release
Candidate Release PlanCompletedCandidate Release Plan
M25/5/2016
NameStatusDescription
Release Plan
Final Release Plan
Design documentCompleted'
  • Design document - Collectors (IPFIX collector, SNMP collector, OpenFlow collector)
  • Design document - Monitoring and Analytics.
Feature(s)Completed
  • IPFIX collector: Implementation of IPFIX collector.
M36/2/2016
NameStatusDescription
Code skeletonCompletedSubmit skeleton for Enhancement features.
ImplementationCompletedSubmit architectural diagrams for the Centinel enhancement features.
Feature(s)Completed
  • Framework Enhancement: Kafka consumer/publisher, Strom topology for real-time data analytics
  • Bandwidth utilization across WAN link, Performance monitoring: REST API defined
Unit TestCompletedUnit Test development of each module
Integration and System testCompletedSimple system test on a karaf distribution with the project's recommended features installed
M46/30/2016
NameStatusDescription
API Freeze
  • REST API from all Centinel Services freeze
Feature(s)
  • Enhance Centinel architecture and replace Graylog with Storm.
  • Support for Distributed and Co-resident (Embedded) mode installation
  • Dashboard to present Analytics and monitoring data
Unit Test
Unit Test development of each module
Integration testing
Manual integration testing
System test
Run a simple system test on a karaf distribution with the project's recommended features installed on Code Merge
Documentation
Create draft documentation of Centinel modules/interfaces
M58/4/2016
NameStatusDescription
Code Freeze

Documentation
  • Update Project wiki - User Guide, Installation Guide, Getting Started Guide and Others
  • Updated System Test approach and test cases Wiki page
Feature(s)
  • Machine Learning (post Network monitoring and Analysis) and Predictive Analytics
  • End to End use-cases integration - Bandwidth utilization across WAN link, Performance monitoring
Unit Test
Unit Test development of each module
Integration testing
Manual integration testing.
System test
Run system test for Centinel
RC0TBD
NameStatusDescription
Deliverable Name
Deliverable Description
RC1TBD
NameStatusDescription
Deliverable Name
Deliverable Description
RC2TBD
NameStatusDescription
Release Review
Release Review Description
Deliverable Name
Deliverable Description
Formal ReleaseTBD
NameStatusDescription
Deliverable Name
Deliverable Description

Externally Consumable APIs

  • None Listed. Centinel creates own APIs based upon relevant data required.

Expected Dependencies on Other Projects

None

Expected Incompatibilities with Other Projects

None

Compatibility with Previous Releases

Changed APIs and/or Functionality

  • Not applicable. This would be first release of Centinel in OpenDaylight Boron release.

Themes and Priorities

Requests from Other Projects

None Listed

Test Tools Requirements

  • Java unit and integration tests

Other

See also

  • No labels