Fix name conflict when buildermanager merges podspc (#1460)
This commit is contained in:
@@ -489,15 +489,18 @@ func (envw *environmentWatcher) createBuilderDeployment(env *fv1.Environment, ns
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
podSpec := apiv1.PodSpec{
|
pod := apiv1.PodTemplateSpec{
|
||||||
Containers: []apiv1.Container{*container},
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
ServiceAccountName: "fission-builder",
|
Labels: sel,
|
||||||
|
Annotations: podAnnotations,
|
||||||
|
},
|
||||||
|
Spec: apiv1.PodSpec{
|
||||||
|
Containers: []apiv1.Container{*container},
|
||||||
|
ServiceAccountName: "fission-builder",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
finalPodSpec, err := util.MergePodSpec(&podSpec, env.Spec.Builder.PodSpec)
|
pod.Spec = *(util.ApplyImagePullSecret(env.Spec.ImagePullSecret, pod.Spec))
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
deployment := &appsv1.Deployment{
|
deployment := &appsv1.Deployment{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
@@ -510,13 +513,7 @@ func (envw *environmentWatcher) createBuilderDeployment(env *fv1.Environment, ns
|
|||||||
Selector: &metav1.LabelSelector{
|
Selector: &metav1.LabelSelector{
|
||||||
MatchLabels: sel,
|
MatchLabels: sel,
|
||||||
},
|
},
|
||||||
Template: apiv1.PodTemplateSpec{
|
Template: pod,
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
|
||||||
Labels: sel,
|
|
||||||
Annotations: podAnnotations,
|
|
||||||
},
|
|
||||||
Spec: *(util.ApplyImagePullSecret(env.Spec.ImagePullSecret, *finalPodSpec)),
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -525,11 +522,20 @@ func (envw *environmentWatcher) createBuilderDeployment(env *fv1.Environment, ns
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
envw.logger.Info("creating builder deployment", zap.String("deployment", name))
|
if env.Spec.Builder.PodSpec != nil {
|
||||||
|
newPodSpec, err := util.MergePodSpec(&deployment.Spec.Template.Spec, env.Spec.Builder.PodSpec)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
deployment.Spec.Template.Spec = *newPodSpec
|
||||||
|
}
|
||||||
|
|
||||||
_, err = envw.kubernetesClient.AppsV1().Deployments(ns).Create(deployment)
|
_, err = envw.kubernetesClient.AppsV1().Deployments(ns).Create(deployment)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
envw.logger.Info("creating builder deployment", zap.String("deployment", name))
|
||||||
|
|
||||||
return deployment, nil
|
return deployment, nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user