On 01/02/2014 12:40 AM, Royce Lv wrote:
On 2013年12月31日 03:35, Aline Manera wrote:
> On 12/30/2013 12:17 AM, lvroyce(a)linux.vnet.ibm.com wrote:
>> From: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
>>
>> Query all storage pool to retrieve storage server we used.
>>
>> Signed-off-by: Royce Lv <lvroyce(a)linux.vnet.ibm.com>
>> ---
>> src/kimchi/mockmodel.py | 13 +++++++++++++
>> src/kimchi/model.py | 14 +++++++++++++-
>> 2 files changed, 26 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/kimchi/mockmodel.py b/src/kimchi/mockmodel.py
>> index 348127a..f53e799 100644
>> --- a/src/kimchi/mockmodel.py
>> +++ b/src/kimchi/mockmodel.py
>> @@ -405,6 +405,19 @@ class MockModel(object):
>> iso_volumes.append(res)
>> return iso_volumes
>
>> + def storageservers_get_list(self, target_type):
>> + pools = self.storagepools_get_list()
>> + server_list = []
>> + for pool in pools:
>> + try:
>> + pool_info = self.storagepool_lookup(pool)
>> + if pool_info['type'] == target_type:
>> + server_list.append(pool_info['source']['addr'])
>> + except NotFoundError:
>> + pass
>> +
>> + return server_list
>
> If any target_type is passed we should return all values
By all value you mean iscsi servers and nfs servers and other possible
remote servers, technically it is easy,
temprorily I haven't had a usecase for this yet..
The query param should be optional. It is an additional feature.
If user would like to know all servers he can use he can use it.
>
>> +
>> def dummy_interfaces(self):
>> interfaces = {}
>> ifaces = {"eth1": "nic", "bond0":
"bonding",
>> diff --git a/src/kimchi/model.py b/src/kimchi/model.py
>> index 3bc5d6d..20f68f6 100644
>> --- a/src/kimchi/model.py
>> +++ b/src/kimchi/model.py
>> @@ -1220,6 +1220,19 @@ class Model(object):
>> else:
>> raise
>>
>> + def storageservers_get_list(self, target_type):
>> + pools = self.storagepools_get_list()
>> + server_list = []
>> + for pool in pools:
>> + try:
>> + pool_info = self.storagepool_lookup(pool)
>> + if pool_info['type'] == target_type:
>> + server_list.append(pool_info['source']['addr'])
>> + except NotFoundError:
>> + pass
>> +
>
> Same as I commented for model.py
>
>> + return server_list
>> +
>> def _get_screenshot(self, vm_uuid):
>> with self.objstore as session:
>> try:
>> @@ -1400,7 +1413,6 @@ class LibvirtVMTemplate(VMTemplate):
>> pool.createXML(v['xml'].encode('utf-8'), 0)
>> return vol_list
>>
>> -
>> class LibvirtVMScreenshot(VMScreenshot):
>> def __init__(self, vm_uuid, conn):
>> VMScreenshot.__init__(self, vm_uuid)
>