Skip to content
Snippets Groups Projects
user avatar
MJB authored
14deef5d
History

FLAME Cross Layer Management and Control

Version: X.X

About this document

Authors

Authors Organisation
Michael Boniface University of Southampton, IT Innovation Centre
Simon Crowle University of Southampton, IT Innovation Centre

Contents

Information Model

The informational model describes the structure and format of configuration and monitoring information collected by the CLMC and how the information is used to support service management decision amking

https://gitlab.it-innovation.soton.ac.uk/mjb/flame-clmc/blob/integration/docs/monitoring.md

Adaptive Streaming Use Case Scenario

The use case scenario provides an example usage of the information model for an mpeg-dash adaptive streaming service

https://gitlab.it-innovation.soton.ac.uk/mjb/flame-clmc/blob/integration/docs/adaptive-streaming-usecase-scenario.md

Development Environment

tbd

Installation

To set up the adaptive streaming use case scenario

vagrant up

This will provision the following VMs clmc, ipendpoint1, ipendpoint2, nap1, nap2

The clmc vm includes influx, Kapacitor and Chronograf. The following ports forwarded to the clmc VM from the host machine are as follows:

  • Influx: 8086
  • Chronograf: 8888
  • Kapacitor: 9092

Running the simulation

SSH into the CLMC server

vagrant ssh clmc

Run a python script to generate the test data sets

python3 vagrant/src/mediaServiceSim/simulator_v2.py

Java/Unit Test Framework (Not currently used)

A Java/JUnit test framework has been developed to provide concrete examples of the CLMC monitoring specification. To build and run this test framework you will need:

  1. The CLMC TICK stack installed and running (provided as a Vagrant solution in this project)

  2. Java JDK 1.8+ installed

  3. Maven 3+ installed

  • Optionally a Java IDE installed, such as NetBeans
Building the test framework
  1. Clone this project (obviously)

  2. Open the Maven project (<flame-clmc root>\src\clmc-spec) in your Java IDE or navigate to POM.xml file in command line

  3. Check the monSpecTestConfig.properties file (src/main/resources) matches your TICK stack set-up. It's likely to.

  4. Build the project (this should automatically build and run the tests)

    From the command line: mvn test

Extending the test framework

This test framework is easily extendible. There are two simple tests already ready for you to explore:

  • BasicInputTest.java - This tries sending some basic metrics about a host to InfluxDB
  • BasicQueryTest.java - This tries querying InfluxDB about host metrics

Each test case uses resources in the project to send test data or execute queries. In the first case the resource '/src/main/resources/inputs/host_resource_input' is a file with example InfluxDB Line Protocol statements. In the second test case, the file '/src/main/resources/host_resource_query' contains queries that are executed against InfluxDB. The results of these are currently just output to the console.