mirror of
https://github.com/clearml/clearml-agent
synced 2025-02-12 07:38:04 +00:00
Add CLEARML_K8S_GLUE_START_AGENT_SCRIPT_PATH to allow customizing the agent startup script location for k8s glue agent
This commit is contained in:
parent
f8a6cd697f
commit
7292263f86
7
clearml_agent/glue/definitions.py
Normal file
7
clearml_agent/glue/definitions.py
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
from clearml_agent.definitions import EnvironmentConfig
|
||||||
|
|
||||||
|
ENV_START_AGENT_SCRIPT_PATH = EnvironmentConfig('CLEARML_K8S_GLUE_START_AGENT_SCRIPT_PATH')
|
||||||
|
"""
|
||||||
|
Script path to use when creating the bash script to run the agent inside the scheduled pod's docker container.
|
||||||
|
Script will be appended to the specified file.
|
||||||
|
"""
|
@ -27,6 +27,8 @@ from clearml_agent.helper.process import get_bash_output
|
|||||||
from clearml_agent.helper.resource_monitor import ResourceMonitor
|
from clearml_agent.helper.resource_monitor import ResourceMonitor
|
||||||
from clearml_agent.interface.base import ObjectID
|
from clearml_agent.interface.base import ObjectID
|
||||||
|
|
||||||
|
from .definitions import ENV_START_AGENT_SCRIPT_PATH
|
||||||
|
|
||||||
|
|
||||||
class K8sIntegration(Worker):
|
class K8sIntegration(Worker):
|
||||||
K8S_PENDING_QUEUE = "k8s_scheduler"
|
K8S_PENDING_QUEUE = "k8s_scheduler"
|
||||||
@ -644,12 +646,15 @@ class K8sIntegration(Worker):
|
|||||||
|
|
||||||
extra_bash_commands = list(create_clearml_conf or [])
|
extra_bash_commands = list(create_clearml_conf or [])
|
||||||
|
|
||||||
|
start_agent_script_path = ENV_START_AGENT_SCRIPT_PATH.get() or "~/__start_agent__.sh"
|
||||||
|
|
||||||
extra_bash_commands.append(
|
extra_bash_commands.append(
|
||||||
"echo '{}' | base64 --decode >> ~/__start_agent__.sh ; "
|
"echo '{content}' | base64 --decode >> {script_path} ; /bin/bash {script_path}".format(
|
||||||
"/bin/bash ~/__start_agent__.sh".format(
|
content=base64.b64encode(
|
||||||
base64.b64encode(
|
|
||||||
script_encoded.encode('ascii')
|
script_encoded.encode('ascii')
|
||||||
).decode('ascii'))
|
).decode('ascii'),
|
||||||
|
script_path=start_agent_script_path
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
# Notice: we always leave with exit code 0, so pods are never restarted
|
# Notice: we always leave with exit code 0, so pods are never restarted
|
||||||
|
Loading…
Reference in New Issue
Block a user