From 03ab5ba0e179b85f0cb648c3376723ab573345ef Mon Sep 17 00:00:00 2001 From: Harduino Date: Wed, 5 Aug 2020 12:03:23 +0300 Subject: [PATCH] siemonster :: handle empty calculated self container id --- functions/onprem/orborus/orborus.go | 14 +++++++++----- functions/onprem/worker/worker.go | 15 ++++++++++----- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/functions/onprem/orborus/orborus.go b/functions/onprem/orborus/orborus.go index daab7a71..d37544cd 100644 --- a/functions/onprem/orborus/orborus.go +++ b/functions/onprem/orborus/orborus.go @@ -99,13 +99,8 @@ func getThisContainerId() string { // Deploys the internal worker whenever something happens func deployWorker(image string, identifier string, env []string) { - // figure out current container id - containerId := getThisContainerId() - // Binds is the actual "-v" volume. hostConfig := &container.HostConfig{ - NetworkMode: container.NetworkMode(fmt.Sprintf("container:%s", containerId)), - IpcMode: container.IpcMode(fmt.Sprintf("container:%s", containerId)), LogConfig: container.LogConfig{ Type: "json-file", Config: map[string]string{}, @@ -115,6 +110,15 @@ func deployWorker(image string, identifier string, env []string) { }, } + // form container id and use it as network source if it's not empty + containerId := getThisContainerId() + if containerId != "" { + hostConfig.NetworkMode = container.NetworkMode(fmt.Sprintf("container:%s", containerId)) + hostConfig.IpcMode = container.IpcMode(fmt.Sprintf("container:%s", containerId)) + } else { + log.Printf("[WARNING] Empty determined container id, continue without NetworkMode/IpcMode") + } + // ROFL: https://docker-py.readthedocs.io/en/1.4.0/volumes/ config := &container.Config{ Image: image, diff --git a/functions/onprem/worker/worker.go b/functions/onprem/worker/worker.go index 6824434a..96d1afdf 100644 --- a/functions/onprem/worker/worker.go +++ b/functions/onprem/worker/worker.go @@ -426,18 +426,23 @@ func getThisContainerId() string { // Deploys the internal worker whenever something happens func deployApp(cli *dockerclient.Client, image string, identifier string, env []string) error { - // figure out current container id - containerId := getThisContainerId() - + // form basic hostConfig hostConfig := &container.HostConfig{ - NetworkMode: container.NetworkMode(fmt.Sprintf("container:%s", containerId)), - IpcMode: container.IpcMode(fmt.Sprintf("container:%s", containerId)), LogConfig: container.LogConfig{ Type: "json-file", Config: map[string]string{}, }, } + // form container id and use it as network source if it's not empty + containerId := getThisContainerId() + if containerId != "" { + hostConfig.NetworkMode = container.NetworkMode(fmt.Sprintf("container:%s", containerId)) + hostConfig.IpcMode = container.IpcMode(fmt.Sprintf("container:%s", containerId)) + } else { + log.Printf("[WARNING] Empty determined container id, continue without NetworkMode/IpcMode") + } + config := &container.Config{ Image: image, Env: env,