From e6c13057ceb03bdf8b052c93a855de62825f2dc0 Mon Sep 17 00:00:00 2001 From: Sanket Sudake Date: Wed, 2 Jun 2021 16:23:53 +0530 Subject: [PATCH] Change container name for runtime container to environment name in newdeploy (#2044) Signed-off-by: Sanket Sudake --- pkg/apis/core/v1/validation.go | 7 +++++++ pkg/executor/executortype/newdeploy/newdeploy.go | 4 ++-- .../tests/test_specs/test_spec_merge/specs/env-nodend.yaml | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/pkg/apis/core/v1/validation.go b/pkg/apis/core/v1/validation.go index 94ac91d7..ef4e5db1 100644 --- a/pkg/apis/core/v1/validation.go +++ b/pkg/apis/core/v1/validation.go @@ -571,6 +571,13 @@ func (e *Environment) Validate() error { validateMetadata("Environment", e.ObjectMeta), e.Spec.Validate()) + if e.Spec.Runtime.PodSpec != nil { + for _, container := range e.Spec.Runtime.PodSpec.Containers { + if container.Command == nil && container.Image == e.Spec.Runtime.Image && container.Name != e.ObjectMeta.Name { + multierror.Append(result, fmt.Errorf("container with image same as runtime image in podspec, must have name same as environment name")) + } + } + } return result.ErrorOrNil() } diff --git a/pkg/executor/executortype/newdeploy/newdeploy.go b/pkg/executor/executortype/newdeploy/newdeploy.go index 3ceafa7c..32c94822 100644 --- a/pkg/executor/executortype/newdeploy/newdeploy.go +++ b/pkg/executor/executortype/newdeploy/newdeploy.go @@ -239,7 +239,7 @@ func (deploy *NewDeploy) getDeploymentSpec(fn *fv1.Function, env *fv1.Environmen } container, err := util.MergeContainer(&apiv1.Container{ - Name: fn.ObjectMeta.Name, + Name: env.ObjectMeta.Name, Image: env.Spec.Runtime.Image, ImagePullPolicy: deploy.runtimeImagePullPolicy, TerminationMessagePath: "/dev/termination-log", @@ -312,7 +312,7 @@ func (deploy *NewDeploy) getDeploymentSpec(fn *fv1.Function, env *fv1.Environmen // Order of merging is important here - first fetcher, then containers and lastly pod spec err = deploy.fetcherConfig.AddSpecializingFetcherToPodSpec( &deployment.Spec.Template.Spec, - fn.ObjectMeta.Name, + env.ObjectMeta.Name, fn, env, ) diff --git a/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml b/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml index 4f8ab4d9..5c8ea8b3 100644 --- a/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml +++ b/test/tests/test_specs/test_spec_merge/specs/env-nodend.yaml @@ -13,7 +13,7 @@ spec: runtime: image: fission/node-env container: - name: nodehellond + name: nodend volumeMounts: - name: cvol mountPath: /etc/cvoldata @@ -22,7 +22,7 @@ spec: hostname: foo-bar # A container which will be merged with for pool manager containers: - - name: nodehellond + - name: nodend image: fission/node-env volumeMounts: - name: funcvol