Use new combined meta data function in env

This commit is contained in:
Alex Dadgar
2016-12-16 10:45:09 -08:00
parent 497ff611f8
commit cb10b277eb
3 changed files with 4 additions and 53 deletions

View File

@@ -150,11 +150,8 @@ func NewExecContext(alloc *allocdir.AllocDir, allocID string) *ExecContext {
func GetTaskEnv(allocDir *allocdir.AllocDir, node *structs.Node,
task *structs.Task, alloc *structs.Allocation, vaultToken string) (*env.TaskEnvironment, error) {
tg := alloc.Job.LookupTaskGroup(alloc.TaskGroup)
env := env.NewTaskEnvironment(node).
SetTaskMeta(task.Meta).
SetTaskGroupMeta(tg.Meta).
SetJobMeta(alloc.Job.Meta).
SetTaskMeta(alloc.Job.CombinedTaskMeta(alloc.TaskGroup, task.Name)).
SetJobName(alloc.Job.Name).
SetEnvvars(task.Env).
SetTaskName(task.Name)

View File

@@ -85,8 +85,6 @@ const (
type TaskEnvironment struct {
Env map[string]string
TaskMeta map[string]string
TaskGroupMeta map[string]string
JobMeta map[string]string
AllocDir string
TaskDir string
SecretsDir string
@@ -138,11 +136,9 @@ func (t *TaskEnvironment) Build() *TaskEnvironment {
t.NodeValues = make(map[string]string)
t.TaskEnv = make(map[string]string)
// Build the meta with the following precedence: task, task group, job.
for _, meta := range []map[string]string{t.JobMeta, t.TaskGroupMeta, t.TaskMeta} {
for k, v := range meta {
t.TaskEnv[fmt.Sprintf("%s%s", MetaPrefix, strings.ToUpper(k))] = v
}
// Build the meta
for k, v := range t.TaskMeta {
t.TaskEnv[fmt.Sprintf("%s%s", MetaPrefix, strings.ToUpper(k))] = v
}
// Build the ports
@@ -336,26 +332,6 @@ func (t *TaskEnvironment) ClearTaskMeta() *TaskEnvironment {
return t
}
func (t *TaskEnvironment) SetTaskGroupMeta(m map[string]string) *TaskEnvironment {
t.TaskGroupMeta = m
return t
}
func (t *TaskEnvironment) ClearTaskGroupMeta() *TaskEnvironment {
t.TaskGroupMeta = nil
return t
}
func (t *TaskEnvironment) SetJobMeta(m map[string]string) *TaskEnvironment {
t.JobMeta = m
return t
}
func (t *TaskEnvironment) ClearJobMeta() *TaskEnvironment {
t.JobMeta = nil
return t
}
func (t *TaskEnvironment) SetEnvvars(m map[string]string) *TaskEnvironment {
t.Env = m
return t

View File

@@ -140,7 +140,6 @@ func TestEnvironment_AsList(t *testing.T) {
env := NewTaskEnvironment(n).
SetNetworks(networks).
SetPortMap(portMap).
SetTaskGroupMeta(map[string]string{"foo": "bar", "baz": "bam"}).
SetTaskMeta(map[string]string{"foo": "baz"}).Build()
act := env.EnvList()
@@ -154,7 +153,6 @@ func TestEnvironment_AsList(t *testing.T) {
"NOMAD_HOST_PORT_http=80",
"NOMAD_HOST_PORT_https=8080",
"NOMAD_META_FOO=baz",
"NOMAD_META_BAZ=bam",
}
sort.Strings(act)
sort.Strings(exp)
@@ -259,23 +257,3 @@ func TestEnvironment_AppendHostEnvVars(t *testing.T) {
t.Fatalf("Didn't filter environment variable %q", skip)
}
}
func TestEnvironment_MetaPrecedence(t *testing.T) {
n := mock.Node()
env := NewTaskEnvironment(n).
SetJobMeta(map[string]string{"foo": "job", "bar": "job", "baz": "job"}).
SetTaskGroupMeta(map[string]string{"foo": "tg", "bar": "tg"}).
SetTaskMeta(map[string]string{"foo": "task"}).Build()
act := env.EnvList()
exp := []string{
"NOMAD_META_FOO=task",
"NOMAD_META_BAR=tg",
"NOMAD_META_BAZ=job",
}
sort.Strings(act)
sort.Strings(exp)
if !reflect.DeepEqual(act, exp) {
t.Fatalf("env.List() returned %v; want %v", act, exp)
}
}