fenar / juju-nfv-clearwater-restcomm

Repo to host nfv demos modeled thanks to Juju and integration with Orchestration
3 stars 6 forks source link

VNF workload modeling using Juju

Juju is a generic Virtual Network Function Manager (VNFM) in the ETSI NFV architecture and can be integrated with a Network Function Virtualization Orchestrator (NFV-O).

Juju is a universal service modelling system, it models services, their relationships and scale, independent of substrate (cloud, virtualised or physical).

Telco demo deployment

Works on Amazon EC2 and OpenStack

Using the deployment:

For the familiar with IMS world here is the Clearwater architecture: -alt text

Use Clearwater by using:

Use Restcomm using the login at: http://restcomm-IP:8080

Show the designer: http://www.restcomm.com/developers/

Deploy and connect to juju GUI

juju-quickstart 

Example of VNF model orchestration using Zabbix

In order to show real deployment and orchestration use case we need external machine (to current Juju environment) to deploy orchestration service. In this example we will use Zabbix server. [to do describe deployment of zabbix]

Follow the steps:

Connect external Zabbix server

If blocked with a "Cleaning" msg .. kill and restart (it should be idempotent)

Connect your Juju environment and agents

Once started and if you create a Zabbix machine run:

integrate-with-ext-zabbix <IP of the zabbix machine>

Wanna test autoscaling?

This project includes the ability to generate simulated load against the system - the equivalent of 40,000 subscribers making two calls an hour.

To do this:

After about 8 minutes, CPU load average on Sprout will rise high enough for Zabbix to trigger a scale-up - you should be able to see this both on the graphs in Zabbix, and as a second node in the Juju GUI.

Clean enviroment

When you are done, you can clean the enviroment by running:

./02-reset.sh

This removes all the Clearwater services, but keeps the Juju GUI in place. (It also doesn't destroy the external Zabbix, so you only need to run integrate-with-ext-zabbix <IP of the zabbix machine> on future runs).