update notebook_controller to use env
This commit is contained in:
parent
42bbb0cdbf
commit
525eee5ed8
|
|
@ -19,6 +19,7 @@ package notebook
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
v1alpha1 "github.com/kubeflow/kubeflow/components/notebook-controller/pkg/apis/notebook/v1alpha1"
|
v1alpha1 "github.com/kubeflow/kubeflow/components/notebook-controller/pkg/apis/notebook/v1alpha1"
|
||||||
|
|
@ -230,34 +231,9 @@ func (r *ReconcileNotebook) Reconcile(request reconcile.Request) (reconcile.Resu
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Reconcile virtual service
|
// Reconcile virtual service if we use ISTIO.
|
||||||
virtualService, err := generateVirtualService(instance)
|
if os.Getenv("USE_ISTIO") == "true" {
|
||||||
if err := controllerutil.SetControllerReference(instance, virtualService, r.scheme); err != nil {
|
err = r.reconcileVirtualService(instance)
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
// Check if the virtual service already exists.
|
|
||||||
foundVirtual := &unstructured.Unstructured{}
|
|
||||||
justCreated = false
|
|
||||||
foundVirtual.SetAPIVersion("networking.istio.io/v1alpha3")
|
|
||||||
foundVirtual.SetKind("VirtualService")
|
|
||||||
err = r.Get(context.TODO(), types.NamespacedName{Name: virtualServiceName(instance.Name,
|
|
||||||
instance.Namespace), Namespace: instance.Namespace}, foundVirtual)
|
|
||||||
if err != nil && errors.IsNotFound(err) {
|
|
||||||
log.Info("Creating virtual service", "namespace", instance.Namespace, "name",
|
|
||||||
virtualServiceName(instance.Name, instance.Namespace))
|
|
||||||
err = r.Create(context.TODO(), virtualService)
|
|
||||||
justCreated = true
|
|
||||||
if err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
} else if err != nil {
|
|
||||||
return reconcile.Result{}, err
|
|
||||||
}
|
|
||||||
|
|
||||||
if !justCreated && util.CopyVirtualService(virtualService, foundVirtual) {
|
|
||||||
log.Info("Updating virtual service", "namespace", instance.Namespace, "name",
|
|
||||||
virtualServiceName(instance.Name, instance.Namespace))
|
|
||||||
err = r.Update(context.TODO(), foundVirtual)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return reconcile.Result{}, err
|
return reconcile.Result{}, err
|
||||||
}
|
}
|
||||||
|
|
@ -464,3 +440,39 @@ func generateVirtualService(instance *v1alpha1.Notebook) (*unstructured.Unstruct
|
||||||
return vsvc, nil
|
return vsvc, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r *ReconcileNotebook) reconcileVirtualService(instance *v1alpha1.Notebook) error {
|
||||||
|
virtualService, err := generateVirtualService(instance)
|
||||||
|
if err := controllerutil.SetControllerReference(instance, virtualService, r.scheme); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
// Check if the virtual service already exists.
|
||||||
|
foundVirtual := &unstructured.Unstructured{}
|
||||||
|
justCreated := false
|
||||||
|
foundVirtual.SetAPIVersion("networking.istio.io/v1alpha3")
|
||||||
|
foundVirtual.SetKind("VirtualService")
|
||||||
|
err = r.Get(context.TODO(), types.NamespacedName{Name: virtualServiceName(instance.Name,
|
||||||
|
instance.Namespace), Namespace: instance.Namespace}, foundVirtual)
|
||||||
|
if err != nil && errors.IsNotFound(err) {
|
||||||
|
log.Info("Creating virtual service", "namespace", instance.Namespace, "name",
|
||||||
|
virtualServiceName(instance.Name, instance.Namespace))
|
||||||
|
err = r.Create(context.TODO(), virtualService)
|
||||||
|
justCreated = true
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
} else if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if !justCreated && util.CopyVirtualService(virtualService, foundVirtual) {
|
||||||
|
log.Info("Updating virtual service", "namespace", instance.Namespace, "name",
|
||||||
|
virtualServiceName(instance.Name, instance.Namespace))
|
||||||
|
err = r.Update(context.TODO(), foundVirtual)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue