test/pylib: extract the env variable printing into MinIoServer

less repeatings this way.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
This commit is contained in:
Kefu Chai
2023-10-20 11:38:23 +08:00
parent 02cad8f85b
commit 6b84bc50c3

View File

@@ -192,6 +192,21 @@ class MinioServer:
os.environ[self.ENV_ACCESS_KEY] = f'{self.access_key}'
os.environ[self.ENV_SECRET_KEY] = f'{self.secret_key}'
def _get_environs(self):
return [self.ENV_CONFFILE,
self.ENV_ADDRESS,
self.ENV_PORT,
self.ENV_BUCKET,
self.ENV_ACCESS_KEY,
self.ENV_SECRET_KEY]
def print_environ(self):
msgs = []
for key in self._get_environs():
value = os.environ[key]
msgs.append(f'export {key}={value}')
print('\n'.join(msgs))
async def start(self):
if self.srv_exe is None:
self.logger.info("Minio not installed, get it from https://dl.minio.io/server/minio/release/linux-amd64/minio and put into PATH")
@@ -263,11 +278,7 @@ async def main():
print(f'{tempdir=}')
server = MinioServer(tempdir, args.host, logging.getLogger('minio'))
await server.start()
print(f'export S3_SERVER_ADDRESS_FOR_TEST={server.address}')
print(f'export S3_SERVER_PORT_FOR_TEST={server.port}')
print(f'export S3_BUCKET_FOR_TEST={server.bucket_name}')
print(f'export AWS_ACCESS_KEY_ID={server.access_key}')
print(f'export AWS_SECRET_ACCESS_KEY={server.secret_key}')
server.print_environ()
print(f'Please run scylla with: --object-storage-config-file {server.config_file}')
try:
_ = input('server started. press any key to stop: ')