Support ChangeCurrentVNFPackage for VNF software modification¶
Blueprint URL: https://blueprints.launchpad.net/tacker/+spec/upgrade-vnf-package
This specification describes the ChangeCurrentVNFPackage operation defined in ETSI NFV-SOL003 v3.3.1 [1].
Problem description¶
The ChangeCurrentVNFPackage API and VNF LCM Coordination interface are newly defined in ETSI NFV-SOL003 v3.3.1 [1] and ETSI NFV-SOL002 v3.5.1 [2], respectively according to the VNF software modification procedure in ETSI NFV-IFA007 v3.3.1 [3]. These new functions enable Tacker to update VNF instances in two ways: Blue-Green deployment and Rolling update. However, VNF LCM Coordination interface is not supported by most current VNF. We plan to implement this interface within Tacker for future usage. Therefore, this specification complies with ETSI NFV-SOL003 v3.3.1 [1] and ETSI NFV-SOL002 v3.3.1 [4], does not comply with ETSI NFV-SOL002 v3.5.1 [2].
Proposed change¶
We propose the following changes:
Support for ChangeCurrentVNFPackage API.
VNF software modification performs the following operations:
Blue-Green deployment process for OpenStack VIM.
Create new VNF (VM).
Invoke coordinate VNF method.
Delete old VNF (VM).
The attributes in the TackerDB to be updated are as follows:
VnfInstance.vnfdId: Replace the existing vnfd ID with the new vnfd ID.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId: Update resourceId with the new resource ID.
VnfInstance.instantiatedVnfInfo.vnfVirtualLinkResourceInfo.networkResource.resourceId: Update resourceId with the new connection point ID.
VnfInstance.instantiatedVnfInfo.virtualStorageResourceInfo.storageResource.resourceId: Update resourceId with the new storage ID.
VnfInstance.instantiatedVnfInfo.instance_id: Update id with the new stack ID.
Rolling update process for OpenStack VIM.
Update the existing VNF (VM).
In this step, Tacker will repeat update stack operation for each target VM.
Invoke coordinate VNF method.
The attributes in the TackerDB to be updated are as follows:
VnfInstance.vnfdId: Replace the existing vnfd ID with the new vnfd ID.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId: Update resourceId with the new resource ID. Whether the attribute is updated depends on the change of the resource. See note.
Note
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId is not updated by the below.
old computeResource (created by image) -> new computeResource (created by image)
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId is updated by the below.
old computeResource (created by image) -> new computeResource (created by volume)
old computeResource (created by volume) -> new computeResource (created by image)
old computeResource (created by volume) -> new computeResource (created by volume)
Blue-Green deployment process for Kubernetes VIM.
Create new CNF (Deployment).
Invoke coordinate VNF method.
Delete old CNF (Deployment).
The attributes in the TackerDB to be updated are as follows:
VnfInstance.vnfdId: Replace the existing vnfd ID with the new vnfd ID.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId: Update resourceId with the new Pod name.
VnfInstance.instantiatedVnfInfo.vnfVirtualLinkResourceInfo.networkResource.resourceId: Update resourceId with the new connection point ID.
VnfInstance.instantiatedVnfInfo.virtualStorageResourceInfo.storageResource.resourceId: Update resourceId with the new storage ID.
VnfResource.resourceName: Update resourceName with the new Deployment name.
Rolling update process for Kubernetes VIM.
Update the existing CNF (Deployment).
Invoke coordinate VNF method.
The attributes in the TackerDB to be updated are as follows:
VnfInstance.vnfdId: Replace the existing vnfd ID with the new vnfd ID.
VnfInstance.metadata: Update metadata with the new file path specified in lcm-kubernetes-def-files in the request.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.id: Update resourceInfoId with the new UUID.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId: Update resourceId with the new Pod name.
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.metadata: Update metadata for the new Pod.
Note
Rolling update changes the Pod on the original Deployment, so the Deployment itself and connection point are not changed. Therefore, this process does not need to modify VnfInstance.instantiatedVnfInfo.vnfVirtualLinkResourceInfo.networkResource.resourceId and VnfResource.resourceName in TackerDB.
Implements the mechanism by which the VnfLcmDriver invokes the CoordinateVNF script specified in the request parameter.
Provide sample CoordinateVNF script that uses the CoordinateVNF.
for OpenStack VIM
Configure the load balancer.
for Kubernetes VIM
Update Kubernetes Service.
Note
The information used to access each VNFC is managed by load balancers in the case of OpenStack VIM and by Service objects in the case of Kubernetes VIM.
Note
If an error occurs during the ChangeCurrentVNFPackage processing, the LCM status will become FAILED_TEMP. The implementation of each Rollback operation for Blue-Green deployments and Rolling update will be as follows:
Delete new instances created by the ChangeCurrentVNFPackage operation for Blue-Green deployments.
Recreate VNFC instances with the old VNF package to revert to the old version for the one running with the new version.
Note
The evaluation of whether a VNF package can be changed is described in ETSI NFV-SOL003 v3.3.1 [1], but is not considered in this spec.
The following shows the operation flow for each use case.
Change current VNF Package operation for OpenStack VIM¶
HEAT Template Configuration¶
Sample file of HEAT Template Configuration for OpenStack VIM.
top.yaml
heat_template_version: 2013-05-23
description: Sample template for Upgrade.
parameters:
image_id:
type: string
description: Image ID to use for the instance.
flavor_name:
type: string
description: Flavor name to use for the instance.
num_of_instances:
type: number
description: Number of instances to create.
ext_network_id:
type: string
description: External Network ID.
resources:
group1:
type: OS::Heat::AutoScalingGroup
properties:
min_size: 1
max_size: 4
desired_capacity: {get_param: num_of_instances}
resource:
type: nested_server.yaml
properties:
image_id: { get_param: image_id }
flavor_name: { get_param: flavor_name }
ext_network_id: { get_param: ext_network_id }
nested_server.yaml
heat_template_version: 2013-05-23
description: Sample template for scaling.
parameters:
image_id:
type: string
description: Image ID to use for the instance.
flavor_name:
type: string
description: Flavor name to use for the instance.
ext_network_id:
type: string
resources:
cp:
type: OS::Neutron::Port
properties:
network: { get_param: ext_network_id }
group1:
type: OS::Nova::Server
properties:
name: sample_server
image: {get_param: image_id}
flavor: {get_param: flavor_name}
networks:
- port:
get_resource: cp
Blue-Green deployment¶
Below is a diagram of the Blue-Green deployment process for OpenStack VIM:
+---------+
| VNFD |
| |
+-+-------+
|
6. Coordinate (Script is included v +-------------------+
New resource +--------------------+ in the package) +----------+ | Change current |
+---------------+ Coordinate VNF +---------------------->| | | VNF Package |
| | script | 5. CoordinateVNF | CSAR | | Request with |
| +-----------+ |<------------------+ | | | Additional Params |
| | +-------+------------+ | +----+-----+ +-+-----------------+
| | 8. Coordinate | 7. Update load balancer | | | 1. Change current VNF Package
| | Old resource | | | | request
| | | | +-----+----------+------------------------------+
| | | | | v v VNFM |
| | | | | +------------------------------+ |
| | | | | | Tacker-server | |
| | | | | +--+---------------------------+ |
| | | | | | 2. Change current VNF Package request |
| | | | | v |
| | | | | +-----------------------------------------+ |
| | v | | | | |
| | +--------------------+ | | | +----------------------+ | |
| | | LB | +--+--+---+ VnfLcmDriver | | |
| | +--------------------+ | | | | | |
| | | | | | | |
| | +--------------------+ 11. Update TackerDB | | | | | |
| | | TackerDB |<---------------------+--+---+ | | |
| | +--------------------+ | | | | | |
| | | | +-+---------------+----+ | |
| | | | | 3. Create New | 9. Terminate Old | |
| | | | | resource | resource | |
| | +--------------------+ | | v v | |
| | | | 10. Terminate Old | | +----------------------+ | |
| | | +--------------+ | resource | | | InfraDriver | | |
| +-----------+->| Old resource |<-+----------------------+--+---+ | | |
| | +--------------+ | 4. Create New | | | | | |
| | +--------------+ | resource | | | | | |
+---------------+->| New resource |<-+----------------------+--+---+ | | |
| +--------------+ | | | +----------------------+ | |
| VNF | | | | |
+--------------------+ | | | |
| | Tacker-conductor | |
+--------------------+ | +-----------------------------------------+ |
| Hardware Resources | | |
+--------------------+ +-----------------------------------------------+
Sequence for Blue-Green Deployment operation (For OpenStack VIM)
The Client sends a POST request to the “Individual VNF instance” resource.
Tacker-server sends ChangeCurrentVNFPackage request to Tacker-conductor, then Tacker-conductor fetches an on-boarded VNF package and calls VnfLcmDriver.
VnfLcmDriver sends a request to the InfraDriver to create new VNF.
InfraDriver sends a request to the VIM to create new VNF.
VnfLcmDriver calls CoordinateVNF.
CoordinateVNF script sends a request to the new VNF to Coordinate VNF.
CoordinateVNF script sends a request to the load balancer to update configuration.
CoordinateVNF script sends a request to the old VNF to Coordinate VNF.
VnfLcmDriver sends a request to the InfraDriver to terminate old VNF.
InfraDriver sends a request to the VIM to terminate old VNF.
VnfLcmDriver updates the following attributes in TackerDB:
VnfInstance.vnfdId
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId
VnfInstance.instantiatedVnfInfo.vnfVirtualLinkResourceInfo.networkResource.resourceId
VnfInstance.instantiatedVnfInfo.virtualStorageResourceInfo.storageResource.resourceId
VnfInstance.instantiatedVnfInfo.instance_id
Rolling update¶
Below is a diagram of the Rolling update process for OpenStack VIM:
+---------+
| VNFD |
| |
+-+-------+
|
(Script is included v +-------------------+
+---------------------+ in the package) +----------+ | Change current |
+------------>| CoordinateVNF +--------------------->| | | VNF Package |
| | script | | CSAR | | Request with |
| +---------+ | | | | Additional Params |
| | +---------------------+ +----+-----+ +-+-----------------+
| | 7. Coordinate resource | | 1. Change current VNF Package
| | | | request
| | +-----+----------+------------------------------+
| | | v v VNFM |
| | | +-----------------------+ |
| | | | Tacker-server | |
| | | +--+--------------------+ |
| | | | 2. Change current VNF Package request |
| | | v |
| | | +-----------------------------------------+ |
| | | | | |
| | | | +-------------------+ | |
| | +--------------------+ | | | VnfLcmDriver | | |
| | | LB | | | | | | |
| | +--------------------+ | | | | | |
| | | | | | | |
| | +--------------------+ 9. Update TackerDB | | | | | |
| | | TackerDB |<---------------------+--+---+ | | |
| | +--------------------+ | | +-+-----------------+ | |
| | | | | 3. change_vnfpkg_process | |
| | +--------------------+ | | v | |
| | | | 4. Get stack resource| | +-------------------+ | |
| | | +--------------+ | to update | | | InfraDriver | 8. Repeat steps | |
| | | | Resource |<-+----------------------+--+---+ | 5 through 7 | |
| +---------+->| | | 5. Update VNFC | | | | for each VNFC| |
| | | |<-+----------------------+--+---+ +--------+ | |
| | +--------------+ | | | | | | | |
| | VNF | | | | |<-------+ | |
| +--------------------+ | | | | | |
| 6. Coordinate VNF | | | | | |
+---------------------------------------------------------+--+---+ | | |
| | +-------------------+ | |
| | Tacker-conductor | |
+--------------------+ | +-----------------------------------------+ |
| Hardware Resources | | |
+--------------------+ +-----------------------------------------------+
Sequence for Rolling update operation (For OpenStack VIM)
The Client sends a POST request to the “Individual VNF instance” resource.
Tacker-server sends ChangeCurrentVNFPackage request to Tacker-conductor, then Tacker-conductor fetches an on-boarded VNF package and calls VnfLcmDriver.
VnfLcmDriver sends a request to the InfraDriver to change vnfpkg process.
InfraDriver sends a request to the VIM to get stack resource to update.
InfraDriver sends a request to the VIM to update stack.
InfraDriver calls CoordinateVNF.
CoordinateVNF script sends a request to the VNF to Coordinate VNF.
Repeat steps 5 through 7 for each VNFC.
VnfLcmDriver updates the following attributes in TackerDB:
VnfInstance.vnfdId
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId
Change current VNF Package operation for Kubernetes VIM¶
Kubernetes deployment configuration¶
Sample files of Kubernetes configuration.
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-name
spec:
replicas: 2
selector:
matchLabels:
app: app-name
template:
metadata:
labels:
app: app-name
version: original-version
spec:
containers:
- name: app-name
image: nginx:alpine
ports:
- containerPort: 80
volumeMounts:
- name: config
mountPath: /usr/share/nginx/html
volumes:
- name: config
configMap:
name: nginx-app-original
strategy:
type: RollingUpdate
service.yaml
apiVersion: v1
kind: Service
metadata:
name: app-svc-name
spec:
selector:
app: app-name
version: original-version
ports:
- name: http
protocol: TCP
port: 8089
targetPort: 80
type: ClusterIP
Blue-Green deployment¶
Below is a diagram of the Blue-Green deployment process for Kubernetes VIM:
+---------+
| VNFD |
| |
+-+-------+
|
6. Update +----------------------+ (Script is included v +-------------------+
Service | CoordinateVNF script | in the package) +----------+ | Change current |
+------------+ +---------------------->| | | VNF Package |
| | | 5. CoordinateVNF | CSAR | | Request with |
| | |<------------------+ | | | Additional Params |
| +----------------------+ | +----+-----+ +-+-----------------+
| | | | 1. Change current VNF Package
| | | | request
| | +-----+----------+------------------------------+
| | | v v VNFM |
| | | +------------------------------+ |
| | | | Tacker-server | |
| | | +--+---------------------------+ |
| | | | 2. Change current VNF Package request |
| | | v |
| | | +-----------------------------------------+ |
| | | | | |
| | | | +--------------------------+ | |
| | | | | VnfLcmDriver | | |
| +----------------------+ +--+--+---+ | | |
| | TackerDB | 9. Update TackerDB | | | | | |
| | |<---------------------+--+---+ | | |
| +----------------------+ | | | | | |
| +----------------------+ | | +-+---------------+--------+ | |
| | | 4. Create New | | | 3. Apply New | 7. Terminate | |
| | +----------------+ | Deployment | | | Deployment | Old | |
| | | New Deployment |<-+----------------------+--+-+ v v Deployment | |
| | | | | | | | +--------------------------+ | |
| | +----------------+ | | | +-+ InfraDriver | | |
| | +----------------+ | | | | | | |
+------------+->| Service | | | | | | | |
| | | | | | | | | |
| +----------------+ | 8. Terminate old | | +-+ | | |
| +----------------+ | Deployment | | | +--------------------------+ | |
| | Old Deployment |<-+----------------------+--+-+ | |
| | | | | | | |
| +----------------+ | | | | |
| Kubernetes cluster | | | | |
+----------------------+ | | | |
| | Tacker-conductor | |
+----------------------+ | +-----------------------------------------+ |
| Hardware Resources | | |
+----------------------+ +-----------------------------------------------+
Sequence for Blue-Green deployment operation (For Kubernetes VIM)
The Client sends a POST request to the “Individual VNF instance” resource.
Tacker-server sends ChangeCurrentVNFPackage request to Tacker-conductor, then Tacker-conductor fetches an on-boarded VNF package and calls VnfLcmDriver.
VnfLcmDriver sends a request to the InfraDriver to apply deployment.
InfraDriver sends a request to the VIM to apply deployment.
VnfLcmDriver calls CoordinateVNF.
CoordinateVNF script sends a request to VIM to update label of Kubernetes Service.
VnfLcmDriver sends a request to the InfraDriver to delete deployment.
InfraDriver sends a request to the VIM to delete deployment.
VnfLcmDriver updates the following attributes in TackerDB:
VnfInstance.vnfdId
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId
VnfInstance.instantiatedVnfInfo.vnfVirtualLinkResourceInfo.networkResource.resourceId
VnfInstance.instantiatedVnfInfo.virtualStorageResourceInfo.storageResource.resourceId
VnfResource.resourceName
Rolling update¶
Below is a diagram of the Rolling update process for Kubernetes VIM:
+---------+
| VNFD |
| |
+-+-------+
|
+----------------------+ (Script is included v +-------------------+
| CoordinateVNF script | in the package) +----------+ | Change current |
| +-------------------->| | | VNF Package |
| | 5. CoordinateVNF | CSAR | | Request with |
| |<----------------+ | | | Additional Params |
+----------------------+ | +----+-----+ +-+-----------------+
| | | 1. Change current VNF Package
| | | request
| +-----+----------+------------------------------+
| | v v VNFM |
| | +------------------------------+ |
| | | Tacker-server | |
| | +--+---------------------------+ |
| | | 2. Change current VNF Package request |
| | v |
| | +-----------------------------------------+ |
| | | | |
| | | +------------------------+ | |
| | | | VnfLcmDriver | | |
+--+--+----+ | | |
+----------------------+ 6. Update TackerDB | | | | | |
| TackerDB |<-------------------+--+----+ | | |
+----------------------+ | | | | | |
+----------------------+ | | | | | |
| | | | +-+----------------------+ | |
| +----------------+ | | | | 3. Update | |
| | Service | | | | v Deployment | |
| +----------------+ | 4. Update | | +------------------------+ | |
| +----------------+ | Deployment | | | InfraDriver | | |
| | Deployment |<-+--------------------+--+----+ | | |
| +----------------+ | | | | | | |
| Kubernetes cluster | | | +------------------------+ | |
+----------------------+ | | | |
| | Tacker-conductor | |
+----------------------+ | +-----------------------------------------+ |
| Hardware Resources | | |
+----------------------+ +-----------------------------------------------+
Sequence for Rolling update operation (For Kubernetes VIM)
The Client sends a POST request to the “Individual VNF instance” resource.
Tacker-server sends ChangeCurrentVNFPackage request to Tacker-conductor, then Tacker-conductor fetches an on-boarded VNF package and calls VnfLcmDriver
VnfLcmDriver sends a request to the InfraDriver to apply deployment.
InfraDriver sends a request to the VIM to apply deployment.
VnfLcmDriver calls CoordinateVNF.
Note
CoordinateVNF has no action for this use case.
VnfLcmDriver updates the following attributes in TackerDB:
VnfInstance.vnfdId
VnfInstance.metadata
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.id
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.computeResource.resourceId
VnfInstance.instantiatedVnfInfo.vnfcResourceInfo.metadata
Note
VnfInstance.metadata is updated only when a new file path is specified in lcm-kubernetes-def-files in the request.
Alternatives¶
None
Data model impact¶
None
REST API impact¶
The following RESTful API will be added. This RESTful API will be based on ETSI NFV-SOL003 v3.3.1 [1].
- Name: change current VNF PackageDescription: Request to change current VNF package by vnfd ID.Method type: POSTURL for the resource: /vnflcm/v2/vnf_instances/{vnfInstanceId}/change_vnfpkgRequest:
Data type
Cardinality
Description
ChangeCurrentVnfPkgRequest
1
Parameters for the change current VNF package.
Attribute name
Data type
Cardinality
Parameter description
Supported in (Y)
vnfdId
Identifier
1
Identifier of the VNFD which defines the destination VNF Package for the change.
Yes
extVirtualLinks
ExtVirtualLinkData
0..N
Information about external VLs to connect the VNF to.
No
extManagedVirtualLinks
ExtManagedVirtualLinkData
0..N
Information about internal VLs that are managed by the NFVO.
No
vimConnectionInfo
map (VimConnectionInfo)
0..N
“vimConnectionInfo” attribute array in “VnfInstance”.
No
additionalParams
KeyValuePairs
0..1
Additional parameters passed by the NFVO as input to the process.
Yes
extensions
KeyValuePairs
0..1
“extensions” attribute in “VnfInstance”.
No
vnfConfigurableProperties
KeyValuePairs
0..1
“vnfConfigurableProperties” attribute in “VnfInstance”.
No
User gives following parameter as additionalParams:
¶ Attribute name
Cardinality
Parameter description
upgrade_type
1
Type of file update operation method. Specify Blue-Green or Rolling update.
lcm-operation-coordinate-old-vnf
1
The file path of the script that simulates the behavior of CoordinateVNF for old VNF.
lcm-operation-coordinate-old-vnf-class
1
The class name of CoordinateVNF for old VNF.
lcm-operation-coordinate-new-vnf
1
The file path of the script that simulates the behavior of CoordinateVNF for new VNF.
lcm-operation-coordinate-new-vnf-class
1
The class name of CoordinateVNF for new VNF.
vdu_params
0..N
VDU information of target VDU to update. Specifying a vdu_params is required for OpenStack VIM and not required for Kubernetes VIM.
> vdu_id
1
VDU name of target VDU to update.
> old_vnfc_param
0..1
Old VNFC connection information. Required for ssh connection in CoordinateVNF operation for application configuration to VNFC.
>> cp-name
1
Connection point name of old VNFC to update.
>> username
1
User name of old VNFC to update.
>> password
1
Password of old VNFC to update.
> new_vnfc_param
0..1
New VNFC connection information. Required for ssh connection in CoordinateVNF operation for application configuration to VNFC.
>> cp-name
1
Connection point name of new VNFC to update.
>> username
1
User name of new VNFC to update.
>> password
1
Password of new VNFC to update.
external_lb_param
0..1
Load balancer information that requires configuration changes. Required only for the Blue-Green deployment process of OpenStack VIM.
> ip_address
1
IP address of load balancer server.
> username
1
User name of load balancer server.
> password
1
Password of load balancer server.
lcm-kubernetes-def-files
0..N
File path of Kubernetes definition files such as configMap or secret. Required only for the Kubernetes VIM.
Following is a sample of request body:
{ "vnfdId": "093c38b5-a731-4593-a578-d12e42596b3e", "additionalParams": { "upgrade_type": "Blue-Green", "lcm-operation-coordinate-old-vnf": "./coordinate_old_vnf.py", "lcm-operation-coordinate-old-vnf-class": "CoordinateOldVnf", "lcm-operation-coordinate-new-vnf": "./coordinate_new_vnf.py", "lcm-operation-coordinate-new-vnf-class": "CoordinateNewVnf", "vdu_params": { "vdu_id": "VDU1", "old_vnfc_param": { "cp_name": "CP1", "username": "ubuntu", "password": "ubuntu" }, "new_vnfc_param": { "cp_name": "CP1", "username": "ubuntu", "password": "ubuntu" } }, "external_lb_param": { "ip_address": "10.10.0.50", "username": "ubuntu", "password": "ubuntu" }, "lcm-kubernetes-def-files": [ "Files/kubernetes/deployment.yaml" ] } }
Response:Response Codes
Description
202 Accepted
The request was accepted for processing, but the processing has not been completed.
404 Not Found
The requested resource could not be found.
409 Conflict
This operation conflicted with another operation on this resource.
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
Hirofumi Noguchi<hirofumi.noguchi.rs@hco.ntt.co.jp>
Masaki Ueno<masaki.ueno.up@hco.ntt.co.jp>
- Other contributors:
Yusuke Niimi<niimi.yusuke@fujitsu.com>
Yoshiyuki Katada<katada.yoshiyuk@fujitsu.com>
Ayumu Ueha<ueha.ayumu@fujitsu.com>
Work Items¶
Support for ChangeCurrentVNFPackage API.
Implement preamble and postamble for ChangeCurrentVNFPackage
VNF software modification performs the following operations:
Blue-Green deployment process for OpenStack VIM.
Rolling update process for OpenStack VIM.
Blue-Green deployment process for Kubernetes VIM.
Rolling update process for Kubernetes VIM.
Implements the mechanism by which the VnfLcmDriver invokes the CoordinateVNF script specified in the request parameter.
Provide sample CoordinateVNF script to simulate the CoordinateVNF.
Dependencies¶
None
Testing¶
Unit and functional tests will be added to cover cases required in the spec.
Documentation Impact¶
Complete user guide will be added to explain upgrading VNF package from the perspective of VNF LCM APIs.