Skip to content

Commit

Permalink
Use Subresource client for shoots/binding and drop generated clientset
Browse files Browse the repository at this point in the history
progress
  • Loading branch information
shafeeqes committed Dec 21, 2022
1 parent 4da8d07 commit 2afa5d9
Show file tree
Hide file tree
Showing 10 changed files with 6 additions and 93 deletions.
1 change: 0 additions & 1 deletion pkg/apis/core/v1alpha1/types_shoot.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (

// +genclient
// +genclient:method=CreateAdminKubeconfigRequest,verb=create,subresource=adminkubeconfig,input=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest,result=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest
// +genclient:method=UpdateBinding,verb=update,subresource=binding
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// Shoot represents a Shoot cluster created and managed by Gardener.
Expand Down
1 change: 0 additions & 1 deletion pkg/apis/core/v1beta1/types_shoot.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ import (

// +genclient
// +genclient:method=CreateAdminKubeconfigRequest,verb=create,subresource=adminkubeconfig,input=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest,result=github.com/gardener/gardener/pkg/apis/authentication/v1alpha1.AdminKubeconfigRequest
// +genclient:method=UpdateBinding,verb=update,subresource=binding
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// Shoot represents a Shoot cluster created and managed by Gardener.
Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions pkg/client/core/clientset/versioned/typed/core/v1alpha1/shoot.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 0 additions & 16 deletions pkg/client/core/clientset/versioned/typed/core/v1beta1/shoot.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 1 addition & 8 deletions pkg/scheduler/controller/add.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,14 @@ import (

"sigs.k8s.io/controller-runtime/pkg/manager"

gardenversionedcoreclientset "github.com/gardener/gardener/pkg/client/core/clientset/versioned"
"github.com/gardener/gardener/pkg/scheduler/apis/config"
shoot "github.com/gardener/gardener/pkg/scheduler/controller/shoot"
)

// AddToManager adds all scheduler controllers to the given manager.
func AddToManager(mgr manager.Manager, cfg *config.SchedulerConfiguration) error {
versionedGardenerClient, err := gardenversionedcoreclientset.NewForConfig(mgr.GetConfig())
if err != nil {
return fmt.Errorf("unable to create versioned garden API client: %w", err)
}

if err := (&shoot.Reconciler{
Config: cfg.Schedulers.Shoot,
VersionedGardenerClient: versionedGardenerClient,
Config: cfg.Schedulers.Shoot,
}).AddToManager(mgr); err != nil {
return fmt.Errorf("failed adding Shoot controller: %w", err)
}
Expand Down
10 changes: 4 additions & 6 deletions pkg/scheduler/controller/shoot/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (

gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
gardenversionedcoreclientset "github.com/gardener/gardener/pkg/client/core/clientset/versioned"
"github.com/gardener/gardener/pkg/scheduler/apis/config"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
cidrvalidation "github.com/gardener/gardener/pkg/utils/validation/cidr"
Expand All @@ -39,10 +38,9 @@ import (

// Reconciler schedules shoots to seeds.
type Reconciler struct {
Client client.Client
Config *config.ShootSchedulerConfiguration
VersionedGardenerClient *gardenversionedcoreclientset.Clientset
Recorder record.EventRecorder
Client client.Client
Config *config.ShootSchedulerConfiguration
Recorder record.EventRecorder
}

// Reconcile schedules shoots to seeds.
Expand Down Expand Up @@ -76,7 +74,7 @@ func (r *Reconciler) Reconcile(ctx context.Context, request reconcile.Request) (
}

shoot.Spec.SeedName = &seed.Name
if _, err = r.VersionedGardenerClient.CoreV1beta1().Shoots(shoot.GetNamespace()).UpdateBinding(ctx, shoot.GetName(), shoot, metav1.UpdateOptions{}); err != nil {
if err = r.Client.SubResource("binding").Update(ctx, shoot); err != nil {
log.Error(err, "Failed to bind shoot to seed")
r.reportFailedScheduling(shoot, err)
return reconcile.Result{}, err
Expand Down
9 changes: 1 addition & 8 deletions test/framework/gardener_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ import (

gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
gardenversionedcoreclientset "github.com/gardener/gardener/pkg/client/core/clientset/versioned"
"github.com/gardener/gardener/pkg/client/kubernetes"
gutil "github.com/gardener/gardener/pkg/utils/gardener"
kutil "github.com/gardener/gardener/pkg/utils/kubernetes"
Expand Down Expand Up @@ -413,14 +412,8 @@ func (f *GardenerFramework) MigrateShoot(ctx context.Context, shoot *gardencorev
return err
}

restConfig := f.GardenClient.RESTConfig()
versionedCoreClient, err := gardenversionedcoreclientset.NewForConfig(restConfig)
if err != nil {
return fmt.Errorf("failed create versioned core client: %w", err)
}

shoot.Spec.SeedName = &seed.Name
if _, err = versionedCoreClient.CoreV1beta1().Shoots(shoot.GetNamespace()).UpdateBinding(ctx, shoot.GetName(), shoot, metav1.UpdateOptions{}); err != nil {
if err := f.GardenClient.Client().SubResource("binding").Update(ctx, shoot); err != nil {
return fmt.Errorf("failed updating binding for shoot %q: %w", client.ObjectKeyFromObject(shoot), err)
}

Expand Down

0 comments on commit 2afa5d9

Please sign in to comment.