Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion internal/controller/ols_app_postgres_assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ func (r *OLSConfigReconciler) generatePostgresSecret(cr *olsv1alpha1.OLSConfig)
randomPassword := make([]byte, 12)
_, err := rand.Read(randomPassword)
if err != nil {
return nil, fmt.Errorf("Error generating random password: %w", err)
return nil, fmt.Errorf("error generating random password: %w", err)
}
// Encode the password to base64
encodedPassword := base64.StdEncoding.EncodeToString(randomPassword)
Expand Down
18 changes: 9 additions & 9 deletions internal/controller/ols_app_postgres_reconciliator.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ func (r *OLSConfigReconciler) reconcilePostgresDeployment(ctx context.Context, c
}

existingDeployment := &appsv1.Deployment{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresDeploymentName, Namespace: r.Options.Namespace}, existingDeployment)
err = r.Get(ctx, client.ObjectKey{Name: PostgresDeploymentName, Namespace: r.Options.Namespace}, existingDeployment)
if err != nil && errors.IsNotFound(err) {
updateDeploymentAnnotations(desiredDeployment, map[string]string{
PostgresConfigHashKey: r.stateCache[PostgresConfigHashStateCacheKey],
Expand Down Expand Up @@ -109,7 +109,7 @@ func (r *OLSConfigReconciler) reconcilePostgresPVC(ctx context.Context, cr *olsv
}

foundPVC := &corev1.PersistentVolumeClaim{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresPVCName, Namespace: r.Options.Namespace}, foundPVC)
err = r.Get(ctx, client.ObjectKey{Name: PostgresPVCName, Namespace: r.Options.Namespace}, foundPVC)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, pvc)
if err != nil {
Expand All @@ -129,7 +129,7 @@ func (r *OLSConfigReconciler) reconcilePostgresService(ctx context.Context, cr *
}

foundService := &corev1.Service{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresServiceName, Namespace: r.Options.Namespace}, foundService)
err = r.Get(ctx, client.ObjectKey{Name: PostgresServiceName, Namespace: r.Options.Namespace}, foundService)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, service)
if err != nil {
Expand All @@ -149,7 +149,7 @@ func (r *OLSConfigReconciler) reconcilePostgresConfigMap(ctx context.Context, cr
}

foundConfigMap := &corev1.ConfigMap{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresConfigMap, Namespace: r.Options.Namespace}, foundConfigMap)
err = r.Get(ctx, client.ObjectKey{Name: PostgresConfigMap, Namespace: r.Options.Namespace}, foundConfigMap)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, configMap)
if err != nil {
Expand All @@ -169,7 +169,7 @@ func (r *OLSConfigReconciler) reconcilePostgresBootstrapSecret(ctx context.Conte
}

foundSecret := &corev1.Secret{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresBootstrapSecretName, Namespace: r.Options.Namespace}, foundSecret)
err = r.Get(ctx, client.ObjectKey{Name: PostgresBootstrapSecretName, Namespace: r.Options.Namespace}, foundSecret)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, secret)
if err != nil {
Expand All @@ -188,7 +188,7 @@ func (r *OLSConfigReconciler) reconcilePostgresSecret(ctx context.Context, cr *o
return fmt.Errorf("%s: %w", ErrGeneratePostgresSecret, err)
}
foundSecret := &corev1.Secret{}
err = r.Client.Get(ctx, client.ObjectKey{Name: secret.Name, Namespace: r.Options.Namespace}, foundSecret)
err = r.Get(ctx, client.ObjectKey{Name: secret.Name, Namespace: r.Options.Namespace}, foundSecret)
if err != nil && errors.IsNotFound(err) {
err = r.deleteOldPostgresSecrets(ctx)
if err != nil {
Expand Down Expand Up @@ -227,7 +227,7 @@ func (r *OLSConfigReconciler) deleteOldPostgresSecrets(ctx context.Context) erro
labelSelector := labels.Set{"app.kubernetes.io/name": "lightspeed-service-postgres"}.AsSelector()
matchingLabels := client.MatchingLabelsSelector{Selector: labelSelector}
oldSecrets := &corev1.SecretList{}
err := r.Client.List(ctx, oldSecrets, &client.ListOptions{Namespace: r.Options.Namespace, LabelSelector: labelSelector})
err := r.List(ctx, oldSecrets, &client.ListOptions{Namespace: r.Options.Namespace, LabelSelector: labelSelector})
if err != nil {
return fmt.Errorf("failed to list old Postgres secrets: %w", err)
}
Expand All @@ -239,7 +239,7 @@ func (r *OLSConfigReconciler) deleteOldPostgresSecrets(ctx context.Context) erro
LabelSelector: matchingLabels,
},
}
if err := r.Client.DeleteAllOf(ctx, &corev1.Secret{}, deleteOptions); err != nil {
if err := r.DeleteAllOf(ctx, &corev1.Secret{}, deleteOptions); err != nil {
return fmt.Errorf("failed to delete old Postgres secrets: %w", err)
}
return nil
Expand All @@ -251,7 +251,7 @@ func (r *OLSConfigReconciler) reconcilePostgresNetworkPolicy(ctx context.Context
return fmt.Errorf("%s: %w", ErrGeneratePostgresNetworkPolicy, err)
}
foundNetworkPolicy := &networkingv1.NetworkPolicy{}
err = r.Client.Get(ctx, client.ObjectKey{Name: PostgresNetworkPolicyName, Namespace: r.Options.Namespace}, foundNetworkPolicy)
err = r.Get(ctx, client.ObjectKey{Name: PostgresNetworkPolicyName, Namespace: r.Options.Namespace}, foundNetworkPolicy)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, networkPolicy)
if err != nil {
Expand Down
2 changes: 1 addition & 1 deletion internal/controller/ols_app_server_deployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ func (r *OLSConfigReconciler) telemetryEnabled() (bool, error) {

func (r *OLSConfigReconciler) dataCollectorEnabled(cr *olsv1alpha1.OLSConfig) (bool, error) {
// data collector is enabled in OLS configuration
configEnabled := !(cr.Spec.OLSConfig.UserDataCollection.FeedbackDisabled && cr.Spec.OLSConfig.UserDataCollection.TranscriptsDisabled)
configEnabled := !cr.Spec.OLSConfig.UserDataCollection.FeedbackDisabled || !cr.Spec.OLSConfig.UserDataCollection.TranscriptsDisabled
telemetryEnabled, err := r.telemetryEnabled()
if err != nil {
return false, err
Expand Down
2 changes: 1 addition & 1 deletion internal/controller/ols_app_server_reconciliator.go
Original file line number Diff line number Diff line change
Expand Up @@ -354,7 +354,7 @@ func (r *OLSConfigReconciler) reconcileLLMSecrets(ctx context.Context, cr *olsv1
foundSecret := &corev1.Secret{}
secretValues, err := getAllSecretContent(r.Client, provider.CredentialsSecretRef.Name, r.Options.Namespace, foundSecret)
if err != nil {
return fmt.Errorf("Secret token not found for provider: %s. error: %w", provider.Name, err)
return fmt.Errorf("secret token not found for provider: %s. error: %w", provider.Name, err)
}
for key, value := range secretValues {
providerCredentials += key + "=" + value + "\n"
Expand Down
2 changes: 1 addition & 1 deletion internal/controller/ols_app_server_reconciliator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -619,7 +619,7 @@ var _ = Describe("App server reconciliator", Ordered, func() {
Type: typeApiReady,
Status: metav1.ConditionFalse,
Reason: "Reconciling",
Message: "Failed: Secret token not found for provider: testProvider. error: secret not found: non-existing-secret. error: secrets \"non-existing-secret\" not found",
Message: "Failed: secret token not found for provider: testProvider. error: secret not found: non-existing-secret. error: secrets \"non-existing-secret\" not found",
})).To(BeTrue())
cr.Spec.LLMConfig.Providers[0].CredentialsSecretRef = corev1.LocalObjectReference{Name: originalSecretName}
})
Expand Down
20 changes: 10 additions & 10 deletions internal/controller/ols_console_reconciliator.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func (r *OLSConfigReconciler) reconcileConsoleUIConfigMap(ctx context.Context, c
return fmt.Errorf("%s: %w", ErrGenerateConsolePluginConfigMap, err)
}
foundCm := &corev1.ConfigMap{}
err = r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUIConfigMapName, Namespace: r.Options.Namespace}, foundCm)
err = r.Get(ctx, client.ObjectKey{Name: ConsoleUIConfigMapName, Namespace: r.Options.Namespace}, foundCm)
if err != nil && errors.IsNotFound(err) {
r.logger.Info("creating Console UI configmap", "configmap", cm.Name)
err = r.Create(ctx, cm)
Expand Down Expand Up @@ -104,7 +104,7 @@ func (r *OLSConfigReconciler) reconcileConsoleUIService(ctx context.Context, cr
return fmt.Errorf("%s: %w", ErrGenerateConsolePluginService, err)
}
foundService := &corev1.Service{}
err = r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUIServiceName, Namespace: r.Options.Namespace}, foundService)
err = r.Get(ctx, client.ObjectKey{Name: ConsoleUIServiceName, Namespace: r.Options.Namespace}, foundService)
if err != nil && errors.IsNotFound(err) {
r.logger.Info("creating Console UI service", "service", service.Name)
err = r.Create(ctx, service)
Expand All @@ -118,8 +118,8 @@ func (r *OLSConfigReconciler) reconcileConsoleUIService(ctx context.Context, cr
}

if serviceEqual(foundService, service) &&
foundService.ObjectMeta.Annotations != nil &&
foundService.ObjectMeta.Annotations[ServingCertSecretAnnotationKey] == service.ObjectMeta.Annotations[ServingCertSecretAnnotationKey] {
foundService.Annotations != nil &&
foundService.Annotations[ServingCertSecretAnnotationKey] == service.Annotations[ServingCertSecretAnnotationKey] {
r.logger.Info("Console UI service unchanged, reconciliation skipped", "service", service.Name)
return nil
}
Expand All @@ -140,7 +140,7 @@ func (r *OLSConfigReconciler) reconcileConsoleUIDeployment(ctx context.Context,
return fmt.Errorf("%s: %w", ErrGenerateConsolePluginDeployment, err)
}
foundDeployment := &appsv1.Deployment{}
err = r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUIDeploymentName, Namespace: r.Options.Namespace}, foundDeployment)
err = r.Get(ctx, client.ObjectKey{Name: ConsoleUIDeploymentName, Namespace: r.Options.Namespace}, foundDeployment)
if err != nil && errors.IsNotFound(err) {
updateDeploymentAnnotations(deployment, map[string]string{
OLSConsoleTLSHashKey: r.stateCache[OLSConsoleTLSHashStateCacheKey],
Expand Down Expand Up @@ -190,7 +190,7 @@ func (r *OLSConfigReconciler) reconcileConsoleUIPlugin(ctx context.Context, cr *
return fmt.Errorf("%s: %w", ErrGenerateConsolePlugin, err)
}
foundPlugin := &consolev1.ConsolePlugin{}
err = r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUIPluginName}, foundPlugin)
err = r.Get(ctx, client.ObjectKey{Name: ConsoleUIPluginName}, foundPlugin)
if err != nil && errors.IsNotFound(err) {
r.logger.Info("creating Console Plugin", "plugin", plugin.Name)
err = r.Create(ctx, plugin)
Expand Down Expand Up @@ -221,7 +221,7 @@ func (r *OLSConfigReconciler) reconcileConsoleUIPlugin(ctx context.Context, cr *
func (r *OLSConfigReconciler) activateConsoleUI(ctx context.Context, cr *olsv1alpha1.OLSConfig) error {
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
console := &openshiftv1.Console{}
err := r.Client.Get(ctx, client.ObjectKey{Name: ConsoleCRName}, console)
err := r.Get(ctx, client.ObjectKey{Name: ConsoleCRName}, console)
if err != nil {
return fmt.Errorf("%s: %w", ErrGetConsole, err)
}
Expand Down Expand Up @@ -269,7 +269,7 @@ func (r *OLSConfigReconciler) removeConsoleUI(ctx context.Context) error {

func (r *OLSConfigReconciler) deleteConsoleUIPlugin(ctx context.Context) error {
plugin := &consolev1.ConsolePlugin{}
err := r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUIPluginName}, plugin)
err := r.Get(ctx, client.ObjectKey{Name: ConsoleUIPluginName}, plugin)
if err != nil {
if errors.IsNotFound(err) {
r.logger.Info("Console Plugin not found, skip deletion")
Expand All @@ -292,7 +292,7 @@ func (r *OLSConfigReconciler) deleteConsoleUIPlugin(ctx context.Context) error {
func (r *OLSConfigReconciler) deactivateConsoleUI(ctx context.Context) error {
err := retry.RetryOnConflict(retry.DefaultRetry, func() error {
console := &openshiftv1.Console{}
err := r.Client.Get(ctx, client.ObjectKey{Name: ConsoleCRName}, console)
err := r.Get(ctx, client.ObjectKey{Name: ConsoleCRName}, console)
if err != nil {
return fmt.Errorf("%s: %w", ErrGetConsole, err)
}
Expand Down Expand Up @@ -352,7 +352,7 @@ func (r *OLSConfigReconciler) reconcileConsoleNetworkPolicy(ctx context.Context,
return fmt.Errorf("%s: %w", ErrGenerateConsolePluginNetworkPolicy, err)
}
foundNp := &networkingv1.NetworkPolicy{}
err = r.Client.Get(ctx, client.ObjectKey{Name: ConsoleUINetworkPolicyName, Namespace: r.Options.Namespace}, foundNp)
err = r.Get(ctx, client.ObjectKey{Name: ConsoleUINetworkPolicyName, Namespace: r.Options.Namespace}, foundNp)
if err != nil && errors.IsNotFound(err) {
r.logger.Info("creating Console NetworkPolicy", "networkpolicy", ConsoleUINetworkPolicyName)
err = r.Create(ctx, np)
Expand Down
4 changes: 2 additions & 2 deletions internal/controller/olsconfig_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -140,8 +140,8 @@ func (r *OLSConfigReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
}
}
// The operator reconciles only for OLSConfig CR with a specific name
if req.NamespacedName.Name != OLSConfigName {
r.logger.Info(fmt.Sprintf("Ignoring OLSConfig CR other than %s", OLSConfigName), "name", req.NamespacedName.Name)
if req.Name != OLSConfigName {
r.logger.Info(fmt.Sprintf("Ignoring OLSConfig CR other than %s", OLSConfigName), "name", req.Name)
return ctrl.Result{}, nil
}

Expand Down
8 changes: 4 additions & 4 deletions internal/controller/operator_reconciliator.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ func (r *OLSConfigReconciler) reconcileServiceMonitorForOperator(ctx context.Con
}
operatorDeployment := &appsv1.Deployment{}
foundSm := &monv1.ServiceMonitor{}
err = r.Client.Get(ctx, client.ObjectKey{Name: OperatorServiceMonitorName, Namespace: r.Options.Namespace}, foundSm)
err = r.Get(ctx, client.ObjectKey{Name: OperatorServiceMonitorName, Namespace: r.Options.Namespace}, foundSm)
if err != nil && errors.IsNotFound(err) {
r.logger.Info("creating a new service monitor", "serviceMonitor", sm.Name)
err = r.Client.Get(ctx, client.ObjectKey{Name: OperatorDeploymentName, Namespace: r.Options.Namespace}, operatorDeployment)
err = r.Get(ctx, client.ObjectKey{Name: OperatorDeploymentName, Namespace: r.Options.Namespace}, operatorDeployment)
if err != nil {
r.logger.Error(err, "cannot get operator deployment", "name", OperatorDeploymentName, "namespace", r.Options.Namespace)
return fmt.Errorf("%s: %w", ErrCreateServiceMonitor, err)
Expand All @@ -98,7 +98,7 @@ func (r *OLSConfigReconciler) reconcileServiceMonitorForOperator(ctx context.Con
return nil
}
foundSm.Spec = sm.Spec
err = r.Client.Get(ctx, client.ObjectKey{Name: OperatorDeploymentName, Namespace: r.Options.Namespace}, operatorDeployment)
err = r.Get(ctx, client.ObjectKey{Name: OperatorDeploymentName, Namespace: r.Options.Namespace}, operatorDeployment)
if err != nil {
r.logger.Error(err, "cannot get operator deployment", "name", OperatorDeploymentName, "namespace", r.Options.Namespace)
return fmt.Errorf("%s: %w", ErrUpdateServiceMonitor, err)
Expand Down Expand Up @@ -183,7 +183,7 @@ func (r *OLSConfigReconciler) reconcileNetworkPolicyForOperator(ctx context.Cont
return fmt.Errorf("%s: %w", ErrGenerateOperatorNetworkPolicy, err)
}
foundNp := &networkingv1.NetworkPolicy{}
err = r.Client.Get(ctx, client.ObjectKey{Name: OperatorNetworkPolicyName, Namespace: r.Options.Namespace}, foundNp)
err = r.Get(ctx, client.ObjectKey{Name: OperatorNetworkPolicyName, Namespace: r.Options.Namespace}, foundNp)
if err != nil && errors.IsNotFound(err) {
err = r.Create(ctx, &np)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions internal/controller/resource_watchers.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ func (r *OLSConfigReconciler) restartAppServer(ctx context.Context, inCluster bo
if inCluster {
// Update impacted deployment - OLSAppServerDeploymentName
dep := &appsv1.Deployment{}
err := r.Client.Get(ctx, client.ObjectKey{Name: OLSAppServerDeploymentName, Namespace: r.Options.Namespace}, dep)
err := r.Get(ctx, client.ObjectKey{Name: OLSAppServerDeploymentName, Namespace: r.Options.Namespace}, dep)
if err != nil {
r.logger.Info("failed to get deployment", "deploymentName", OLSAppServerDeploymentName, "error", err)
return err
Expand All @@ -116,7 +116,7 @@ func (r *OLSConfigReconciler) restartAppServer(ctx context.Context, inCluster bo
dep.Spec.Template.Annotations[ForceReloadAnnotationKey] = time.Now().Format(time.RFC3339Nano)
// Update
r.logger.Info("updating OLS deployment", "name", dep.Name)
err = r.Client.Update(ctx, dep)
err = r.Update(ctx, dep)
if err != nil {
r.logger.Info("failed to update deployment", "deploymentName", dep.Name, "error", err)
return err
Expand Down
12 changes: 6 additions & 6 deletions internal/controller/utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -316,9 +316,9 @@ func probeEqual(a, b *corev1.Probe) bool {

// serviceEqual compares two v1.Service and returns true if they are equal.
func serviceEqual(a *corev1.Service, b *corev1.Service) bool {
if !(apiequality.Semantic.DeepEqual(a.ObjectMeta.Labels, b.ObjectMeta.Labels) &&
apiequality.Semantic.DeepEqual(a.Spec.Selector, b.Spec.Selector) &&
len(a.Spec.Ports) == len(b.Spec.Ports)) {
if !apiequality.Semantic.DeepEqual(a.Labels, b.Labels) ||
!apiequality.Semantic.DeepEqual(a.Spec.Selector, b.Spec.Selector) ||
len(a.Spec.Ports) != len(b.Spec.Ports) {
return false
}

Expand All @@ -334,19 +334,19 @@ func serviceEqual(a *corev1.Service, b *corev1.Service) bool {

// serviceMonitorEqual compares two monv1.ServiceMonitor and returns true if they are equal.
func serviceMonitorEqual(a *monv1.ServiceMonitor, b *monv1.ServiceMonitor) bool {
return apiequality.Semantic.DeepEqual(a.ObjectMeta.Labels, b.ObjectMeta.Labels) &&
return apiequality.Semantic.DeepEqual(a.Labels, b.Labels) &&
apiequality.Semantic.DeepEqual(a.Spec, b.Spec)
}

// prometheusRuleEqual compares two monv1.PrometheusRule and returns true if they are equal.
func prometheusRuleEqual(a *monv1.PrometheusRule, b *monv1.PrometheusRule) bool {
return apiequality.Semantic.DeepEqual(a.ObjectMeta.Labels, b.ObjectMeta.Labels) &&
return apiequality.Semantic.DeepEqual(a.Labels, b.Labels) &&
apiequality.Semantic.DeepEqual(a.Spec, b.Spec)
}

// networkPolicyEqual compares two networkingv1.NetworkPolicy and returns true if they are equal.
func networkPolicyEqual(a *networkingv1.NetworkPolicy, b *networkingv1.NetworkPolicy) bool {
return apiequality.Semantic.DeepEqual(a.ObjectMeta.Labels, b.ObjectMeta.Labels) &&
return apiequality.Semantic.DeepEqual(a.Labels, b.Labels) &&
apiequality.Semantic.DeepEqual(a.Spec, b.Spec)
}

Expand Down
6 changes: 3 additions & 3 deletions test/e2e/assets.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@ import (

func generateLLMTokenSecret(name string) (*corev1.Secret, error) { // nolint:unused
token := os.Getenv(LLMTokenEnvVar)
var tenantID string = os.Getenv(AzureTenantID)
var clientID string = os.Getenv(AzureClientID)
var clientSecret string = os.Getenv(AzureClientSecret)
var tenantID = os.Getenv(AzureTenantID)
var clientID = os.Getenv(AzureClientID)
var clientSecret = os.Getenv(AzureClientSecret)
if token == "" {
return nil, fmt.Errorf("LLM token not found in $%s", LLMTokenEnvVar)
}
Expand Down
13 changes: 7 additions & 6 deletions test/e2e/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
"strings"
"time"

. "github.com/onsi/ginkgo/v2"
"github.com/onsi/ginkgo/v2"

consolev1 "github.com/openshift/api/console/v1"
openshiftv1 "github.com/openshift/api/operator/v1"
Expand All @@ -37,9 +37,10 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client/config"
logf "sigs.k8s.io/controller-runtime/pkg/log"

olsv1alpha1 "github.com/openshift/lightspeed-operator/api/v1alpha1"
k8serrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/resource"

olsv1alpha1 "github.com/openshift/lightspeed-operator/api/v1alpha1"
)

const (
Expand Down Expand Up @@ -510,16 +511,16 @@ func (c *Client) CheckErrorAndRestartPortForwardService(err error, serviceName,
return
}
if !strings.Contains(err.Error(), "EOF") {
fmt.Fprintf(GinkgoWriter, "CheckErrorAndRestartPortForwardService skips non-EOF error: %s \n", err)
_, _ = fmt.Fprintf(ginkgo.GinkgoWriter, "CheckErrorAndRestartPortForwardService skips non-EOF error: %s \n", err)
return
}
fmt.Fprintf(GinkgoWriter, "EOF error detected, restarting port forwarding\n")
_, _ = fmt.Fprintf(ginkgo.GinkgoWriter, "EOF error detected, restarting port forwarding\n")
forwardHostNew, cleanUp, fpErr = c.ForwardPort(serviceName, namespace, port)
if fpErr != nil {
fmt.Fprintf(GinkgoWriter, "failed to restart port forwarding: %s \n", fpErr)
_, _ = fmt.Fprintf(ginkgo.GinkgoWriter, "failed to restart port forwarding: %s \n", fpErr)
return
}
fmt.Fprintf(GinkgoWriter, "restarted port forwarding\n")
_, _ = fmt.Fprintf(ginkgo.GinkgoWriter, "restarted port forwarding\n")
*forwardHost = forwardHostNew
*cleanUpFuncs = append(*cleanUpFuncs, cleanUp)
}
Expand Down
Loading