Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into paramsFrom
Browse files Browse the repository at this point in the history
# Conflicts:
#	api/v1/serviceinstance_types.go
#	controllers/servicebinding_controller_test.go
#	controllers/serviceinstance_controller.go
  • Loading branch information
kerenlahav committed Dec 18, 2024
2 parents 5807419 + 9148d9a commit 183113e
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 6 deletions.
7 changes: 5 additions & 2 deletions api/v1/webhooks/serviceinstance_mutating_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,12 @@ func (s *ServiceInstanceDefaulter) Handle(_ context.Context, req admission.Reque
return admission.Errored(http.StatusInternalServerError, err)
}

if !reflect.DeepEqual(instance.Spec.UserInfo, oldInstance.Spec.UserInfo) {
if instance.Spec.UserInfo == nil {
instance.Spec.UserInfo = oldInstance.Spec.UserInfo
} else if !reflect.DeepEqual(instance.Spec.UserInfo, oldInstance.Spec.UserInfo) {
return admission.Errored(http.StatusBadRequest, fmt.Errorf("modifying spec.userInfo is not allowed"))
} else if !reflect.DeepEqual(oldInstance.Spec, instance.Spec) { //UserInfo is updated only when spec is changed
}
if !reflect.DeepEqual(oldInstance.Spec, instance.Spec) { //UserInfo is updated only when spec is changed
instance.Spec.UserInfo = &v1.UserInfo{
Username: req.UserInfo.Username,
UID: req.UserInfo.UID,
Expand Down
8 changes: 5 additions & 3 deletions controllers/servicebinding_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,10 @@ import (
"context"
"encoding/json"
"errors"
"net/http"
"strings"

"github.com/lithammer/dedent"
authv1 "k8s.io/api/authentication/v1"
"net/http"
"strings"

"github.com/SAP/sap-btp-service-operator/api/common"
"github.com/SAP/sap-btp-service-operator/internal/utils"
Expand Down Expand Up @@ -159,6 +158,7 @@ var _ = Describe("ServiceBinding controller", func() {
fakeClient.UnbindReturns("", nil)
deleteAndWait(ctx, createdBinding)
}

if createdInstance != nil {
fakeClient.DeprovisionReturns("", nil)
deleteAndWait(ctx, createdInstance)
Expand Down Expand Up @@ -1325,9 +1325,11 @@ stringData:
BeforeEach(func() {
serviceInstanceInAnotherNamespace = createInstance(ctx, instanceName, testNamespace, instanceExternalName)
})

AfterEach(func() {
deleteAndWait(ctx, serviceInstanceInAnotherNamespace)
})

When("binding is created in a different namespace than the instance", func() {
AfterEach(func() {
if crossBinding != nil {
Expand Down
4 changes: 3 additions & 1 deletion controllers/serviceinstance_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,8 @@ func (r *ServiceInstanceReconciler) Reconcile(ctx context.Context, req ctrl.Requ
func (r *ServiceInstanceReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&v1.ServiceInstance{}).
WithOptions(controller.Options{RateLimiter: workqueue.NewItemExponentialFailureRateLimiter(r.Config.RetryBaseDelay, r.Config.RetryMaxDelay)}).Complete(r)
WithOptions(controller.Options{RateLimiter: workqueue.NewItemExponentialFailureRateLimiter(r.Config.RetryBaseDelay, r.Config.RetryMaxDelay)}).
Complete(r)
}

func (r *ServiceInstanceReconciler) createInstance(ctx context.Context, smClient sm.Client, serviceInstance *v1.ServiceInstance) (ctrl.Result, error) {
Expand Down Expand Up @@ -591,6 +592,7 @@ func (r *ServiceInstanceReconciler) buildSMRequestParameters(ctx context.Context
func isFinalState(ctx context.Context, serviceInstance *v1.ServiceInstance) bool {
log := utils.GetLogger(ctx)


if serviceInstance.Status.ForceReconcile {
log.Info("instance is not in final state, ForceReconcile is true")
return false
Expand Down

0 comments on commit 183113e

Please sign in to comment.