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 edit summary |
||
Line 1: | Line 1: | ||
The purpose of the Config primitive is to change the configuration your VNF application. | The purpose of the Config primitive is to change the configuration your VNF application. | ||
Latest revision as of 12:33, 26 June 2018
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).