Skip to content

Commit 202776d

Browse files
committed
CBPS-1154: Default to using max bucket mem quota on Capella
Change-Id: I49245d15eb574537b32b9b61ed18843fd3903158 Reviewed-on: https://review.couchbase.org/c/perfrunner/+/190918 Tested-by: Build Bot <[email protected]> Reviewed-by: Laura Silaja <[email protected]>
1 parent 7202af2 commit 202776d

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

perfrunner/helpers/cluster.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,13 +315,23 @@ def delete_buckets(self):
315315

316316
def create_buckets(self):
317317
mem_quota = self.test_config.cluster.mem_quota
318+
319+
if mem_quota == 0 and self.capella_infra:
320+
logger.info('No memory quota provided for buckets on provisioned Capella cluster. '
321+
'Getting free memory available for buckets...')
322+
mem_info = self.rest.get_bucket_mem_available(next(self.cluster_spec.masters))
323+
mem_quota = mem_info['free']
324+
logger.info('Free memory for buckets (per node): {}MB'.format(mem_quota))
325+
318326
if self.test_config.cluster.num_buckets > 7:
319327
self.increase_bucket_limit(self.test_config.cluster.num_buckets + 3)
320328

321329
if self.test_config.cluster.eventing_metadata_bucket_mem_quota:
322330
mem_quota -= (self.test_config.cluster.eventing_metadata_bucket_mem_quota +
323331
self.test_config.cluster.eventing_bucket_mem_quota)
332+
324333
per_bucket_quota = mem_quota // self.test_config.cluster.num_buckets
334+
325335
if self.dynamic_infra:
326336
self.remote.delete_all_buckets()
327337
for bucket_name in self.test_config.buckets:

perfrunner/helpers/rest.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2102,6 +2102,14 @@ def create_db_user(self, cluster_id: str, username: str, password: str):
21022102
username, password)
21032103
return resp
21042104

2105+
def get_bucket_mem_available(self, host: str):
2106+
cluster_id = self.hostname_to_cluster_id(host)
2107+
resp = self.dedicated_client.get_buckets(self.tenant_id, self.project_id, cluster_id)
2108+
return {
2109+
'free': resp.json()['freeMemoryInMb'],
2110+
'total': resp.json()['totalMemoryInMb']
2111+
}
2112+
21052113
@retry
21062114
def create_bucket(self, host: str,
21072115
name: str,

0 commit comments

Comments
 (0)