Skip to content

Feature request for full Juju charm support

Title: Full Juju/Charm integration

Proposer: Canonical

Target MDG/TF: SO, VCA

Type: Feature

Description:

R1 only supports a subset of Juju's functionality by way of using "proxy charms" that simply relay commands into a VM image. This leads to fragmentation, where "small clouds" are required to support each VNF, rather than a cloud that is more cost-effective and can share common services.

Vendor interoperability requires an agreed upon protocol for sharing common data, such as database credentials or IP addresses. Juju fascilitates this through relations, which declare the expected and required data for multiple services to communicate with each other.

We would like to see the following features added:

  • Extend SO support for Juju so that it can deploy from a bundle (a yaml file) that describes services and their relations to each other.

  • Use the new asyncio API to drive configuration changes and manage relations between services.

  • Support non-proxy charms running on a Juju-enabled guest OS, such as Windows, Ubuntu, RHEL, and CentOS.

Describe or reference demo that leverages this, or alternatively, definition of done:

When this work is complete, OSM will be able to leverage existing VNF charms, such as the ones already written by Expeto, OAI, and Metaswitch Clearwater.

Size Estimate (XS, S, M, L, XL):

The size estimate from the VCA side is S, since this functionality exists today. It's expected that the VCA work will mostly involve collaborating with the SO team to understand the scope and direction of work.