Orchestrating a CNF in OSM - caprivm/virtualization GitHub Wiki
caprivm ([email protected])
This page explains all the steps required to orchestrate a CNF (Container Network Function) in OSM. All steps that expose this section has been tested in a Virtual Machine using the following OS preparation requirements.
Feature | Value |
---|---|
OS Used | Ubuntu 18.04 LTS |
vCPU | 4 |
RAM (GB) | 8 |
Disk (GB) | 50 |
The contents of the page are:
The only prerequisite to follow is the installation of OSM. For this you can consult the following link:
In this case, we use the repository for Facebook Magma Orchestrator helm Chart. The base of this repository is in felipevicens GitHub. For more details about the orchestrator functionality, please see the Facebook Magma official documentation. Now, let's to add the helm
repository in OSM using the next command executed from OSM machine:
osm repo-add --type helm-chart --description "Repository for Facebook Magma helm Chart" magma https://felipevicens.github.io/fb-magma-helm-chart
Next, add the NS (Network Service) and NF (Network Function) descriptors. It is important to note that the descriptors must be compatible with OSM 9, for this reason, structure conforms to recommendation SOL0006 of OSM.
cd ~/osm
git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git osm_packages
cd osm_packages/magma/
# Create the NS and NF compatible with OSM SOL0006
osm nfpkg-create fb_magma_knf
osm nspkg-create fb_magma_ns
You can validate the NS and NF creation using:
# For NF:
osm nfpkg-list
# +--------------+--------------------------------------+-----------+
# | nfpkg name | id | desc type |
# +--------------+--------------------------------------+-----------+
# | fb_magma_knf | 4c20c983-f494-45d8-a208-a008c3dec9d2 | sol006 |
# +--------------+--------------------------------------+-----------+
# For more details, use:
osm nfpkg-show fb_magma_knf
# For NS:
osm nspkg-list
# +-------------+--------------------------------------+
# | nsd name | id |
# +-------------+--------------------------------------+
# | fb_magma_ns | c933c91b-26eb-4e40-a708-eba158a3315e |
# +-------------+--------------------------------------+
# For more details, use:
osm nspkg-show fb_magma_ns
Now, instantiate the CNF using the next command:
osm ns-create --ns_name magma_orc8r --nsd_name fb_magma_ns --vim_account <VIM_name_in_OSM> --config_file ~/osm/osm_packages/magma/params_knf.yaml
Where ~/osm/osm_packages/magma/params_knf.yaml
have the next content:
---
additionalParamsForVnf:
- member-vnf-index: 'orc8r'
additionalParamsForKdu:
- kdu_name: orc8r
additionalParams:
proxyserviceloadBalancerIP: '172.16.101.120' # MetalLB IP Address
NOTE: It is important to note that a MetalLB configuration must be installed in the deployed cluster. For more details, please see the MetalLB documentation.
You can validate the CNF instantiation using some of the next commands:
osm ns-list
osm ns-show magma_orc8r
osm vnf-list --ns magma_orc8r
osm vnf-show <vnf_id> --kdu orc8r
To access to the NMS (Network Management System) interface of the orchestrator, consider go to the external IP of the orc8r-proxy
service. To find it, use the next command:
osm vnf-show <vnf_id> --kdu orc8r | grep "^orc8r-proxy" | grep LoadBalancer
Once you enter the interface, consider navigating it, using the instructions available in the Magma documentation.