Skip to content
Open
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
38 changes: 19 additions & 19 deletions pkg/operator/hypershift/deploymentversion/version_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,39 +43,39 @@ const (
// Currently, this controller is supposed to be used only for Deployments residing in HyperShift
// control planes.
type DeploymentVersionController struct {
name string
controlPlaneNamespace string
controllerDeploymentName string
deploymentInformer appsinformersv1.DeploymentInformer
operatorClient v1helpers.OperatorClientWithFinalizers
controlPlaneKubeClient kubernetes.Interface
eventRecorder events.Recorder
name string
controlPlaneNamespace string
controllerDeploymentName string
managementClusterDeploymentInformer appsinformersv1.DeploymentInformer
operatorClient v1helpers.OperatorClientWithFinalizers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we rename this to guestClusterOperatorClient ?

managementClusterKubeClient kubernetes.Interface
eventRecorder events.Recorder
}

func NewDeploymentVersionController(
name string,
controlPlaneNamespace string,
controllerDeploymentName string,
deploymentInformer appsinformersv1.DeploymentInformer,
managementClusterDeploymentInformer appsinformersv1.DeploymentInformer,
operatorClient v1helpers.OperatorClientWithFinalizers,
controlPlaneKubeClient kubernetes.Interface,
managementClusterKubeClient kubernetes.Interface,
eventRecorder events.Recorder) factory.Controller {

c := &DeploymentVersionController{
name: name,
controlPlaneNamespace: controlPlaneNamespace,
controllerDeploymentName: controllerDeploymentName,
deploymentInformer: deploymentInformer,
operatorClient: operatorClient,
controlPlaneKubeClient: controlPlaneKubeClient,
eventRecorder: eventRecorder,
name: name,
controlPlaneNamespace: controlPlaneNamespace,
controllerDeploymentName: controllerDeploymentName,
managementClusterDeploymentInformer: managementClusterDeploymentInformer,
operatorClient: operatorClient,
managementClusterKubeClient: managementClusterKubeClient,
eventRecorder: eventRecorder,
}
return factory.New().WithSync(
c.Sync,
).WithSyncDegradedOnError(
operatorClient,
).WithInformers(
c.deploymentInformer.Informer(),
c.managementClusterDeploymentInformer.Informer(),
).ResyncEvery(
defaultReSyncPeriod,
).ToController(
Expand Down Expand Up @@ -112,7 +112,7 @@ func (c *DeploymentVersionController) Sync(ctx context.Context, syncCtx factory.
return nil
}

deployment, err := c.deploymentInformer.Lister().Deployments(c.controlPlaneNamespace).Get(c.controllerDeploymentName)
deployment, err := c.managementClusterDeploymentInformer.Lister().Deployments(c.controlPlaneNamespace).Get(c.controllerDeploymentName)
if err != nil {
return fmt.Errorf("could not get Deployment %s in Namespace %s: %w", c.controllerDeploymentName, c.controlPlaneNamespace, err)
}
Expand Down Expand Up @@ -149,7 +149,7 @@ func (c *DeploymentVersionController) Sync(ctx context.Context, syncCtx factory.
}

func (c *DeploymentVersionController) updateDeployment(ctx context.Context, deployment *appsv1.Deployment) error {
_, err := c.controlPlaneKubeClient.AppsV1().Deployments(c.controlPlaneNamespace).Update(ctx, deployment, metav1.UpdateOptions{})
_, err := c.managementClusterKubeClient.AppsV1().Deployments(c.controlPlaneNamespace).Update(ctx, deployment, metav1.UpdateOptions{})
if err != nil {
klog.Errorf("error updating deployment object %s in namespace %s: %v", deployment.Name, c.controlPlaneNamespace, err)
return err
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ const (
)

type testContext struct {
controller factory.Controller
controlPlaneKubeClient kubernetes.Interface
deploymentInformer appsinformersv1.DeploymentInformer
controller factory.Controller
managementClusterKubeClient kubernetes.Interface
managementClusterDeploymentInformer appsinformersv1.DeploymentInformer
}

type syncTestCase struct {
Expand All @@ -54,13 +54,13 @@ func newTestContext(test syncTestCase, t *testing.T) *testContext {
if test.inputDeployment != nil {
initialObjects = append(initialObjects, test.inputDeployment)
}
controlPlaneKubeClient := fakecore.NewSimpleClientset(initialObjects...)
managementClusterKubeClient := fakecore.NewSimpleClientset(initialObjects...)

coreInformerFactory := coreinformers.NewSharedInformerFactory(controlPlaneKubeClient, 0 /*no resync */)
deploymentInformer := coreInformerFactory.Apps().V1().Deployments()
coreInformerFactory := coreinformers.NewSharedInformerFactory(managementClusterKubeClient, 0 /*no resync */)
managementClusterDeploymentInformer := coreInformerFactory.Apps().V1().Deployments()

if test.inputDeployment != nil {
deploymentInformer.Informer().GetIndexer().Add(test.inputDeployment)
managementClusterDeploymentInformer.Informer().GetIndexer().Add(test.inputDeployment)
}

managementState := operatorapi.Managed
Expand All @@ -79,15 +79,15 @@ func newTestContext(test syncTestCase, t *testing.T) *testContext {
controllerName,
operandNamespace,
operandName,
deploymentInformer,
managementClusterDeploymentInformer,
fakeOperatorClient,
controlPlaneKubeClient,
managementClusterKubeClient,
eventRecorder)

return &testContext{
controller: controller,
controlPlaneKubeClient: controlPlaneKubeClient,
deploymentInformer: deploymentInformer,
controller: controller,
managementClusterKubeClient: managementClusterKubeClient,
managementClusterDeploymentInformer: managementClusterDeploymentInformer,
}
}

Expand Down Expand Up @@ -214,7 +214,7 @@ func TestSync(t *testing.T) {
}

// Assert
deployment, err := ctx.controlPlaneKubeClient.AppsV1().Deployments(operandNamespace).Get(context.TODO(), operandName, metav1.GetOptions{})
deployment, err := ctx.managementClusterKubeClient.AppsV1().Deployments(operandNamespace).Get(context.TODO(), operandName, metav1.GetOptions{})
if err != nil {
if test.expectedDeployment == nil && apierrors.IsNotFound(err) {
return
Expand Down