From ddff2a438c2a8551d50f848ce01a6c12a304949e Mon Sep 17 00:00:00 2001 From: Krishna Chilleri Date: Mon, 10 Feb 2025 11:03:24 -0700 Subject: [PATCH] set up unique remote port number as the default --- beeflow/common/config_driver.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/beeflow/common/config_driver.py b/beeflow/common/config_driver.py index 554bcfd1..3bacdf26 100644 --- a/beeflow/common/config_driver.py +++ b/beeflow/common/config_driver.py @@ -203,6 +203,13 @@ def filepath_completion_input(*pargs, **kwargs): return input(*pargs, **kwargs) +def unique_port(): + """Assign unique port for remote user.""" + uid = os.getuid() + port = ((uid%(16000-7777))+7777) + return port + + # Below is the definition of all bee config options, defaults and requirements. # This will be used to validate config files on loading them in the BeeConfig # singleton class above. @@ -256,7 +263,7 @@ def filepath_completion_input(*pargs, **kwargs): default=False, validator=validation.bool_, prompt=False) VALIDATOR.option('DEFAULT', 'remote_api_port', info='BEE remote REST API port', - default=7777, validator=int, prompt=False) + default=unique_port(), validator=int, prompt=False) VALIDATOR.option('DEFAULT', 'workload_scheduler', choices=('Slurm', 'LSF', 'Flux', 'Simple'), default='Slurm', info='backend workload scheduler to interact with ',