This section will introduce tacker monitoring framework and describes the various actions that a user can take when a specific event occurs.
Tacker monitoring framework provides the NFV operators and VNF vendors to write a pluggable driver that monitors the various status conditions of the VNF entities it deploys and manages.
A monitor driver for tacker is a python module which contains a class that inherits from “tacker.vnfm.monitor_drivers.abstract_driver.VNFMonitorAbstractDriver”. If the driver depends/imports more than one module, then create a new python package under tacker/vnfm/monitor_drivers folder. After this we have to mention our driver path in setup.cfg file in root directory.
For example:
tacker.tacker.monitor_drivers =
ping = tacker.vnfm.monitor_drivers.ping.ping:VNFMonitorPing
Following methods need to be overridden in the new driver:
def get_type(self)
def get_name(self)
def get_description(self)
def monitor_get_config(self, plugin, context, vnf)
def monitor_url(self, plugin, context, vnf)
def monitor_call(self, vnf, kwargs)
As mentioned in above section, if the return value of monitor_call method is other than boolean value ‘True’, then we have to map those event to the corresponding action as described below.
For example:
VDU1:
properties:
...
monitoring_policy:
name: ping
actions:
failure: respawn
In this example, we have an event called ‘failure’. So whenever monitor_call returns ‘failure’ tacker will respawn the VNF.
The available actions that a monitor driver can call when a particular event occurs.
In the vdus section, you can specify the monitor details with corresponding actions and parameters. The syntax for writing monitor policy is as follows:
vduN:
properties:
...
monitoring_policy:
name: <monitoring-driver-name>:
parameters:
<param-name>: <param-value>
...
actions:
<event-name>: <action-name>
VDU1:
properties:
...
monitoring_policy:
name: ping
actions:
failure: respawn
VDU2:
properties:
...
monitoring_policy:
name: http-ping
parameters:
port: 8080
actions:
failure: vdu_autoheal
VDU3:
properties:
...
monitoring_policy:
name: <your-driver-name>
parameters:
<param1>: <value1>
<param2>: <value2>
actions:
<event1>: <action>
<event2>: <action>
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.