How to create a DataCenterQuota via Python SDK?

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

El 19/02/16 a las 13:56, nicolas@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@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.
participants (2)
-
nicolas@devels.es
-
Nicolás