[ovirt-users] How to create a DataCenterQuota via Python SDK?

Nicolás nicolas at devels.es
Sat Feb 20 03:45:16 EST 2016


El 19/02/16 a las 13:56, nicolas at devels.es escribió:
> Hi,
>
> I'm trying to create a Data Center Quota with limits for memory, vcpu 
> and storage. As per the class definition, DataCenterQuota expects: a 
> datacenter, a quota and a context. Quota class in turn expects limits 
> but only as percentages, for hard and soft limits.
>
> However if I dump an already created DataCenterQuota object I see:
>
> {'_Base__context': 36443152,
>  'parentclass': <ovirtsdk.xml.params.DataCenter object at 0x278e750>,
>  'permissions': 
> <ovirtsdk.infrastructure.brokers.DataCenterQuotaPermissions object at 
> 0x278ef90>,
>  'quotaclusterlimits': 
> <ovirtsdk.infrastructure.brokers.DataCenterQuotaQuotaClusterLimits 
> object at 0x2540490>,
>  'quotastoragelimits': 
> <ovirtsdk.infrastructure.brokers.DataCenterQuotaQuotaStorageLimits 
> object at 0x278ef50>,
>  'superclass': <ovirtsdk.xml.params.Quota object at 0x278ec90>}
>
> I see DataCenterQuotaQuotaClusterLimits and 
> DataCenterQuotaQuotaStorageLimits allow creating limits for memory/cpu 
> and storage respectively, and they're set in the DataCenterQuota 
> __init__ method like this:
>
>   self.quotaclusterlimits = DataCenterQuotaQuotaClusterLimits(self, 
> context)
>   self.quotastoragelimits = DataCenterQuotaQuotaStorageLimits(self, 
> context)
>
> However, I'm unable to find out how to handle the 'context' parameter 
> to contain those two limit classes.
>
> Could someone shed some light on it? An example would be welcome too.
>
> Thanks.
>
> Nicolás
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users

I found a way, not sure if it's the best way to go though (probably 
not), but works.

dc=api.datacenters.get(name='DC')
q = params.Quota(name='Python-SDK', description='Python-SDK', 
data_center=dc, cluster_soft_limit_pct=80, cluster_hard_limit_pct=20, 
storage_soft_limit_pct=80, storage_hard_limit_pct=20)
dc.quotas.add(q)

z = dc.quotas.get(name='Python-SDK')
qcl = params.QuotaClusterLimit(vcpu_limit=20, memory_limit=1)
z.quotaclusterlimits.add(qcl)
qsl = params.QuotaStorageLimit(limit=500)
z.quotastoragelimits.add(qsl)

Regards.


More information about the Users mailing list