Add kubernetes podSpec support in fission spec (#1106)

This commit is contained in:
Vishal
2019-05-29 03:31:14 +08:00
committed by Ta-Ching Chen
parent 49f9944b86
commit d578539391
19 changed files with 578 additions and 30 deletions
+10 -1
View File
@@ -41,6 +41,7 @@ import (
fetcherClient "github.com/fission/fission/environments/fetcher/client"
fetcherConfig "github.com/fission/fission/environments/fetcher/config"
"github.com/fission/fission/executor/fscache"
"github.com/fission/fission/executor/util"
)
type (
@@ -371,7 +372,7 @@ func (gp *GenericPool) createPool() error {
},
Spec: apiv1.PodSpec{
Containers: []apiv1.Container{
fission.MergeContainerSpecs(&apiv1.Container{
util.MergeContainerSpecs(&apiv1.Container{
Name: gp.env.Metadata.Name,
Image: gp.env.Spec.Runtime.Image,
ImagePullPolicy: gp.runtimeImagePullPolicy,
@@ -405,11 +406,19 @@ func (gp *GenericPool) createPool() error {
},
}
// Order of merging is important here - first fetcher, then containers and lastly pod spec
err := gp.fetcherConfig.AddFetcherToPodSpec(&deployment.Spec.Template.Spec, gp.env.Metadata.Name)
if err != nil {
return err
}
if gp.env.Spec.Runtime.PodSpec != nil {
err = util.MergePodSpec(&deployment.Spec.Template.Spec, gp.env.Spec.Runtime.PodSpec)
if err != nil {
return err
}
}
depl, err := gp.kubernetesClient.ExtensionsV1beta1().Deployments(gp.namespace).Create(deployment)
if err != nil {
gp.logger.Error("error creating deployment in kubernetes", zap.Error(err), zap.String("deployment", deployment.Name))