From: Wilson Liu Date: Tue, 1 Sep 2015 11:22:41 +0000 (+0800) Subject: Check before add lun to QoS in Huawei driver X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=f3d3c34895b0271c43e4eb7b5248396a2be5be61;p=openstack-build%2Fcinder-build.git Check before add lun to QoS in Huawei driver Check whether the lun_id has already been added into the QoS before we add it. Also some very small code clean in this patch. Closes-Bug: #1490935 Change-Id: Ie0a2e4debe229d2f5ad8c66cfd1f0bf5522e4733 --- diff --git a/cinder/volume/drivers/huawei/rest_client.py b/cinder/volume/drivers/huawei/rest_client.py index d77683996..85bbae548 100644 --- a/cinder/volume/drivers/huawei/rest_client.py +++ b/cinder/volume/drivers/huawei/rest_client.py @@ -1491,13 +1491,16 @@ class RestClient(object): def add_lun_to_qos(self, qos_id, lun_id, lun_list): """Add lun to QoS.""" url = self.url + "/ioclass/" + qos_id - lun_list = [] - lun_string = lun_list[1:-1] - for lun in lun_string.split(","): - str = lun[1:-1] - lun_list.append(str) - lun_list.append(lun_id) - data = json.dumps({"LUNLIST": lun_list, + new_lun_list = [] + lun_list_string = lun_list[1:-1] + for lun_string in lun_list_string.split(","): + tmp_lun_id = lun_string[1:-1] + if '' != tmp_lun_id and tmp_lun_id != lun_id: + new_lun_list.append(tmp_lun_id) + + new_lun_list.append(lun_id) + + data = json.dumps({"LUNLIST": new_lun_list, "TYPE": 230, "ID": qos_id}) result = self.call(url, data, "PUT")