Creating your own VNF charm (Release ONE): Difference between revisions

From OSM Public Wiki
Jump to: navigation, search
No edit summary
No edit summary
Line 3: Line 3:
===What is a charm===
===What is a charm===


A charm is a collection of scripts and metadata that encapsulate the distilled DevOps knowledge of experts in a particular product. These charms make it easy to reliably and repeatedly deploy applications, then scale them as required with minimal effort.
A [https://jujucharms.com/docs/stable/charms charm] is a collection of scripts and metadata that encapsulate the distilled DevOps knowledge of experts in a particular product. These charms make it easy to reliably and repeatedly deploy applications, then scale them as required with minimal effort.


Driven by Juju, these charms manage the complete lifecycle of the application, including installation, configuration, clustering, and scaling.
Driven by [https://jujucharms.com/docs/stable/about-juju Juju], these charms manage the complete lifecycle of the application, including installation, configuration, clustering, and scaling.


===What is a proxy charm===
===What is a proxy charm===


OSM Release One supports a limited version of charms that we call "proxy charms". The SO runs "actions" in the charm, which are then executed via ssh on the virtual machine, instantiated by the RO, running your VNF image. The diagram below illustrates that workflow.
OSM Release One supports a limited version of charms that we call "proxy charms". These charms is responsible for doing Day 1 configuration. Configurations are mapped to [https://jujucharms.com/docs/stable/actions Juju Actions] which manage configuration within the VNFD qcow2 image (over SSH, via RESTful API, etc).
 
The diagram below illustrates the OSM workflow:


  <nowiki>
  <nowiki>
Line 28: Line 30:
             +-----------+      +---------+
             +-----------+      +---------+
</nowiki>
</nowiki>
The SO directs the RO to create a virtual machine using the selected VNF image. When that has successfully completed, the SO will instantiate a LXD container, managed by Juju, with the proxy charm. The proxy charm will then communicate with the VNF virtual machine to do Day 1 configuration.


===Creating a proxy charm===
===Creating a proxy charm===

Revision as of 14:05, 5 January 2017

Creating a VNF proxy charm

What is a charm

A charm is a collection of scripts and metadata that encapsulate the distilled DevOps knowledge of experts in a particular product. These charms make it easy to reliably and repeatedly deploy applications, then scale them as required with minimal effort.

Driven by Juju, these charms manage the complete lifecycle of the application, including installation, configuration, clustering, and scaling.

What is a proxy charm

OSM Release One supports a limited version of charms that we call "proxy charms". These charms is responsible for doing Day 1 configuration. Configurations are mapped to Juju Actions which manage configuration within the VNFD qcow2 image (over SSH, via RESTful API, etc).

The diagram below illustrates the OSM workflow:

+---------------------+    +---------------------+
|                     <----+                     |
|  Resource           |    |  Service            |
|  Orchestrator (RO)  +---->  Orchestrator (SO)  |
|                     |    |                     |
+------------------+--+    +-------+----^--------+
                   |               |    |
                   |               |    |
                   |               |    |
             +-----v-----+       +-v----+--+
             |           <-------+         |
             |  Virtual  |       |  Proxy  |
             |  Machine  |       |  Charm  |
             |           +------->         |
             +-----------+       +---------+

The SO directs the RO to create a virtual machine using the selected VNF image. When that has successfully completed, the SO will instantiate a LXD container, managed by Juju, with the proxy charm. The proxy charm will then communicate with the VNF virtual machine to do Day 1 configuration.

Creating a proxy charm

Layers

Actions

Building