mirror of
https://github.com/clearml/clearml-agent
synced 2025-06-26 18:16:15 +00:00
Fix init wizard, correctly display the input servers
This commit is contained in:
parent
8245293f7f
commit
fffe8e1c3f
@ -44,7 +44,7 @@ def main():
|
|||||||
sentinel = ''
|
sentinel = ''
|
||||||
parse_input = '\n'.join(iter(input, sentinel))
|
parse_input = '\n'.join(iter(input, sentinel))
|
||||||
credentials = None
|
credentials = None
|
||||||
api_host = None
|
api_server = None
|
||||||
web_server = None
|
web_server = None
|
||||||
# noinspection PyBroadException
|
# noinspection PyBroadException
|
||||||
try:
|
try:
|
||||||
@ -52,11 +52,11 @@ def main():
|
|||||||
if parsed:
|
if parsed:
|
||||||
# Take the credentials in raw form or from api section
|
# Take the credentials in raw form or from api section
|
||||||
credentials = get_parsed_field(parsed, ["credentials"])
|
credentials = get_parsed_field(parsed, ["credentials"])
|
||||||
api_host = get_parsed_field(parsed, ["api_server", "host"])
|
api_server = get_parsed_field(parsed, ["api_server", "host"])
|
||||||
web_server = get_parsed_field(parsed, ["web_server"])
|
web_server = get_parsed_field(parsed, ["web_server"])
|
||||||
except Exception:
|
except Exception:
|
||||||
credentials = credentials or None
|
credentials = credentials or None
|
||||||
api_host = api_host or None
|
api_server = api_server or None
|
||||||
web_server = web_server or None
|
web_server = web_server or None
|
||||||
|
|
||||||
while not credentials or set(credentials) != {"access_key", "secret_key"}:
|
while not credentials or set(credentials) != {"access_key", "secret_key"}:
|
||||||
@ -65,63 +65,25 @@ def main():
|
|||||||
|
|
||||||
print('Detected credentials key=\"{}\" secret=\"{}\"'.format(credentials['access_key'],
|
print('Detected credentials key=\"{}\" secret=\"{}\"'.format(credentials['access_key'],
|
||||||
credentials['secret_key'][0:4] + "***"))
|
credentials['secret_key'][0:4] + "***"))
|
||||||
if api_host:
|
web_input = True
|
||||||
api_host = input_url('API Host', api_host)
|
if web_server:
|
||||||
|
host = input_url('WEB Host', web_server)
|
||||||
|
elif api_server:
|
||||||
|
web_input = False
|
||||||
|
host = input_url('API Host', api_server)
|
||||||
else:
|
else:
|
||||||
print(host_description)
|
print(host_description)
|
||||||
api_host = input_url('API Host', '')
|
host = input_url('WEB Host', '')
|
||||||
parsed_host = verify_url(api_host)
|
|
||||||
|
|
||||||
if parsed_host.netloc.startswith('demoapp.'):
|
parsed_host = verify_url(host)
|
||||||
# this is our demo server
|
api_host, files_host, web_host = parse_host(parsed_host, allow_input=True)
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapp.', 'demoapi.', 1) + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
# on of these two we configured
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapp.', 'demofiles.', 1) + parsed_host.path
|
if not web_input:
|
||||||
elif parsed_host.netloc.startswith('app.'):
|
web_host = input_url('Web Application Host', web_host)
|
||||||
# this is our application server
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('app.', 'api.', 1) + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('app.', 'files.', 1) + parsed_host.path
|
|
||||||
elif parsed_host.netloc.startswith('demoapi.'):
|
|
||||||
print('{} is the api server, we need the web server. Replacing \'demoapi.\' with \'demoapp.\''.format(
|
|
||||||
parsed_host.netloc))
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapi.', 'demoapp.', 1) + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapi.', 'demofiles.', 1) + parsed_host.path
|
|
||||||
elif parsed_host.netloc.startswith('api.'):
|
|
||||||
print('{} is the api server, we need the web server. Replacing \'api.\' with \'app.\''.format(
|
|
||||||
parsed_host.netloc))
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('api.', 'app.', 1) + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('api.', 'files.', 1) + parsed_host.path
|
|
||||||
elif parsed_host.port == 8008:
|
|
||||||
print('Port 8008 is the api port. Replacing 8080 with 8008 for Web application')
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8008', ':8080', 1) + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8008', ':8081', 1) + parsed_host.path
|
|
||||||
elif parsed_host.port == 8080:
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8080', ':8008', 1) + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8080', ':8081', 1) + parsed_host.path
|
|
||||||
else:
|
else:
|
||||||
api_host = ''
|
api_host = input_url('API Host', api_host)
|
||||||
web_host = ''
|
|
||||||
files_host = ''
|
|
||||||
if not parsed_host.port:
|
|
||||||
print('Host port not detected, do you wish to use the default 8080 port n/[y]? ', end='')
|
|
||||||
replace_port = input().lower()
|
|
||||||
if not replace_port or replace_port == 'y' or replace_port == 'yes':
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8008' + parsed_host.path
|
|
||||||
web_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8080' + parsed_host.path
|
|
||||||
files_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8081' + parsed_host.path
|
|
||||||
elif not replace_port or replace_port.lower() == 'n' or replace_port.lower() == 'no':
|
|
||||||
web_host = input_host_port("Web", parsed_host)
|
|
||||||
api_host = input_host_port("API", parsed_host)
|
|
||||||
files_host = input_host_port("Files", parsed_host)
|
|
||||||
if not api_host:
|
|
||||||
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
|
||||||
|
|
||||||
web_host = input_url('Web Application Host', web_server if web_server else web_host)
|
|
||||||
files_host = input_url('File Store Host', files_host)
|
files_host = input_url('File Store Host', files_host)
|
||||||
|
|
||||||
print('\nTRAINS Hosts configuration:\nWeb App: {}\nAPI: {}\nFile Store: {}\n'.format(
|
print('\nTRAINS Hosts configuration:\nWeb App: {}\nAPI: {}\nFile Store: {}\n'.format(
|
||||||
@ -208,6 +170,63 @@ def main():
|
|||||||
print('TRAINS-AGENT setup completed successfully.')
|
print('TRAINS-AGENT setup completed successfully.')
|
||||||
|
|
||||||
|
|
||||||
|
def parse_host(parsed_host, allow_input=True):
|
||||||
|
if parsed_host.netloc.startswith('demoapp.'):
|
||||||
|
# this is our demo server
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapp.', 'demoapi.', 1) + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapp.', 'demofiles.',
|
||||||
|
1) + parsed_host.path
|
||||||
|
elif parsed_host.netloc.startswith('app.'):
|
||||||
|
# this is our application server
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('app.', 'api.', 1) + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('app.', 'files.', 1) + parsed_host.path
|
||||||
|
elif parsed_host.netloc.startswith('demoapi.'):
|
||||||
|
print('{} is the api server, we need the web server. Replacing \'demoapi.\' with \'demoapp.\''.format(
|
||||||
|
parsed_host.netloc))
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapi.', 'demoapp.', 1) + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('demoapi.', 'demofiles.',
|
||||||
|
1) + parsed_host.path
|
||||||
|
elif parsed_host.netloc.startswith('api.'):
|
||||||
|
print('{} is the api server, we need the web server. Replacing \'api.\' with \'app.\''.format(
|
||||||
|
parsed_host.netloc))
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('api.', 'app.', 1) + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace('api.', 'files.', 1) + parsed_host.path
|
||||||
|
elif parsed_host.port == 8008:
|
||||||
|
print('Port 8008 is the api port. Replacing 8080 with 8008 for Web application')
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8008', ':8080', 1) + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8008', ':8081', 1) + parsed_host.path
|
||||||
|
elif parsed_host.port == 8080:
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8080', ':8008', 1) + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc.replace(':8080', ':8081', 1) + parsed_host.path
|
||||||
|
elif allow_input:
|
||||||
|
api_host = ''
|
||||||
|
web_host = ''
|
||||||
|
files_host = ''
|
||||||
|
if not parsed_host.port:
|
||||||
|
print('Host port not detected, do you wish to use the default 8080 port n/[y]? ', end='')
|
||||||
|
replace_port = input().lower()
|
||||||
|
if not replace_port or replace_port == 'y' or replace_port == 'yes':
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8008' + parsed_host.path
|
||||||
|
web_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8080' + parsed_host.path
|
||||||
|
files_host = parsed_host.scheme + "://" + parsed_host.netloc + ':8081' + parsed_host.path
|
||||||
|
elif not replace_port or replace_port.lower() == 'n' or replace_port.lower() == 'no':
|
||||||
|
web_host = input_host_port("Web", parsed_host)
|
||||||
|
api_host = input_host_port("API", parsed_host)
|
||||||
|
files_host = input_host_port("Files", parsed_host)
|
||||||
|
if not api_host:
|
||||||
|
api_host = parsed_host.scheme + "://" + parsed_host.netloc + parsed_host.path
|
||||||
|
else:
|
||||||
|
raise ValueError("Could not parse host name")
|
||||||
|
|
||||||
|
return api_host, files_host, web_host
|
||||||
|
|
||||||
|
|
||||||
def verify_credentials(api_host, credentials):
|
def verify_credentials(api_host, credentials):
|
||||||
"""check if the credentials are valid"""
|
"""check if the credentials are valid"""
|
||||||
# noinspection PyBroadException
|
# noinspection PyBroadException
|
||||||
|
Loading…
Reference in New Issue
Block a user