[Kimchi-devel] [PATCH] bug fix: Allow extend a logical pool

Aline Manera alinefm at linux.vnet.ibm.com
Wed Mar 5 17:43:10 UTC 2014


On 03/05/2014 03:32 AM, Royce Lv wrote:
> This is because blkid just retrieve a labelled block device while 
> lsblk can identify all block devices, right?
>
> Reviewed-by: Royce Lv<lvroyce at linux.vnet.ibm.com>
>
> Minor suggestion for naming below.
>
> On 2014年03月05日 05:09, Aline Manera wrote:
>> From: Aline Manera <alinefm at br.ibm.com>
>>
>> While trying to extend a logical pool I got the following error message:
>>
>> "/dev/vdb is not a valid disk/partition. Could not add it to the pool
>> my-logical-pool"
>>
>> But the same partition "/dev/vdb" is listed on GET /host/partitions.
>> Then I realized the "blkid" is not the correct command to check a
>> partition exists for raw disks.
>>
>>  From blkid man page:
>> It can determine the type of content (e.g. filesystem or swap) that a 
>> block
>> device holds,  and  also  attributes  (tokens, NAME=value pairs) from 
>> the
>> content metadata (e.g. LABEL or UUID fields).
>>
>> Which is not useful for a raw disk.
>>
>>  From lsblk man page:
>> lsblk  lists  information  about  all  or  the specified block devices.
>>
>> So use "lsblk" command instead of "blkid" to verify the disk exists in
>> the system.
>>
>> Signed-off-by: Aline Manera <alinefm at br.ibm.com>
>> ---
>>   src/kimchi/model/storagepools.py |    3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/kimchi/model/storagepools.py 
>> b/src/kimchi/model/storagepools.py
>> index 76ab2d6..d012ca9 100644
>> --- a/src/kimchi/model/storagepools.py
>> +++ b/src/kimchi/model/storagepools.py
>> @@ -254,7 +254,7 @@ class StoragePoolModel(object):
>>       def _update_lvm_disks(self, pool_name, disks):
>>           # check if all the disks/partitions exists in the host
>>           for disk in disks:
>> -            blkid_cmd = ['blkid', disk]
>> +            blkid_cmd = ['lsblk', disk]
> "blkid_cmd" variable name need to be changed because it refer to 
> "lsblk" cmd.

Done

>>               output, error, returncode = run_command(blkid_cmd)
>>               if returncode != 0:
>>                   kimchi_log.error('%s is not a valid disk/partition. 
>> Could not '
>> @@ -281,6 +281,7 @@ class StoragePoolModel(object):
>>                   pool.setAutostart(1)
>>               else:
>>                   pool.setAutostart(0)
>> +
>>           if 'disks' in params:
>>               # check if pool is type 'logical'
>>               xml = pool.XMLDesc(0)
>




More information about the Kimchi-devel mailing list