Skip to content

Feature request: Distributed Proxy Charms

Distributed Proxy Charms

Proposer

  • David García

Type

Feature

Target MDG/TF

N2VC NBI LCM

Description

Be able to select the (k8s) cloud for (k8s) Proxy charms that should be used in a vim account.

Implementation

Currently:

LCM has these ENV variables provided at OSM deployment time to specify the clouds it needs to use for Proxy charms and K8s Proxy charms respectively:

  • OSMLCM_VCA_CLOUD
  • OSMLCM_VCA_K8S_CLOUD

With the current implementation, all proxy charms will go to the cloud set in OSMLCM_VCA_CLOUD, and all k8s proxy charms will go to the cloud set in OSMLCM_VCA_K8S_CLOUD. These clouds must previously exist in the VCA, OSM doesn't configure them or add them to the VCA.

Proposal:

When adding a VIM account, add several options to select another existing clouds to override the default ones.

$ osm vim-create --type openstack --name openstack --config '{
    vca_cloud: "mycloud",
    vca_cloud_credential: "mycloud_credential",  # If not provided, same name as the "cloud" will be used
    vca_k8s_cloud: "myk8scloud"
    vca_k8s_cloud_credential: "myk8scloud_credential"  # If not provided, same name as the "cloud" will be used
  }'

Changes in NBI

Add cloud, cloud_credential, k8s_cloud, and k8s_cloud_credential to the validation in NBI.

Changes in LCM

Before creating or registering an execution environment, check if cloud or k8s_cloud exist or not, and pass that data to N2VC.

Changes in N2VC

Use the default clouds for (K8s) Proxy Charms if no cloud or k8s_cloud is provided for the target VIM. If the cloud or k8s_cloud are provided, use those clouds instead.

Benefits:

  • Add flexibility in terms of distributing Proxy Charms across different clouds
  • Be able to allocate clouds in the same VIM in which the VNFs will be deployed
  • Decrease the impact if a (k8s) cloud goes down.

Demo or definition of done

This feature is considered completed when an OSM user with permissions to create a vim account is able to select a specific cloud/k8s cloud of the VCA to have all the proxy charms/k8s proxy charms deployed to it, instead of using the default clouds.