From 7e3f2d794db03b46d71be663d948906914d6bf56 Mon Sep 17 00:00:00 2001 From: Koichiro Den Date: Thu, 29 Oct 2020 12:49:10 +0900 Subject: [PATCH] Fix test_vnf_alarm_scale_with_instance_reservation * Fix empty mgmt_ip_address handling. ast.literal_eval('{}') does not raise an exception. * Fix not-to-be-cleaned-up blazar hosts. No need to test affinity=True case so we just do with one host. * Fix req_amount Related-Bug: #1886213 Change-Id: Ief0c4388f80b179c098231081644d97a56bd1379 --- .../vnfm/test_tosca_vnf_reservation.py | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/tacker/tests/functional/vnfm/test_tosca_vnf_reservation.py b/tacker/tests/functional/vnfm/test_tosca_vnf_reservation.py index 590e408c1..9e00c2b24 100644 --- a/tacker/tests/functional/vnfm/test_tosca_vnf_reservation.py +++ b/tacker/tests/functional/vnfm/test_tosca_vnf_reservation.py @@ -12,15 +12,14 @@ # License for the specific language governing permissions and limitations # under the License. -import ast -import time - import datetime import json import testtools +import time import yaml from blazarclient import exception +from oslo_serialization import jsonutils from tacker.plugins.common import constants as evt_constants from tacker.tests import constants from tacker.tests.functional import base @@ -126,20 +125,10 @@ class VnfTestReservationMonitor(base.BaseTackerTest): vnf = self.client.show_vnf(vnf_id)['vnf'] # {"VDU1": ["10.0.0.14", "10.0.0.5"]} if scale_type == 'scaling-in' and vdu_count == 0: - try: - # After sacling-in the vnf['mgmt_ip_address'] will be the - # list containg null values. As vnf['mgmt_ip_address'] - # is string so we can not access ip address list for VDU1 - # so converting that into the dict using ast lib. - # If the list contains the null value then it will raise - # ValueError so on the basis of that we are confirming the - # scaling-in is successful. - ast.literal_eval(vnf['mgmt_ip_address']) - self.fail("Scaling-in should not contain " - "mgmt_ip_address") - except ValueError: - assert True, ("Management Ip address list for VDU1 " - "contains null values.") + self.assertFalse(jsonutils.loads(vnf.get('mgmt_ip_address', + '{}')), + "Once scaling-in completes, mgmt_ip_address" + " should be empty.") elif scale_type == 'scaling-out': self.assertEqual(vdu_count, len(json.loads( vnf['mgmt_ip_address'])['VDU1'])) @@ -193,7 +182,7 @@ class VnfTestReservationMonitor(base.BaseTackerTest): blazarclient = self.blazarclient() reservations = [{'disk_gb': 0, 'vcpus': 1, 'memory_mb': 1, - 'amount': 1, 'affinity': False, + 'amount': 2, 'affinity': True, 'resource_properties': '', 'resource_type': 'virtual:instance'}] events = [] @@ -208,6 +197,7 @@ class VnfTestReservationMonitor(base.BaseTackerTest): blazar_host = blazarclient.host.create( hypervisor.hypervisor_hostname) host_added = True + break except exception.BlazarClientException: pass