Feature request: Support Juju bundles in VNFD
Juju Bundles
Proposer
- Adam Israel
Type
Feature
Target MDG/TF
SO, UI
Description
This feature proposes the extension of the VNFD model to describe the relationship between VNF(s) and its supporting applications.
A bundle is a YAML-formatted document that describes a complex deployment. It details the individual charms that make up an application, how each charm relates to each other, their initial resource constraints, and even network spaces.
Not all keys in the bundle necessarily need be implemented by the SO, since there are overlaps between the bundle and VNFD specification, but it does provide an example of how this is currently done within the Juju community.
At a minimum, the VNFD model needs to be extended to support the deployment of multiple charms that make up a VNF application, as well as how each component in that application relates to each other.
Demo or definition of done
Here is an example of a Juju Bundle describing an OAI 5G NFV:
series: trusty
services:
"oai-hss":
charm: "cs:~marcoceppi/trusty/oai-hss-0"
num_units: 1
"mysql":
charm: "cs:trusty/mysql-33"
num_units: 1
"oai-enodeb-usrp":
charm: "cs:~marcoceppi/trusty/oai-enb-0"
num_units: 1
options:
N_RB_DL: 50
config_file: enb.band13.tm1.usrpb210.conf
downlink_frequency: "751000000"
eth: "juju-br0"
eutra_band: 13
rrh_active: "no"
rx_gain: 100
uplink_frequency_offset: "31000000"
constraints: tags=physical
"oai-epc":
charm: "cs:~navid-nikaein/trusty/oai-epc-20"
num_units: 1
options:
DEFAULT_DNS_IPV4_ADDRESS: 10.155.0.1
DEFAULT_DNS_SEC_IPV4_ADDRESS: 172.27.9.254
ipv4_list_end: 192.188.2.0/23
revision: d32cbff9bb752d1ab9d0c259ce102e91641cc12a
"oasim-baremetal":
charm: "cs:~navid-nikaein/trusty/oaisim-enb-ue-2"
num_units: 1
options:
eth: "juju-br0"
constraints: tags=physical
relations:
- - "oai-hss:db"
- "mysql:db"
- - "oai-hss:hss"
- "oai-epc:hss"
- - "oai-epc:epc"
- "oai-enodeb-usrp:epc"
machines:
"0":
series: trusty
constraints: "arch=amd64 cpu-cores=4 mem=16384"
"1":
series: trusty
constraints: "arch=amd64 cpu-cores=4 mem=16384"
"2":
series: trusty
constraints: "arch=amd64 cpu-cores=4 mem=16384"
"3":
series: trusty
constraints: "arch=amd64 cpu-cores=4 mem=16384"