Work-in-progress. Completed page will be linked into the Tutorials page.
Overview
ONOS Rabbit MQ application will be capture and parse the ONOS events and notifications. There by converting the below listed events into appropriate json schema and publish them on to MQ server. The interested ONOS applications and external applications can consume the published json messages.
MQ Supported ONOS event types
- Device Event
Describes infrastructure device event. - Port Event
Describes infrastructure port event. - Link Event
Describes infrastructure link event. - Topology Event
Describes network topology event. - Packet Event
Describes inbound packet received.
- Device Event
Configuration
To configure Rabbit MQ event notification from ONOS the following components needs to be configured:
ONOS Rabbit MQ App
The implementation of rabbitmq can be found at $ONOS_ROOT/app/rabbitmqRabbit MQ Server (External to ONOS)
The latest release of RabbitMQ can be available at https://www.rabbitmq.com/download.html
Please refer the server documentation at administrator's guide
You can access the user-management withrabbitmqctl
and use the command:rabbitmqctl add_vhost <vhost> rabbitmqctl add_user <username> <password> rabbitmqctl set_permissions -p <vhost> <username> ".*" ".*" ".*" rabbitmqctl set_user_tags <username> management
Please refer the /resources/rabbitmq.properties file for sample mq properties.
Rabbit MQ Client (External to ONOS)
Please follow below steps to setup mq consumer application.
1. Extract below attached message-consumer-app.tar.gz
2. Refer MQConstants.java for MQ server consumer configuration.
3. Build and generate the jar using mvn clean install
4. Run the consumer application using command java -jar MessageConsumer-jar-with-dependencies.jar
ONOS event json messages
For example device event message structure as below
{ "switch_id": "of:0000000000000001", "infra_device_name": "SWITCH", "event_type": "DEVICE_EVENT", "sub_event_type": "DEVICE_UPDATED", "hwVersion": "Open vSwitch", "mfr": "Nicira, Inc.", "serial": "None", "sw_version": "2.5.0", "chassis_id": 1, "occurrence_time": "Tue Aug 23 15:40:59 IST 2016" }
Please refer below attached document for complete set of json message onos event structure, attributes and their definitions,
mq_message_definition_&_structures.docx