redisbench-admin 0.11.46__py3-none-any.whl → 0.11.47__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.
@@ -124,6 +124,108 @@ def remote_db_spin(
124
124
  benchmark_config, server_public_ip, username, private_key, db_ssh_port
125
125
  )
126
126
 
127
+ # Copy custom Redis files to remote host if provided
128
+ remote_redis_server_path = None
129
+ remote_redis_conf_path = None
130
+
131
+ if custom_redis_server_path or custom_redis_conf_path:
132
+ from redisbench_admin.utils.remote import copy_file_to_remote_setup
133
+ import os
134
+
135
+ if custom_redis_conf_path:
136
+ # Convert relative paths to absolute paths
137
+ custom_redis_conf_path = os.path.abspath(
138
+ os.path.expanduser(custom_redis_conf_path)
139
+ )
140
+
141
+ if not os.path.exists(custom_redis_conf_path):
142
+ logging.error(
143
+ f"❌ Custom redis.conf file not found: {custom_redis_conf_path}"
144
+ )
145
+ return_code = 1
146
+ return (None, None, None, [], [], return_code, None, None)
147
+
148
+ remote_redis_conf_path = "/tmp/redis.conf"
149
+ logging.info(
150
+ f"📁 Copying custom redis.conf from {custom_redis_conf_path} to {remote_redis_conf_path}"
151
+ )
152
+
153
+ copy_result = copy_file_to_remote_setup(
154
+ server_public_ip,
155
+ username,
156
+ private_key,
157
+ custom_redis_conf_path,
158
+ remote_redis_conf_path,
159
+ None,
160
+ db_ssh_port,
161
+ False, # don't continue on error
162
+ )
163
+
164
+ if not copy_result:
165
+ logging.error("❌ Failed to copy redis.conf to remote host")
166
+ return_code = 1
167
+ return (None, None, None, [], [], return_code, None, None)
168
+ else:
169
+ logging.info(
170
+ f"✅ Successfully copied redis.conf to {remote_redis_conf_path}"
171
+ )
172
+
173
+ if custom_redis_server_path:
174
+ # Convert relative paths to absolute paths
175
+ custom_redis_server_path = os.path.abspath(
176
+ os.path.expanduser(custom_redis_server_path)
177
+ )
178
+
179
+ if not os.path.exists(custom_redis_server_path):
180
+ logging.error(
181
+ f"❌ Custom redis-server binary not found: {custom_redis_server_path}"
182
+ )
183
+ return_code = 1
184
+ return (None, None, None, [], [], return_code, None, None)
185
+
186
+ remote_redis_server_path = "/tmp/redis-server"
187
+ logging.info(
188
+ f"📁 Copying custom redis-server binary from {custom_redis_server_path} to {remote_redis_server_path}"
189
+ )
190
+
191
+ copy_result = copy_file_to_remote_setup(
192
+ server_public_ip,
193
+ username,
194
+ private_key,
195
+ custom_redis_server_path,
196
+ remote_redis_server_path,
197
+ None,
198
+ db_ssh_port,
199
+ False, # don't continue on error
200
+ )
201
+
202
+ if not copy_result:
203
+ logging.error("❌ Failed to copy redis-server binary to remote host")
204
+ return_code = 1
205
+ return (None, None, None, [], [], return_code, None, None)
206
+
207
+ # Make the binary executable
208
+ chmod_commands = [f"chmod +x {remote_redis_server_path}"]
209
+ chmod_results = execute_remote_commands(
210
+ server_public_ip, username, private_key, chmod_commands, db_ssh_port
211
+ )
212
+
213
+ recv_exit_status, stdout, stderr = chmod_results[0]
214
+ if recv_exit_status != 0:
215
+ logging.warning(
216
+ f"⚠️ Failed to make redis-server binary executable: {stderr}"
217
+ )
218
+ else:
219
+ logging.info(
220
+ f"✅ Successfully copied and made executable: {remote_redis_server_path}"
221
+ )
222
+
223
+ # Update the custom paths to use the remote paths
224
+ if remote_redis_server_path:
225
+ custom_redis_server_path = remote_redis_server_path
226
+ if remote_redis_conf_path:
227
+ custom_redis_conf_path = remote_redis_conf_path
228
+
127
229
  full_logfiles = []
128
230
  cluster_enabled = False
129
231
  if setup_type == "oss-cluster":
@@ -280,8 +280,19 @@ def spin_up_standalone_remote_redis(
280
280
  custom_redis_server_path=None,
281
281
  custom_redis_conf_path=None,
282
282
  ):
283
- # Ensure redis-server is available before trying to start it
284
- ensure_redis_server_available(server_public_ip, username, private_key, port)
283
+ # Ensure redis-server is available before trying to start it (only if not using custom binary)
284
+ if custom_redis_server_path is None:
285
+ ensure_redis_server_available(server_public_ip, username, private_key, port)
286
+ else:
287
+ logging.info(
288
+ "🔧 Using custom Redis binary - skipping system Redis installation"
289
+ )
290
+
291
+ # Log what paths we're using
292
+ logging.info(f"🔧 Redis command generation:")
293
+ logging.info(f" - Custom server path: {custom_redis_server_path}")
294
+ logging.info(f" - Custom config path: {custom_redis_conf_path}")
295
+ logging.info(f" - Module files: {remote_module_files}")
285
296
 
286
297
  full_logfile, initial_redis_cmd = generate_remote_standalone_redis_cmd(
287
298
  logfile,
@@ -611,7 +622,7 @@ def spin_test_standalone_redis(
611
622
  )
612
623
  return False
613
624
 
614
- remote_redis_conf_path = f"{temporary_dir}/redis.conf"
625
+ remote_redis_conf_path = "/tmp/redis.conf"
615
626
  logging.info(
616
627
  f"📁 Copying custom redis.conf from {custom_redis_conf_path} to {remote_redis_conf_path}"
617
628
  )
@@ -647,7 +658,7 @@ def spin_test_standalone_redis(
647
658
  )
648
659
  return False
649
660
 
650
- remote_redis_server_path = f"{temporary_dir}/redis-server"
661
+ remote_redis_server_path = "/tmp/redis-server"
651
662
  logging.info(
652
663
  f"📁 Copying custom redis-server binary from {custom_redis_server_path} to {remote_redis_server_path}"
653
664
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: redisbench-admin
3
- Version: 0.11.46
3
+ Version: 0.11.47
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,12 +216,12 @@ 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=LjN24dISrXdJeNovP4KZfC1Xi-prDMfYb7MiwZWrxOA,15034
219
+ redisbench_admin/run_remote/remote_db.py,sha256=VNsJmJf7803gsCd_lhwCb37V-xd_mC25TdDMiB3diW8,18972
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
223
223
  redisbench_admin/run_remote/run_remote.py,sha256=dAR2HRA6pl4jFdRM6YF1iAsLfuy1TZ8nn3s6QdOdv2k,76591
224
- redisbench_admin/run_remote/standalone.py,sha256=NF8Az9ZJfdRk6aP5_t8MxraUkpGRU_OYae3w93NngiA,32885
224
+ redisbench_admin/run_remote/standalone.py,sha256=r7Obzvu_ZE_j1uUc1HdVbYBIHHgZBHqt9ApaEUXDw3w,33356
225
225
  redisbench_admin/run_remote/terraform.py,sha256=vV3eWXNwj7vsnFNqUgCir5ueZS4VYopEyzWiTtoSq0Q,4018
226
226
  redisbench_admin/utils/__init__.py,sha256=DtBXRp0Q01XgCFmY-1OIePMyyYihVNAjZ1Y8zwqSDN0,101
227
227
  redisbench_admin/utils/benchmark_config.py,sha256=e1rvziZpI_8_vC4RKL5Rbwv1A4DKOXiv7xbFTrrAy88,23843
@@ -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.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,,
238
+ redisbench_admin-0.11.47.dist-info/LICENSE,sha256=AAMtfs82zOOvmG68vILivm6lxi2rcOlGObmA8jzxQvw,10768
239
+ redisbench_admin-0.11.47.dist-info/METADATA,sha256=HpQhYzoW41Ij4DjeA7TbpYKkCTyw9kFDYon9MSnhMkY,5596
240
+ redisbench_admin-0.11.47.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
241
+ redisbench_admin-0.11.47.dist-info/entry_points.txt,sha256=UUawXk_AS-PlieKJ1QxPQXGsRLb6OW_F0MtmA1W0KE8,113
242
+ redisbench_admin-0.11.47.dist-info/RECORD,,