VNF Primitive Config: Difference between revisions
From OSM Public Wiki
(Created page with "'''DISCLAIMER: This page is being updated to reflect changes required for Release FOUR.''' The purpose of the Config primitive is to change the configuration your VNF applica...") |
(No difference)
|
Revision as of 12:24, 26 June 2018
DISCLAIMER: This page is being updated to reflect changes required for Release FOUR.
The purpose of the Config primitive is to change the configuration your VNF application.
| Config | Required | ||
|---|---|---|---|
| Day 0 | Day 1 | Day 2 | |
| No | Yes | Yes | No |
The Config Primitive is handled differently than Service Primitives.
The configuration parameters you'd like to make available for modification are defined in the VNF Charm's config.yaml:
options:
target_latency:
default: 100000
description: Target request latency for overload control (microseconds)
type: int
The configuration is then exposed to the operator via the VNF Descriptor:
Example code:
@when('config.changed')
def apply_vnf_config():
"""Runs when the config-changed hook is executed."""
err = ''
try:
cfg = config()
"""
Run the command(s) necessary to perform a safe stop of your VNF
This could be a single command that encapsulates your stop process...
"""
result, err = charms.sshproxy._run("/srv/myvnf/config.sh target_latency={}".format(cfg['target_latency']))
except:
action_fail('Restart failed:' + err)
else:
action_set({'outout': result})
# Restart your VNF for the change to take affect, if necessary.
restart_vnf()
For a full example of creating a VNF charm, please see Creating your own VNF charm (Release FOUR).