Skip to content

Commit

Permalink
Set up unique remote port number as the default (#1007)
Browse files Browse the repository at this point in the history
Set up unique remote port number as the default for remote API
  • Loading branch information
kchilleri authored Feb 11, 2025
1 parent 445f2ae commit a290b3b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
9 changes: 8 additions & 1 deletion beeflow/common/config_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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 ',
Expand Down
1 change: 0 additions & 1 deletion beeflow/remote/remote.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ def find_free_port(start_port=1024, end_port=65535, host='127.0.0.1'):

def create_app():
"""Start the web-server for the API with uvicorn."""
# decide what port we're using for the long term. I set it to port 7777 temporarily

port_number = bc.get('DEFAULT', 'remote_api_port')
if is_port_taken(port_number) is True:
Expand Down

0 comments on commit a290b3b

Please sign in to comment.