redisbench-admin 0.11.44__py3-none-any.whl → 0.11.46__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -118,6 +118,7 @@ def remote_db_spin(
118
118
 
119
119
  # Execute install_steps from dbconfig and clientconfig if present
120
120
  from redisbench_admin.run_remote.standalone import execute_install_steps
121
+
121
122
  if benchmark_config is not None:
122
123
  execute_install_steps(
123
124
  benchmark_config, server_public_ip, username, private_key, db_ssh_port
@@ -150,7 +150,9 @@ def get_defaults(defaults_filename):
150
150
  )
151
151
 
152
152
 
153
- def get_final_benchmark_config(default_kpis, default_remote, stream, usecase_filename, default_dbconfig=None):
153
+ def get_final_benchmark_config(
154
+ default_kpis, default_remote, stream, usecase_filename, default_dbconfig=None
155
+ ):
154
156
  result = False
155
157
  benchmark_config = None
156
158
  test_name = None
@@ -170,7 +172,7 @@ def get_final_benchmark_config(default_kpis, default_remote, stream, usecase_fil
170
172
  # Merge dbconfig from defaults
171
173
  dbconfig_keyname = "dbconfig"
172
174
  if default_dbconfig is not None:
173
- merge_default_and_specific_properties_dict_type(
175
+ merge_dbconfig_properties(
174
176
  benchmark_config, default_dbconfig, dbconfig_keyname, usecase_filename
175
177
  )
176
178
  test_name = benchmark_config["name"]
@@ -186,6 +188,56 @@ def get_final_benchmark_config(default_kpis, default_remote, stream, usecase_fil
186
188
  return result, benchmark_config, test_name
187
189
 
188
190
 
191
+ def merge_dbconfig_properties(
192
+ benchmark_config, default_dbconfig, dbconfig_keyname, usecase_filename
193
+ ):
194
+ """
195
+ Merge dbconfig properties from defaults with benchmark-specific dbconfig.
196
+ Handles both list and dict formats for dbconfig sections.
197
+ """
198
+ if dbconfig_keyname not in benchmark_config:
199
+ # No local dbconfig, use defaults entirely
200
+ benchmark_config[dbconfig_keyname] = default_dbconfig
201
+ logging.info(
202
+ f"Using exclusively default '{dbconfig_keyname}' properties from {usecase_filename}"
203
+ )
204
+ else:
205
+ # Merge defaults with local dbconfig
206
+ local_dbconfig = benchmark_config[dbconfig_keyname]
207
+
208
+ # Convert both to list format for consistent merging
209
+ if isinstance(default_dbconfig, dict):
210
+ default_list = [default_dbconfig]
211
+ else:
212
+ default_list = default_dbconfig
213
+
214
+ if isinstance(local_dbconfig, dict):
215
+ local_list = [local_dbconfig]
216
+ else:
217
+ local_list = local_dbconfig
218
+
219
+ # Merge: defaults first, then local (local takes precedence for conflicts)
220
+ merged_list = []
221
+
222
+ # Add all default items
223
+ for item in default_list:
224
+ merged_list.append(item)
225
+
226
+ # Add local items
227
+ for item in local_list:
228
+ merged_list.append(item)
229
+
230
+ # Convert back to original format if local was dict
231
+ if isinstance(local_dbconfig, dict) and len(merged_list) == 1:
232
+ benchmark_config[dbconfig_keyname] = merged_list[0]
233
+ else:
234
+ benchmark_config[dbconfig_keyname] = merged_list
235
+
236
+ logging.info(
237
+ f"Merged default and local '{dbconfig_keyname}' properties for {usecase_filename}"
238
+ )
239
+
240
+
189
241
  def merge_default_and_specific_properties_dict_type(
190
242
  benchmark_config, default_properties, propertygroup_keyname, usecase_filename
191
243
  ):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redisbench-admin
3
- Version: 0.11.44
3
+ Version: 0.11.46
4
4
  Summary: Redis benchmark run helper. A wrapper around Redis and Redis Modules benchmark tools ( ftsb_redisearch, memtier_benchmark, redis-benchmark, aibench, etc... ).
5
5
  Author: filipecosta90
6
6
  Author-email: filipecosta.90@gmail.com
@@ -216,7 +216,7 @@ redisbench_admin/run_remote/consts.py,sha256=bCMkwyeBD-EmOpoHKni7LjWy5WuaxGJhGhq
216
216
  redisbench_admin/run_remote/log.py,sha256=cD7zfXt0VEmy0b7452HvcAxX_9kVj6Vm213yNdUHP20,95
217
217
  redisbench_admin/run_remote/notifications.py,sha256=-W9fLaftEFNfplBl2clHk37jbYxliDbHftQ62khN31k,2157
218
218
  redisbench_admin/run_remote/remote_client.py,sha256=rRmDro1weto01wzqYpId8NMPoizEzSyudXBCjYrBVMs,14128
219
- redisbench_admin/run_remote/remote_db.py,sha256=atHs0QCoGKw2aJMNrYvFUSBW3789F6ZQWbTAgbzEgJc,15033
219
+ redisbench_admin/run_remote/remote_db.py,sha256=LjN24dISrXdJeNovP4KZfC1Xi-prDMfYb7MiwZWrxOA,15034
220
220
  redisbench_admin/run_remote/remote_env.py,sha256=Ux_0QT1unNRlKl3cakzjG5Px1uuxOOfBoF_pnalx_T8,4936
221
221
  redisbench_admin/run_remote/remote_failures.py,sha256=IOo6DyxarcwwMPCeN4gWB2JrhuC9iBLwq0nCROqr5ak,1567
222
222
  redisbench_admin/run_remote/remote_helpers.py,sha256=skWeGyDJBmyx_UwUekT3N3_nOJvF2-Hvu-E7vKlO9gg,10598
@@ -224,7 +224,7 @@ redisbench_admin/run_remote/run_remote.py,sha256=dAR2HRA6pl4jFdRM6YF1iAsLfuy1TZ8
224
224
  redisbench_admin/run_remote/standalone.py,sha256=NF8Az9ZJfdRk6aP5_t8MxraUkpGRU_OYae3w93NngiA,32885
225
225
  redisbench_admin/run_remote/terraform.py,sha256=vV3eWXNwj7vsnFNqUgCir5ueZS4VYopEyzWiTtoSq0Q,4018
226
226
  redisbench_admin/utils/__init__.py,sha256=DtBXRp0Q01XgCFmY-1OIePMyyYihVNAjZ1Y8zwqSDN0,101
227
- redisbench_admin/utils/benchmark_config.py,sha256=MLszNOBS_a1LWf9uge7ugAosE6Uej5lPRMBEqndvDmI,22123
227
+ redisbench_admin/utils/benchmark_config.py,sha256=e1rvziZpI_8_vC4RKL5Rbwv1A4DKOXiv7xbFTrrAy88,23843
228
228
  redisbench_admin/utils/local.py,sha256=zUvyVI9LZMT3qyxs1pO3mXL6Bt_1z9EZUGppaRcWNRA,3890
229
229
  redisbench_admin/utils/redisearch.py,sha256=lchUEzpt0zB1rHwlDlw9LLifAnxFWcLP-PePw7TjL-0,1602
230
230
  redisbench_admin/utils/redisgraph_benchmark_go.py,sha256=os7EJt6kBxsFJLKkSoANbjMT7-cEq4-Ns-49alk2Tf8,2048
@@ -235,8 +235,8 @@ redisbench_admin/utils/utils.py,sha256=XVSvo1_DdcYwk2jOxL3VPVPbnDnhGYt8ieYfANo6r
235
235
  redisbench_admin/watchdog/__init__.py,sha256=cD7zfXt0VEmy0b7452HvcAxX_9kVj6Vm213yNdUHP20,95
236
236
  redisbench_admin/watchdog/args.py,sha256=nKsG1G6ATOZlAMHMtT9u3kXxduKCbejSZ5x8oB_ynZ8,1312
237
237
  redisbench_admin/watchdog/watchdog.py,sha256=0wWYge3x_OMxWrzazNhJif2NK4tKsI963HVZqjczRag,6189
238
- redisbench_admin-0.11.44.dist-info/LICENSE,sha256=AAMtfs82zOOvmG68vILivm6lxi2rcOlGObmA8jzxQvw,10768
239
- redisbench_admin-0.11.44.dist-info/METADATA,sha256=jpLHzNuadbzVa7qFDcFA-bHUeRf5CBGDMiqCZKolHlw,5596
240
- redisbench_admin-0.11.44.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
241
- redisbench_admin-0.11.44.dist-info/entry_points.txt,sha256=UUawXk_AS-PlieKJ1QxPQXGsRLb6OW_F0MtmA1W0KE8,113
242
- redisbench_admin-0.11.44.dist-info/RECORD,,
238
+ redisbench_admin-0.11.46.dist-info/LICENSE,sha256=AAMtfs82zOOvmG68vILivm6lxi2rcOlGObmA8jzxQvw,10768
239
+ redisbench_admin-0.11.46.dist-info/METADATA,sha256=k4Y3_EPcMPHVDlqK7o7kcf4xE2P9H_gN_4CIkgkc0P4,5596
240
+ redisbench_admin-0.11.46.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
241
+ redisbench_admin-0.11.46.dist-info/entry_points.txt,sha256=UUawXk_AS-PlieKJ1QxPQXGsRLb6OW_F0MtmA1W0KE8,113
242
+ redisbench_admin-0.11.46.dist-info/RECORD,,