From 2ae0c852904599f356e40a4478ff2a86249e3038 Mon Sep 17 00:00:00 2001 From: Michael Schurter Date: Tue, 11 Oct 2016 10:57:12 -0700 Subject: [PATCH] Add NOMAD_JOB_NAME to environment --- client/driver/driver.go | 1 + client/driver/driver_test.go | 1 + client/driver/env/env.go | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/client/driver/driver.go b/client/driver/driver.go index ab31c5f8a..49a2cb89f 100644 --- a/client/driver/driver.go +++ b/client/driver/driver.go @@ -142,6 +142,7 @@ func GetTaskEnv(allocDir *allocdir.AllocDir, node *structs.Node, SetTaskMeta(task.Meta). SetTaskGroupMeta(tg.Meta). SetJobMeta(alloc.Job.Meta). + SetJobName(alloc.Job.Name). SetEnvvars(task.Env). SetTaskName(task.Name) diff --git a/client/driver/driver_test.go b/client/driver/driver_test.go index d62d4afb4..371860b64 100644 --- a/client/driver/driver_test.go +++ b/client/driver/driver_test.go @@ -153,6 +153,7 @@ func TestDriver_GetTaskEnv(t *testing.T) { "NOMAD_ALLOC_ID": alloc.ID, "NOMAD_ALLOC_NAME": alloc.Name, "NOMAD_TASK_NAME": task.Name, + "NOMAD_JOB_NAME": alloc.Job.Name, } act := env.EnvMap() diff --git a/client/driver/env/env.go b/client/driver/env/env.go index bd74e79fc..2614a036a 100644 --- a/client/driver/env/env.go +++ b/client/driver/env/env.go @@ -40,6 +40,9 @@ const ( // TaskName is the environment variable for passing the task name. TaskName = "NOMAD_TASK_NAME" + // JobName is the environment variable for passing the job name. + JobName = "NOMAD_JOB_NAME" + // AllocIndex is the environment variable for passing the allocation index. AllocIndex = "NOMAD_ALLOC_INDEX" @@ -98,6 +101,7 @@ type TaskEnvironment struct { PortMap map[string]int VaultToken string InjectVaultToken bool + JobName string // taskEnv is the variables that will be set in the tasks environment TaskEnv map[string]string @@ -188,6 +192,9 @@ func (t *TaskEnvironment) Build() *TaskEnvironment { if t.TaskName != "" { t.TaskEnv[TaskName] = t.TaskName } + if t.JobName != "" { + t.TaskEnv[JobName] = t.JobName + } // Build the node if t.Node != nil { @@ -452,11 +459,21 @@ func (t *TaskEnvironment) SetTaskName(name string) *TaskEnvironment { return t } +func (t *TaskEnvironment) SetJobName(name string) *TaskEnvironment { + t.JobName = name + return t +} + func (t *TaskEnvironment) ClearTaskName() *TaskEnvironment { t.TaskName = "" return t } +func (t *TaskEnvironment) ClearJobName() *TaskEnvironment { + t.JobName = "" + return t +} + func (t *TaskEnvironment) SetVaultToken(token string, inject bool) *TaskEnvironment { t.VaultToken = token t.InjectVaultToken = inject