conductor._ scale_grant and conductor._heal_grant's processing error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tacker |
Fix Released
|
Medium
|
Yi Feng |
Bug Description
**Scale grant**
In the processing of Scale-out, "ID (random value) of add_resources" is generated and Grant request is sent before storing into vnfc_resource info.
In the case of Instantiate, vnfc_resouce_info's ID will be generated in conductor_server, and then use the id for grant's add_resources's ID before sending Grant. While in the case of Scale, vnfc_resouce_info's ID will be generated in VnfLcmDriver after sending grant.
https:/
for resource_name, resource in nested_
if resource['type'] == 'OS::Nova::Server':
for i in range(size):
https:/
for rsc in scale_resurce_list:
As a result, in the processing of Scale-Out, it is not possible to obtain the correct grant.add_
vnfc_resource.id and grant.add_
**Heal grant**
When the request for heal_grant is executed, the ID of vnfc_resource_info will be updated and use it for add_resources'id in _heal_grant and saved in vnf_dict.
However, in post_heal_vnf after the end of Heal, the data of vnf_dict is not used at all. (ID of vnfc_resource_info has not been updated)
The data updated by heal_grant is not reflected in vnf_instance.
At the same time, the processing of heal_grant does not distinguish the situation of heal part and heal entire. In heal_entire, involving VL and Linkport re-add.
https:/
for vnfc_resource in vnf_instantiate
...
...
vnf_
https:/
def post_heal_vnf(self, context, vnf_instance, vim_connection_
"""Update resource_id for each vnfc resources
:param context: A RequestContext
:param vnf_instance: tacker.
:vim_info: Credentials to initialize Vim connection
"""
To fix above bugs, we will change the processing of scale_grant and heal_grant.
Changed in tacker: | |
assignee: | nobody → Yi Feng (fengyi765) |
Changed in tacker: | |
importance: | Undecided → Medium |
Fix proposed to branch: master /review. opendev. org/c/openstack /tacker/ +/795016
Review: https:/