Skip to content

Commit f95c344

Browse files
committed
k8s, setting hostname = container name. This was not the case, hence causing problems in inter-pod communication for session functions
1 parent 09540f7 commit f95c344

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

SandboxAgent/sandboxagent.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ def _process_deployment_info(self):
206206
self._logger.info("External endpoint: %s", self._external_endpoint)
207207
self._logger.info("Internal endpoint: %s", self._internal_endpoint)
208208
self._logger.info("Management endpoints: %s", str(self._management_endpoints))
209+
self._logger.info("Hostname: %s", str(self._hostname))
209210
self._deployment = Deployment(deployment_info,\
210211
self._hostname, self._userid, self._sandboxid, self._workflowid,\
211212
self._workflowname, self._queue, self._datalayer, \
@@ -456,7 +457,7 @@ def get_k8s_nodename():
456457
sys.exit(1)
457458
return podname
458459

459-
def find_k8s_ep(fqdn):
460+
def find_k8s_ep(fqdn, nodename):
460461
# On K8s, sandboxes are run with MFN_HOSTNAME = kubernetes node name
461462
# Find host-local queue and datalayer endpoints
462463
with open('/var/run/secrets/kubernetes.io/serviceaccount/token', 'r') as ftoken:
@@ -465,7 +466,6 @@ def find_k8s_ep(fqdn):
465466
namespace = fnamespace.read()
466467

467468
k8sport = os.getenv('KUBERNETES_SERVICE_PORT_HTTPS')
468-
nodename = os.getenv("MFN_HOSTNAME")
469469
svcname = fqdn.split('.', 1)[0]
470470
retry = True
471471
try:
@@ -528,10 +528,10 @@ def find_k8s_ep(fqdn):
528528

529529
if os.path.exists('/var/run/secrets/kubernetes.io'):
530530
if "MFN_HOSTNAME" not in os.environ:
531-
os.environ["MFN_HOSTNAME"] = get_k8s_nodename()
532-
hostname = os.environ["MFN_HOSTNAME"]
531+
hostname = socket.gethostname()
532+
os.environ["MFN_HOSTNAME"] = hostname
533533
# Find endpoints for datalayer
534-
datalayer = find_k8s_ep(datalayer)
534+
datalayer = find_k8s_ep(datalayer, get_k8s_nodename())
535535
#queue = find_k8s_ep(queue)
536536

537537
sandbox_agent = SandboxAgent(hostname, queue, datalayer, sandboxid, userid, workflowid, elasticsearch, workflowname, endpoint_key)

SandboxAgent/shutdown.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@
2525
from LocalQueueClient import LocalQueueClient
2626
from LocalQueueClientMessage import LocalQueueClientMessage
2727

28-
28+
'''
29+
# queue is local to sandbox, so no need to find the queue
2930
def find_queue(logger):
3031
queue = os.getenv("MFN_QUEUE")
3132
if 'KUBERNETES_SERVICE_HOST' in os.environ and "MFN_HOSTNAME" in os.environ:
@@ -55,11 +56,11 @@ def find_queue(logger):
5556
except (requests.exceptions.HTTPError, KeyError) as e:
5657
logger.error(resp.text, e)
5758
return queue
58-
59+
'''
5960

6061
if __name__ == "__main__":
6162
logger = logging.getLogger()
62-
queue = find_queue(logger)
63+
queue = "/opt/mfn/redis-server/redis.sock"
6364
sandboxid = os.getenv("SANDBOXID")
6465
print("Send shutdown message to sandboxagent")
6566
shutdown_message = {}

0 commit comments

Comments
 (0)