Managing VIM Connectors Using ETSI API

VIM Connectors Using ETSI API

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"
}
}

Locator for OpenStack:

<locator>
<vim_id>raku-gs1-123</vim_id>
<vim_project>cbamnso</vim_project>
</locator>

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"
}
}

Locator for vCloud Director:


<locator>
<vim_id>raku-gs1-123</vim_id>
<vim_project>cbamnso</vim_project>
<vim_vdc>vdc1</vim_vdc>
</locator>

Creating New VIM Connector

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 the ETSI LCM operation, ETSI checks each VimConnectionInfo against any VnfInstance to see if an existing VIM connector is available.

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.

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

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 the VnfInstance with a matching id is not found, then then VimConnectionInfo is added to the VnfInstance.

If an existing VimConnectionInfo stored against the 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 Connector.