Managing VIM Connectors

VIM Connectors Overview

The ETSI API creates VIM connectors during the processing of an LCM operation or uses an existing connector.

The Grant response or the LCM operation request from the NFVO supplies new VimConnectionInfo to the VnfInstance. During the processing of the LCM operation, ETSI synchronizes the new VimConnectionInfo with the VIM connectors in ESC.

A VimConnectionInfo is new if the VnfInstance does not have an existing VimConnectionInfo with the same id. Any VimConnectionInfo supplied that matches an existing VimConnectionInfo id stored against any VnfInstance as part of a LCM request uses the existing connector and ignore any changes submitted in the new request.

ESC creates a new VIM connector only if a matching VIM connector is not available.

The ETSI API allows only the existing VimConnectionInfo, and the associated VIM connector, to be updated via the Modify VNF information operation.

The Grant from the NFVO specifies the vimConnectionId for each resource. This value identifies the VimConnectionInfo and the associated VIM connector for creating the locator for each resource. The VIM specific VimConnectionInfo.accessInfo properties are set as additional properties in the locator.

VimConnectionInfo in OpenStack:


{
  "id": "435456",
  "vimType": "OPENSTACK_V3",
  "interfaceInfo": {
    "endpoint": "https://10.18.54.42:13001/v3/"
  },
  "accessInfo": {
    "username": "admin",
    "password": "bmkQJtyDrbPFnJT8ENdZw2Maw",
    "project": "cbamnso",
    "projectDomain": "Default",
    "userDomain": "Default",
    "vim_project": "cbamnso"
  }
}

VimConnectionInfo in vCloud Director:


{
  "id": "435456",
  "vimType": "VMWARE_VCD",
  "interfaceInfo": {
    "endpoint": "https://10.85.103.150"
  },
  "accessInfo": {
    "username": "admin@cisco",
    "password": "bmkQJtyDrbPFnJT8ENdZw2Maw",
    "vim_project": "cbamnso",
    "vim_vdc": "vdc1"
  }
}

Creating New VIM Connectors

During the ETSI LCM operation, ESC checks each VimConnectionInfo against the VnfInstance to see if an existing VIM connector is available. If an existing VIM connector is not available, ESC creates a new VIM connector.

If the VimConnectionInfo.vimId is supplied, then this value is used as the id of the new VIM connector. If the VimConnectionInfo.vimId is not supplied, then an id is generated for the new VIM connector and this value is also set as the VimConnectionInfo.vimId.

To use an existing VIM connector, see Using an Existing VIM Connector.

Using an Existing VIM Connector

During an ETSI LCM operation, ESC checks for an existing vimConnectionInfo with a matching identifier stored against any VnfInstance.

Existing VIM connectors are found by:

  • Matching the VimConnectionInfo.vimId, if supplied, to the id of a VIM connector.

  • Matching the VIM specific properties of the VimConnectionInfo to a VIM connector.

    • OpenStack

      • vimType

      • interfaceInfo.endpoint

      • accessInfo.project

    • vCloud Director

      • vimType

      • interfaceInfo.endpoint

If a matching VIM connector is found, and the VimConnectionInfo.vimId is not set, then the VimConnectionInfo.vimId is set to the id of the VIM connector.

If an NFVO provides a VimConnectionInfo with accessInfo to stipulate some of the connection properties, we use the following keys to configure the VIM connectors:

OpenStack

  • username

  • password

  • project

  • projectDomain

  • userDomain

  • vim_project

vCloud Director

  • username

  • password

  • vim_project

  • vim_vdc

The ETSI specifications does not specify the keys to be used as part of the accessInfo attribute. In order to ease integration, in the event that an NFVO uses different keys, the properties file allows the user to specify a mapping from the third party keys to the ones that ESC understands.

  • mapping.vimConnectionInfo.accessInfo.username

  • mapping.vimConnectionInfo.accessInfo.password

  • mapping.vimConnectionInfo.accessInfo.project

  • mapping.vimConnectionInfo.accessInfo.projectDomain

  • mapping.vimConnectionInfo.accessInfo.userDomain

  • mapping.vimConnectionInfo.accessInfo.vim_project

  • mapping.vimConnectionInfo.accessInfo.vim_vdc

To create a new VIM connector, see Creating New VIM Connectors.

Updating the VIM Connector

The ETSI API updates the existing VimConnectionInfo, and the associated VIM connector via the Modifying Virtual Network Functions operation. The VimConnectionInfo in the modify request payload is compared to the existing VimConnectionInfo stored against the VnfInstance.

If an existing VimConnectionInfo stored against any VnfInstance with a matching id is not found, then then VimConnectionInfo is added to the VnfInstance.

If an existing VimConnectionInfo stored against ang VnfInstance with a matching id is found, then the VimConnectionInfo is updated. If the VimConnectionInfo has been modified and it has an associated VIM connector, then the VIM connector is also updated.

To create new VIM connectors, see Creating New VIM Connectors.