update router workload
This commit is contained in:
@@ -207,7 +207,7 @@ func CreateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
err := createRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, injectSidecar)
|
err := createOrUpdateRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, injectSidecar)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Error(err)
|
glog.Error(err)
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -320,7 +320,7 @@ func deleteRouterService(namespace string) (*corev1.Service, error) {
|
|||||||
return service, nil
|
return service, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func createRouterWorkload(namespace string, publishService bool, servicemeshEnabled bool) error {
|
func createOrUpdateRouterWorkload(namespace string, publishService bool, servicemeshEnabled bool) error {
|
||||||
obj, ok := routerTemplates["DEPLOYMENT"]
|
obj, ok := routerTemplates["DEPLOYMENT"]
|
||||||
if !ok {
|
if !ok {
|
||||||
glog.Error("Deployment template file not loaded")
|
glog.Error("Deployment template file not loaded")
|
||||||
@@ -329,6 +329,7 @@ func createRouterWorkload(namespace string, publishService bool, servicemeshEnab
|
|||||||
|
|
||||||
k8sClient := k8s.Client()
|
k8sClient := k8s.Client()
|
||||||
|
|
||||||
|
createDeployment := true
|
||||||
deployment := obj.(*extensionsv1beta1.Deployment)
|
deployment := obj.(*extensionsv1beta1.Deployment)
|
||||||
deployment.Name = constants.IngressControllerPrefix + namespace
|
deployment.Name = constants.IngressControllerPrefix + namespace
|
||||||
|
|
||||||
@@ -355,7 +356,18 @@ func createRouterWorkload(namespace string, publishService bool, servicemeshEnab
|
|||||||
deployment.Spec.Template.Spec.Containers[0].Args = append(deployment.Spec.Template.Spec.Containers[0].Args, "--report-node-internal-ip-address")
|
deployment.Spec.Template.Spec.Containers[0].Args = append(deployment.Spec.Template.Spec.Containers[0].Args, "--report-node-internal-ip-address")
|
||||||
}
|
}
|
||||||
|
|
||||||
deployment, err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Create(deployment)
|
_, err := k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Get(deployment.Name, meta_v1.GetOptions{})
|
||||||
|
|
||||||
|
if err == nil {
|
||||||
|
createDeployment = false
|
||||||
|
}
|
||||||
|
|
||||||
|
if createDeployment {
|
||||||
|
deployment, err = k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Create(deployment)
|
||||||
|
} else {
|
||||||
|
deployment, err = k8sClient.ExtensionsV1beta1().Deployments(constants.IngressControllerNamespace).Update(deployment)
|
||||||
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Error(err)
|
glog.Error(err)
|
||||||
return err
|
return err
|
||||||
@@ -411,23 +423,13 @@ func UpdateRouter(namespace string, routerType corev1.ServiceType, annotations m
|
|||||||
return router, err
|
return router, err
|
||||||
}
|
}
|
||||||
|
|
||||||
routerAnnotations := router.GetAnnotations()
|
|
||||||
|
|
||||||
if routerAnnotations[SERVICEMESH_ENABLED] != annotations[SERVICEMESH_ENABLED] || routerType != router.Spec.Type {
|
|
||||||
err = deleteRouterWorkload(namespace)
|
|
||||||
if err != nil {
|
|
||||||
glog.Error(err)
|
|
||||||
return router, err
|
|
||||||
}
|
|
||||||
|
|
||||||
enableServicemesh := annotations[SERVICEMESH_ENABLED] == "true"
|
enableServicemesh := annotations[SERVICEMESH_ENABLED] == "true"
|
||||||
|
|
||||||
err := createRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, enableServicemesh)
|
err = createOrUpdateRouterWorkload(namespace, routerType == corev1.ServiceTypeLoadBalancer, enableServicemesh)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Error(err)
|
glog.Error(err)
|
||||||
return router, err
|
return router, err
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
newRouter, err := updateRouterService(namespace, routerType, annotations)
|
newRouter, err := updateRouterService(namespace, routerType, annotations)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user