MultiSite-NSD Support

Purpose

This document describes the functional specification for the SO module for multi site Network Service that involves supporting NS instances with VNFs running in different datacenters.

Impacted Modules

SO, RO, UI

Data Model Changes

The ns-instance-config node will be modified to add the following list to specify vim-account for vnfs. If cloud account and datacenter name is not provided for individual VNF than ns-instance-config level datacenter name will be used for all VNFs if provided or for those where below mapping is not provided.

list vnf-cloud-account-map {
  description
      "Mapping VNF to Cloud Account where VNF will be instantiated";

  key "vnfd-id-ref";
  leaf vnfd-id-ref {
    description
        "A reference to a vnfd. This is a
        leafref to path:
        ../../../../nsd:constituent-vnfd
        + [nsr:id = current()/../nsd:id-ref]
       + /nsd:vnfd-id-ref";
    type yang:uuid;
  }

  leaf cloud-account {
    description
        "The configured cloud account where VNF is instantiated within.
        All VDU's, Virtual Links, and provider networks will be requested
        using the cloud-account's associated CAL instance";
    type leafref {
      path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name";
    }
  }

  leaf om-datacenter {
    description
        "Openmano datacenter name to use when instantiating
        the VNF.";
    type string;
  }
}

Constituent VNFR in NSR will be augemented to include datacenter name for individual VNF.

augment /nsr:ns-instance-opdata/nsr:nsr/nsr:constituent-vnfr-ref { leaf cloud-account { description "The configured cloud account in which the VNF is instantiated within. All VDU's, Virtual Links, and provider networks will be requested using the cloud-account's associated CAL instance"; type leafref { path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; } } leaf om-datacenter { description "Openmano datacenter name to use when instantiating the network service."; type string; } }

VLR in NSR will be augemented to include datacenter name. Virtual link will be created in each of cloud account where constiuent VNFs are instantiated.

augment /nsr:ns-instance-opdata/nsr:nsr/nsr:vlr { leaf cloud-account { description "The configured cloud account in which the VL is instantiated within."; type leafref { path "/rw-cloud:cloud/rw-cloud:account/rw-cloud:name"; } } leaf om-datacenter { description "Openmano datacenter name to use when instantiating the network service."; type string; } }

VNFR will now have new field indicating datacenter where VNF instance is started.

leaf om-datacenter {
  description
      "Openmano datacenter name to use when instantiating
      the network service.";
  type string;
}

VLD will now have a new field vim-network-name to indicate pre-created network name to be used for this Virtual link. Release 0 provider-network in the VLD was used for this and this will be changed to use vim-network-name. VLR name will use the vim-network-name if present.

  leaf vim-network-name {
    description
        "Name of network in VIM account. This is used to indicate
        pre-provisioned network name in cloud account.";
    type string;
  }

Overview

Current implementation in Release 0 allowed the deployment of a Network Service instance in the datacenter chosen by the user. Specifically the MWC demo covered 4 deployments and the user decided for every deployment the datacenter where to deploy. However, it is not possible to span an NS instance across different datacenters on a single scenario with Release 0(e.g. with some VNFs running in datacenter A and others in datacenter B).

There are several use cases where a multi-site NS applies, e.g.:

  • The deployment of a full core network with several PEs in different datacenters.
  • The deployment of VoIP network where some elements are centralized in a datacenter while others are distributed (e.g. SBC).

Relase1 will support NS instances with VNFs running in different datacenters.

Feature description

To support running NS instances with VNFs running in different datacenters, UI will support indicating both the Cloud Account and the Datacenter for each VNF during NS instantiation. This will be implemented with addition of Cloud account and Datacenter name for each VNF during NS instantiation as indicated in Data model section. The cloud account and datacenter name where VNF needs to be instantiated will be populated in both NSR consituent-vnfs and VNFR and same will be sent to RO as part of instance scenario create.

It is assumed that network interconnecting datacenter is pre-provisioned and has connection to connect two datacenter sites through this network.Also each Virtual link in NSD will map to Openamno NSD connections node. It is assumed that RO is expected to reuse pre-provisioned network in each of applicable cloud accounts or create new networks in applicable cloud account. Openmano NSD connection node will have type external network and refer to vim-network-name as Openmano network name and passed in NSD from SO to RO.

Inter-Module Dependencies

The RO Module Northbound APIs need to be enhanced to allow specifying datacenter where individual VNFs should be instantiated. SO need to pass the datacenter name for VNFs to RO.

Risks

RO API definitions are critical to complete the integration of the feature with RO.

Open Item

Northbound RO API changes to indicate datacenter for individual VNFs.

Assumptions

  • It is assumed that the networks interconnecting several datacenters are pre-preprovisioned ie, there is an E-LAN/E-LINE connection established between the sites for the provider networks on each location to connect to each other.
  • It is also expected that same name is used for these networks connecting sites with each other in Openmano so that virtual link can use vim-network-name applicable in multiple datacenter networks.
  • The datacenter for individual VNFs will be handled as an input in ns-instance-config as part of the parameters during instantiation.
  • There is no change to way networks are exposed by RO ie existing VNFD/NSD Openmano Descriptors will be used.
  • VCA is not functionally impacted.