def quotaNeededByNodeType(self, ntype, pool): provider_label = pool.labels[ntype] flavor = self.findFlavor(provider_label.flavor_name, provider_label.min_ram) return QuotaInformation.construct_from_flavor(flavor)
def unmanagedQuotaUsed(self): ''' Sums up the quota used by servers unmanaged by nodepool. :return: Calculated quota in use by unmanaged servers ''' flavors = self.listFlavorsById() used_quota = QuotaInformation() node_ids = set([n.id for n in self._zk.nodeIterator()]) for server in self.listNodes(): meta = server.get('metadata', {}) nodepool_provider_name = meta.get('nodepool_provider_name') if (nodepool_provider_name and nodepool_provider_name == self.provider.name): # This provider (regardless of the launcher) owns this # server so it must not be accounted for unmanaged # quota; unless it has leaked. nodepool_node_id = meta.get('nodepool_node_id') # FIXME(tobiash): Add a test case for this if nodepool_node_id and nodepool_node_id in node_ids: # It has not leaked. continue flavor = flavors.get(server.flavor.id) used_quota.add(QuotaInformation.construct_from_flavor(flavor)) return used_quota
def unmanagedQuotaUsed(self): ''' Sums up the quota used by servers unmanaged by nodepool. :return: Calculated quota in use by unmanaged servers ''' flavors = self.listFlavorsById() used_quota = QuotaInformation() for server in self.listNodes(): meta = server.get('metadata', {}) nodepool_provider_name = meta.get('nodepool_provider_name') if nodepool_provider_name and \ nodepool_provider_name == self.provider.name: # This provider (regardless of the launcher) owns this server # so it must not be accounted for unmanaged quota. continue flavor = flavors.get(server.flavor.id) used_quota.add(QuotaInformation.construct_from_flavor(flavor)) return used_quota