Policy Management module (POL)

Summary

POL accomplishes the following tasks:

  • Configure auto scaling groups for VNFs.
  • Configure VNF alarms for VNFs.
  • Listen for MON alarms status and evaluating corresponding policies (scaling and vnf alarms).
  • Sending scaling messages to LCM when scaling policy conditions are met.
  • Calling webhooks when VNF alarm policies are met.

Overview

POL has the following components:

  • POL Agent:
    • Listens to message bus for NS LCM actions (instantiation, scaling, deletion) and configures resources accordingly.
    • Listens to message bus for alarm notifications, evaluates policies and executes corresponding actions.

POL Agent

POL subscribes to the message bus and waits for the following messages:

  • topic: ns - key: instantiated
  • topic: ns - key: scaled
  • topic: ns - key: terminated
  • topic: alarm_response - key: notify_alarm

When a NS is created, it checks the corresponding VNFDs for scaling group descriptors or vnf alarms. It creates the corresponding resources in MON. When a NS is scaled, it does the same as above for new VDUs if scaled out. It removes orphaned resources if scaled in. When a NS is terminated, it deletes associated resources.

When an alarm is raised, if it corresponds to a scaling policy, it stores its last status and then validates the policy, as policies can have N alarms related to them and can specify a boolean operator (AND/OR) to evaluate the conditions. If it corresponds to a VNF alarm, the associated webhook is called.

Data is stored in POL database in the OSM MySQL engine.