From b61f994746e6692b5e77663ddb78f72da11ab70d Mon Sep 17 00:00:00 2001 From: Ta-Ching Chen Date: Tue, 11 Feb 2020 17:49:14 +0800 Subject: [PATCH] Append Environment labels to function pod labels (#1530) --- pkg/executor/executortype/newdeploy/newdeploy.go | 12 +++++++++++- pkg/executor/executortype/poolmgr/gp.go | 11 ++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/pkg/executor/executortype/newdeploy/newdeploy.go b/pkg/executor/executortype/newdeploy/newdeploy.go index 4f669581..a620c76d 100644 --- a/pkg/executor/executortype/newdeploy/newdeploy.go +++ b/pkg/executor/executortype/newdeploy/newdeploy.go @@ -202,6 +202,16 @@ func (deploy *NewDeploy) getDeploymentSpec(fn *fv1.Function, env *fv1.Environmen if deploy.useIstio && env.Spec.AllowAccessToExternalNetwork { podAnnotations["sidecar.istio.io/inject"] = "false" } + + podLabels := env.ObjectMeta.Labels + if podLabels == nil { + podLabels = make(map[string]string) + } + + for k, v := range deployLabels { + podLabels[k] = v + } + resources := deploy.getResources(env, fn) // Set maxUnavailable and maxSurge to 20% is because we want @@ -262,7 +272,7 @@ func (deploy *NewDeploy) getDeploymentSpec(fn *fv1.Function, env *fv1.Environmen pod := apiv1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ - Labels: deployLabels, + Labels: podLabels, Annotations: podAnnotations, }, Spec: apiv1.PodSpec{ diff --git a/pkg/executor/executortype/poolmgr/gp.go b/pkg/executor/executortype/poolmgr/gp.go index 23debafd..cd82f8f4 100644 --- a/pkg/executor/executortype/poolmgr/gp.go +++ b/pkg/executor/executortype/poolmgr/gp.go @@ -395,6 +395,15 @@ func (gp *GenericPool) createPool() error { podAnnotations["sidecar.istio.io/inject"] = "false" } + podLabels := gp.env.ObjectMeta.Labels + if podLabels == nil { + podLabels = make(map[string]string) + } + + for k, v := range deployLabels { + podLabels[k] = v + } + container, err := util.MergeContainer(&apiv1.Container{ Name: gp.env.ObjectMeta.Name, Image: gp.env.Spec.Runtime.Image, @@ -435,7 +444,7 @@ func (gp *GenericPool) createPool() error { pod := apiv1.PodTemplateSpec{ ObjectMeta: metav1.ObjectMeta{ - Labels: deployLabels, + Labels: podLabels, Annotations: podAnnotations, }, Spec: apiv1.PodSpec{