Re: [PATCH] osdict, libosinfo: use "minimum" resources when "recommended" is missing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Cole Robinson <crobinso@xxxxxxxxxx> writes:

> On 09/12/2014 11:50 AM, Giuseppe Scrivano wrote:
>> Some OS entries in libosinfo miss the "recommended" resources block.
>> In this case use the "minimum" resources when available.
>> 
>> Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx>
>> ---
>>  virtinst/osdict.py | 22 ++++++++++++++++------
>>  1 file changed, 16 insertions(+), 6 deletions(-)
>> 
>> diff --git a/virtinst/osdict.py b/virtinst/osdict.py
>> index 9e48270..76794c3 100644
>> --- a/virtinst/osdict.py
>> +++ b/virtinst/osdict.py
>> @@ -436,18 +436,28 @@ class _OsVariant(_OsVariantType):
>>  
>>      def get_recommended_resources(self, arch):
>>          ret = {}
>> -        def read_resource(resources, arch):
>> +        def read_resource(resources, minimum, arch):
>> +            # If we are reading the "minimum" block, allocate more
>> +            # resources.
>> +            ram_scale = minimum and 2 or 1
>> +            n_cpus_scale = minimum and 2 or 1
>> +            storage_scale = minimum and 2 or 1
>>              for i in range(resources.get_length()):
>>                  r = resources.get_nth(i)
>>                  if r.get_architecture() == arch:
>> -                    ret["ram"] = r.get_ram()
>> +                    ret["ram"] = r.get_ram() * ram_scale
>>                      ret["cpu"] = r.get_cpu()
>> -                    ret["n-cpus"] = r.get_n_cpus()
>> -                    ret["storage"] = r.get_storage()
>> +                    ret["n-cpus"] = r.get_n_cpus() * n_cpus_scale
>> +                    ret["storage"] = r.get_storage() * storage_scale
>>                      break
>>  
>> -        read_resource(self._os.get_recommended_resources(), "all")
>> -        read_resource(self._os.get_recommended_resources(), arch)
>> +        # libosinfo may miss the recommended resources block for some OS,
>> +        # in this case read first the minimum resources (if present)
>> +        # and use them.
>> +        read_resource(self._os.get_minimum_resources(), True, "all")
>> +        read_resource(self._os.get_minimum_resources(), True, arch)
>> +        read_resource(self._os.get_recommended_resources(), False, "all")
>> +        read_resource(self._os.get_recommended_resources(), False, arch)
>>  
>>          return ret
>>  
>> 
>
> ACK

pushed.

Thanks,
Giuseppe

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux