Skip to content

Commit 76f2739

Browse files
committed
add the option to edit protected configs
1 parent 46b9a62 commit 76f2739

File tree

3 files changed

+19
-6
lines changed

3 files changed

+19
-6
lines changed

RLTest/__main__.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,6 +273,10 @@ def do_normal_conn(self, line):
273273
'--enable-debug-command', action='store_const', const=True, default=False,
274274
help='On Redis 7, debug command need to be enabled in order to be used.')
275275

276+
parser.add_argument(
277+
'--enable-protected-configs', action='store_const', const=True, default=False,
278+
help='On Redis 7, this option needs to be enabled in order to change protected configuration in runtime.')
279+
276280
parser.add_argument('--check-exitcode', help='Check redis process exit code',
277281
default=False, action='store_true')
278282

@@ -438,6 +442,7 @@ def __init__(self):
438442
Defaults.oss_password = self.args.oss_password
439443
Defaults.cluster_node_timeout = self.args.cluster_node_timeout
440444
Defaults.enable_debug_command = self.args.enable_debug_command
445+
Defaults.enable_protected_configs = self.args.enable_protected_configs
441446
if Defaults.use_unix and Defaults.use_slaves:
442447
raise Exception('Cannot use unix sockets with slaves')
443448

RLTest/env.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ class Defaults:
144144
curr_test_name = None
145145
port=6379
146146
enable_debug_command=False
147+
enable_protected_configs=False
147148
terminate_retries=None
148149
terminate_retry_secs=None
149150

@@ -176,7 +177,7 @@ def getKwargs(self):
176177
class Env:
177178
RTestInstance = None
178179
EnvCompareParams = ['module', 'moduleArgs', 'env', 'useSlaves', 'shardsCount', 'useAof',
179-
'useRdbPreamble', 'forceTcp', 'enableDebugCommand', 'protocol']
180+
'useRdbPreamble', 'forceTcp', 'enableDebugCommand', 'enableProtectedConfigs', 'protocol']
180181

181182
def compareEnvs(self, env):
182183
if env is None:
@@ -191,7 +192,8 @@ def __init__(self, testName=None, testDescription=None, module=None,
191192
useAof=None, useRdbPreamble=None, forceTcp=False, useTLS=False, tlsCertFile=None, tlsKeyFile=None,
192193
tlsCaCertFile=None, tlsPassphrase=None, logDir=None, redisBinaryPath=None, dmcBinaryPath=None,
193194
redisEnterpriseBinaryPath=None, noDefaultModuleArgs=False, clusterNodeTimeout = None,
194-
freshEnv=False, enableDebugCommand=None, protocol=2, terminateRetries=None, terminateRetrySecs=None):
195+
freshEnv=False, enableDebugCommand=None, enableProtectedConfigs=None, protocol=2,
196+
terminateRetries=None, terminateRetrySecs=None):
195197

196198
self.testName = testName if testName else Defaults.curr_test_name
197199
if self.testName is None:
@@ -229,6 +231,8 @@ def __init__(self, testName=None, testDescription=None, module=None,
229231
self.clusterNodeTimeout = clusterNodeTimeout if clusterNodeTimeout else Defaults.cluster_node_timeout
230232
self.port = Defaults.port
231233
self.enableDebugCommand = enableDebugCommand if enableDebugCommand else Defaults.enable_debug_command
234+
self.enableProtectedConfigs = enableProtectedConfigs if enableProtectedConfigs\
235+
else Defaults.enable_protected_configs
232236
self.terminateRetries = terminateRetries
233237
self.terminateRetrySecs = terminateRetrySecs
234238

@@ -334,6 +338,7 @@ def getEnvKwargs(self):
334338
'tlsPassphrase': self.tlsPassphrase,
335339
'port': self.port,
336340
'enableDebugCommand': self.enableDebugCommand,
341+
'enableProtectedConfigs': self.enableProtectedConfigs,
337342
'protocol': self.protocol,
338343
'terminateRetries': self.terminateRetries,
339344
'terminateRetrySecs': self.terminateRetrySecs,

RLTest/redis_std.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def __init__(self, redisBinaryPath, port=6379, modulePath=None, moduleArgs=None,
2222
dbDirPath=None, useSlaves=False, serverId=1, password=None, libPath=None, clusterEnabled=False, decodeResponses=False,
2323
useAof=False, useRdbPreamble=True, debugger=None, sanitizer=None, noCatch=False, noLog=False, unix=False, verbose=False, useTLS=False,
2424
tlsCertFile=None, tlsKeyFile=None, tlsCaCertFile=None, clusterNodeTimeout=None, tlsPassphrase=None, enableDebugCommand=False, protocol=2,
25-
terminateRetries=None, terminateRetrySecs=None):
25+
terminateRetries=None, terminateRetrySecs=None, enableProtectedConfigs=False):
2626
self.uuid = uuid.uuid4().hex
2727
self.redisBinaryPath = os.path.expanduser(redisBinaryPath) if redisBinaryPath.startswith(
2828
'~/') else redisBinaryPath
@@ -58,6 +58,7 @@ def __init__(self, redisBinaryPath, port=6379, modulePath=None, moduleArgs=None,
5858
self.clusterNodeTimeout = clusterNodeTimeout
5959
self.tlsPassphrase = tlsPassphrase
6060
self.enableDebugCommand = enableDebugCommand
61+
self.enableProtectedConfigs = enableProtectedConfigs
6162
self.protocol = protocol
6263
self.terminateRetries = terminateRetries
6364
self.terminateRetrySecs = terminateRetrySecs
@@ -232,9 +233,11 @@ def createCmdArgs(self, role):
232233

233234
cmdArgs += ['--tls-replication', 'yes']
234235

235-
if self.enableDebugCommand:
236-
if self._getRedisVersion() > 70000:
237-
cmdArgs += ['--enable-debug-command', 'yes', '--enable-protected-configs', 'yes']
236+
if self._getRedisVersion() > 70000:
237+
if self.enableDebugCommand:
238+
cmdArgs += ['--enable-debug-command', 'yes']
239+
if self.enableProtectedConfigs:
240+
cmdArgs += ['--enable-protected-configs', 'yes']
238241

239242
return cmdArgs
240243

0 commit comments

Comments
 (0)