@@ -95,18 +95,17 @@ def __init__(self, configuration, san_address, san_user, san_password,
9595
9696 @staticmethod
9797 def _get_disk_type_by_storage_pool (pool_info ):
98- """
99- The method for the storage pool to obtain the disk type is as follows:
100- If disk type information exists in 'TIER0CAPACITY','TIER1CAPACITY', 'TIER2CAPACITY',
101- separate them with commas ',' and return them.
102- """
98+ """Get disk type of the pool."""
10399 pool_disk = []
104100 for i , x in enumerate (['ssd' , 'sas' , 'nl_sas' ]):
105101 if (pool_info .get ('TIER%dCAPACITY' % i ) and
106102 pool_info .get ('TIER%dCAPACITY' % i ) != '0' ):
107103 pool_disk .append (x )
108104
109- return ',' .join (pool_disk ) if pool_disk else None
105+ if len (pool_disk ) > 1 :
106+ pool_disk = ['mix' ]
107+
108+ return pool_disk [0 ] if pool_disk else None
110109
111110 def init_http_head (self ):
112111 self .url = None
@@ -1438,10 +1437,7 @@ def _get_disk_type(self, pool_name, result):
14381437 if not pool_info :
14391438 return None
14401439
1441- if not self .is_dorado_v6 :
1442- disk_type = self ._get_disk_type_by_storage_pool (pool_info )
1443- else :
1444- disk_type = self ._get_disk_type_by_disk_pool (pool_info )
1440+ disk_type = self ._get_disk_type_by_storage_pool (pool_info )
14451441 LOG .info ("The disk type is %s" , disk_type )
14461442 return disk_type
14471443
@@ -3258,33 +3254,6 @@ def _get_target_ip_list(roce_info, target_ips):
32583254 if target_ip .strip ():
32593255 target_ips .append (target_ip )
32603256
3261- def get_disk_pool_by_id (self , disk_domain_id ):
3262- url = "/diskpool/%s" % disk_domain_id
3263- result = self .call (url , None , "GET" )
3264- self ._assert_rest_result (result , 'Get disk pool by id error' )
3265- return result .get ('data' )
3266-
3267- def _get_disk_type_by_disk_pool (self , pool_info ):
3268- """
3269- The method for disk pool to obtain the disk type is as follows:
3270- Check whether diskTypeList contains disk type information.
3271- If diskTypeList contains disk type information, separate disk types with commas ','.
3272- If diskTypeList does not contain disk type information,
3273- use the disk type returned by TIER0DISKTYPE.
3274- """
3275- pool_disks = []
3276- disk_pool_info = self .get_disk_pool_by_id (pool_info .get ('PARENTID' ))
3277- if disk_pool_info .get ('diskTypeList' ):
3278- for disk_type in json .loads (disk_pool_info .get ('diskTypeList' )):
3279- if constants .HUAWEI_DISK_DICT .get (disk_type ):
3280- pool_disks .append (constants .HUAWEI_DISK_DICT .get (disk_type ))
3281-
3282- if not pool_disks :
3283- pool_disks .append (constants .HUAWEI_DISK_DICT .get (disk_pool_info .get ('TIER0DISKTYPE' )))
3284- return pool_disks [0 ]
3285-
3286- return ',' .join (pool_disks ) if pool_disks else None
3287-
32883257 def _get_target_ips_by_initiator_name (self , initiator ):
32893258 target_ips = []
32903259 for info in self .roce_info :
0 commit comments