Skip to content

Commit

Permalink
Switch to logr for terraformer and infrastructure actuator/test
Browse files Browse the repository at this point in the history
  • Loading branch information
timebertt committed Nov 25, 2020
1 parent 5d617d2 commit ea6e1a7
Show file tree
Hide file tree
Showing 6 changed files with 136 additions and 117 deletions.
17 changes: 10 additions & 7 deletions pkg/controller/infrastructure/actuator_delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,18 @@ import (
"context"
"time"

"github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/terraformer"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/utils/flow"
kutils "github.com/gardener/gardener/pkg/utils/kubernetes"

api "github.com/gardener/gardener-extension-provider-gcp/pkg/apis/gcp"
"github.com/gardener/gardener-extension-provider-gcp/pkg/apis/gcp/helper"
"github.com/gardener/gardener-extension-provider-gcp/pkg/gcp"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal"
gcpclient "github.com/gardener/gardener-extension-provider-gcp/pkg/internal/client"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/infrastructure"
"github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/terraformer"

extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/utils/flow"
)

func (a *actuator) cleanupKubernetesFirewallRules(
Expand Down Expand Up @@ -71,7 +72,9 @@ func (a *actuator) cleanupKubernetesRoutes(

// Delete implements infrastructure.Actuator.
func (a *actuator) Delete(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *controller.Cluster) error {
tf, err := internal.NewTerraformer(a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
logger := a.logger.WithValues("infrastructure", kutils.KeyFromObject(infra), "operation", "delete")

tf, err := internal.NewTerraformer(logger, a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
if err != nil {
return err
}
Expand All @@ -85,7 +88,7 @@ func (a *actuator) Delete(ctx context.Context, infra *extensionsv1alpha1.Infrast
// created configmaps/secrets related to the Terraformer.
stateIsEmpty := tf.IsStateEmpty(ctx)
if stateIsEmpty {
a.logger.Info("exiting early as infrastructure state is empty - nothing to do")
logger.Info("exiting early as infrastructure state is empty - nothing to do")
return tf.CleanupConfiguration(ctx)
}

Expand Down
11 changes: 7 additions & 4 deletions pkg/controller/infrastructure/actuator_migrate.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,19 @@ package infrastructure
import (
"context"

"github.com/gardener/gardener-extension-provider-gcp/pkg/internal"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/infrastructure"
"github.com/gardener/gardener/extensions/pkg/controller"

extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
kutils "github.com/gardener/gardener/pkg/utils/kubernetes"

"github.com/gardener/gardener-extension-provider-gcp/pkg/internal"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/infrastructure"
)

// Migrate implements infrastructure.Actuator.
func (a *actuator) Migrate(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *controller.Cluster) error {
tf, err := internal.NewTerraformer(a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
logger := a.logger.WithValues("infrastructure", kutils.KeyFromObject(infra), "operation", "migrate")

tf, err := internal.NewTerraformer(logger, a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
if err != nil {
return err
}
Expand Down
17 changes: 10 additions & 7 deletions pkg/controller/infrastructure/actuator_reconcile.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,25 @@ package infrastructure
import (
"context"

"github.com/gardener/gardener-extension-provider-gcp/pkg/apis/gcp/helper"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/infrastructure"

"github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/terraformer"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
kutils "github.com/gardener/gardener/pkg/utils/kubernetes"
"github.com/go-logr/logr"
"github.com/pkg/errors"

"github.com/gardener/gardener-extension-provider-gcp/pkg/apis/gcp/helper"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/infrastructure"
)

// Reconcile implements infrastructure.Actuator.
func (a *actuator) Reconcile(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *controller.Cluster) error {
return a.reconcile(ctx, infra, cluster, terraformer.StateConfigMapInitializerFunc(terraformer.CreateState))
logger := a.logger.WithValues("infrastructure", kutils.KeyFromObject(infra), "operation", "reconcile")
return a.reconcile(ctx, logger, infra, cluster, terraformer.StateConfigMapInitializerFunc(terraformer.CreateState))
}

func (a *actuator) reconcile(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, _ *controller.Cluster, stateInitializer terraformer.StateConfigMapInitializer) error {
func (a *actuator) reconcile(ctx context.Context, logger logr.Logger, infra *extensionsv1alpha1.Infrastructure, _ *controller.Cluster, stateInitializer terraformer.StateConfigMapInitializer) error {
config, err := helper.InfrastructureConfigFromInfrastructure(infra)
if err != nil {
return err
Expand All @@ -48,7 +51,7 @@ func (a *actuator) reconcile(ctx context.Context, infra *extensionsv1alpha1.Infr
return err
}

tf, err := internal.NewTerraformerWithAuth(a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
tf, err := internal.NewTerraformerWithAuth(logger, a.RESTConfig(), infrastructure.TerraformerPurpose, infra)
if err != nil {
return err
}
Expand Down
5 changes: 4 additions & 1 deletion pkg/controller/infrastructure/actuator_restore.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,16 @@ import (
"github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/terraformer"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
kutils "github.com/gardener/gardener/pkg/utils/kubernetes"
)

// Restore implements infrastructure.Actuator.
func (a *actuator) Restore(ctx context.Context, infra *extensionsv1alpha1.Infrastructure, cluster *controller.Cluster) error {
logger := a.logger.WithValues("infrastructure", kutils.KeyFromObject(infra), "operation", "restore")

terraformState, err := terraformer.UnmarshalRawState(infra.Status.State)
if err != nil {
return err
}
return a.reconcile(ctx, infra, cluster, terraformer.CreateOrUpdateState{State: &terraformState.Data})
return a.reconcile(ctx, logger, infra, cluster, terraformer.CreateOrUpdateState{State: &terraformState.Data})
}
14 changes: 8 additions & 6 deletions pkg/internal/terraform.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ import (
"encoding/json"
"time"

"github.com/gardener/gardener-extension-provider-gcp/pkg/gcp"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/imagevector"

"github.com/gardener/gardener/extensions/pkg/terraformer"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
"github.com/gardener/gardener/pkg/logger"
"github.com/go-logr/logr"
corev1 "k8s.io/api/core/v1"
"k8s.io/client-go/rest"

"github.com/gardener/gardener-extension-provider-gcp/pkg/gcp"
"github.com/gardener/gardener-extension-provider-gcp/pkg/internal/imagevector"
)

const (
Expand All @@ -49,11 +49,12 @@ func TerraformerVariablesEnvironmentFromServiceAccount(account *gcp.ServiceAccou

// NewTerraformer initializes a new Terraformer.
func NewTerraformer(
logger logr.Logger,
restConfig *rest.Config,
purpose string,
infra *extensionsv1alpha1.Infrastructure,
) (terraformer.Terraformer, error) {
tf, err := terraformer.NewForConfig(logger.NewLogger("info"), restConfig, purpose, infra.Namespace, infra.Name, imagevector.TerraformerImage())
tf, err := terraformer.NewForConfig(logger, restConfig, purpose, infra.Namespace, infra.Name, imagevector.TerraformerImage())
if err != nil {
return nil, err
}
Expand All @@ -68,11 +69,12 @@ func NewTerraformer(

// NewTerraformerWithAuth initializes a new Terraformer that has the ServiceAccount credentials.
func NewTerraformerWithAuth(
logger logr.Logger,
restConfig *rest.Config,
purpose string,
infra *extensionsv1alpha1.Infrastructure,
) (terraformer.Terraformer, error) {
tf, err := NewTerraformer(restConfig, purpose, infra)
tf, err := NewTerraformer(logger, restConfig, purpose, infra)
if err != nil {
return nil, err
}
Expand Down
Loading

0 comments on commit ea6e1a7

Please sign in to comment.