Track Network Services Notifications¶
https://blueprints.launchpad.net/ceilometer/+spec/network-services-notifications
The goal of this blueprint is to capture the notification events emitted by neutron network services during create, update and delete operations.
Problem description¶
Neutron emits notifications from the data provided by the network services plugin and agent components. These in particular are for FWaaS, LBaaS and VPNaaS. Ceilometer needs to be updated to consume and record these notifications. If Ceilometer processes these notifications other services will be able use queries and alarms to monitor and scale as required.
A notification plugin is required, in Ceilometer, to hear notifications at an exchange and topic and transform them into samples. We can leverage the existing Network Notification plugins and build on top of it.
Proposed change¶
Add a new listener classes for Network Services to transform neutron event data into samples,
using existing NetworkNotificationBase
implementations as a model. These listeners
include create, update and delete events emitted by neutron for specific components of
firewall, VPN or a Loadbalancer.
The Neutron event topic names have the following pattern,
<resource>.create.start
<resource>.create.end
<resource>.update.start
<resource>.update.end
<resource>.delete.start
<resource>.delete.end
For this implementation we will track the end events as those give us the most information with respect to event payload. Also end events are more informative to track the existence of a resource and its usage over time.
Alternatives¶
None.
Data model impact¶
None.
REST API impact¶
None.
Security impact¶
None.
Pipeline impact¶
None.
Other end user impact¶
None.
Performance/Scalability Impacts¶
No new impacts. Pre-existing concerns with capacity at the notification and storage handling layers remain.
Other deployer impact¶
None.
Developer impact¶
None.
Implementation¶
Assignee(s)¶
- Primary assignee:
pkilambi
- Ongoing maintainer:
pkilambi
Work Items¶
Load Balancer Listener class to process create/update/delete events for pool, vip, member, health_monitor.
Firewall Listener class to process create/update/delete events for firewall, policy and rule.
VPN listener class to process create/update/delete events for vpnservice, ipsec_policy, ike_policy, ipsec_site_connections.
Test coverage for the above listener classes and sample validation.
Future lifecycle¶
In the future new types of notifications are expected from the Neutron services to account for the statistics data. These will need to be handled separately.
Dependencies¶
None.
Testing¶
Unit and integration Tests will be added to cover the necessary notification listener classes and validate samples generated.
Documentation Impact¶
The added metrics will need to be documented in the measurements section.