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
65 changes: 7 additions & 58 deletions cmd/capi-operator/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@ import (

appsv1 "k8s.io/api/apps/v1"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
"k8s.io/apimachinery/pkg/runtime"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/client-go/kubernetes"
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
"k8s.io/utils/ptr"

Expand All @@ -41,7 +39,6 @@ import (

"github.com/openshift/cluster-capi-operator/pkg/commoncmdoptions"
"github.com/openshift/cluster-capi-operator/pkg/controllers"
"github.com/openshift/cluster-capi-operator/pkg/controllers/capiinstaller"
"github.com/openshift/cluster-capi-operator/pkg/controllers/clusteroperator"
"github.com/openshift/cluster-capi-operator/pkg/controllers/installer"
"github.com/openshift/cluster-capi-operator/pkg/controllers/revision"
Expand Down Expand Up @@ -155,22 +152,22 @@ func setupControllers(ctx context.Context, log logr.Logger, mgr ctrl.Manager, op
return nil
}

containerImages, providerProfiles, err := loadProviderImages(ctx, mgr, imagesFile)
providerProfiles, err := loadProviderImages(ctx, mgr, imagesFile)
if err != nil {
return err
}

if err := setupCapiInstallerController(mgr, log, opts, platform, containerImages, providerProfiles); err != nil {
if err := setupCapiInstallerController(mgr, log, providerProfiles); err != nil {
return err
}

return nil
}

func loadProviderImages(ctx context.Context, mgr ctrl.Manager, imagesFile string) (map[string]string, []providerimages.ProviderImageManifests, error) {
func loadProviderImages(ctx context.Context, mgr ctrl.Manager, imagesFile string) ([]providerimages.ProviderImageManifests, error) {
containerImages, err := util.ReadImagesFile(imagesFile)
if err != nil {
return nil, nil, fmt.Errorf("unable to get images from file: %w", err)
return nil, fmt.Errorf("unable to get images from file: %w", err)
}

providerImageDir := os.Getenv(providerImageDirEnvVar)
Expand All @@ -182,27 +179,13 @@ func loadProviderImages(ctx context.Context, mgr ctrl.Manager, imagesFile string

providerProfiles, err := providerimages.ReadProviderImages(ctx, mgr.GetAPIReader(), mgr.GetLogger(), containerImageRefs, providerImageDir)
if err != nil {
return nil, nil, fmt.Errorf("unable to get provider image metadata: %w", err)
return nil, fmt.Errorf("unable to get provider image metadata: %w", err)
}

return containerImages, providerProfiles, nil
return providerProfiles, nil
}

func setupCapiInstallerController(mgr ctrl.Manager, log logr.Logger, opts *commoncmdoptions.CommonOptions, platform configv1.PlatformType, containerImages map[string]string, providerProfiles []providerimages.ProviderImageManifests) error {
applyClient, err := kubernetes.NewForConfig(mgr.GetConfig())
if err != nil {
return fmt.Errorf("unable to set up apply client: %w", err)
}

apiextensionsClient, err := apiextensionsclient.NewForConfig(mgr.GetConfig())
if err != nil {
return fmt.Errorf("unable to set up api extensions client: %w", err)
}

if err := setFeatureGatesEnvVars(); err != nil {
return fmt.Errorf("unable to set feature gates environment variables: %w", err)
}

func setupCapiInstallerController(mgr ctrl.Manager, log logr.Logger, providerProfiles []providerimages.ProviderImageManifests) error {
if err := (&revision.RevisionController{
Client: mgr.GetClient(),
ProviderProfiles: providerProfiles,
Expand All @@ -216,39 +199,5 @@ func setupCapiInstallerController(mgr ctrl.Manager, log logr.Logger, opts *commo
return fmt.Errorf("unable to create installer controller: %w", err)
}

if err := (&capiinstaller.CapiInstallerController{
ClusterOperatorStatusClient: opts.GetClusterOperatorStatusClient(mgr, platform, "installer"),
Scheme: mgr.GetScheme(),
Images: containerImages,
ProviderImages: providerProfiles,
RestCfg: mgr.GetConfig(),
Platform: platform,
ApplyClient: applyClient,
APIExtensionsClient: apiextensionsClient,
}).SetupWithManager(mgr); err != nil {
return fmt.Errorf("unable to create capi installer controller: %w", err)
}

return nil
}

// setFeatureGatesEnvVars sets the explicit values for the listed feature gates in the environment.
// These will then be loaded by envsubst and templated into the applied CAPI manifests.
//
// XXX: This function is unrelated to feature gates. It sets a single
// environment variable which applies only to the AWS provider. It is replaced
// by logic in revisiongenerator, and can be removed when the capiinstaller
// controller is removed.
func setFeatureGatesEnvVars() error {
featureGates := map[string]string{
"EXP_BOOTSTRAP_FORMAT_IGNITION": "true",
}

for k, v := range featureGates {
if err := os.Setenv(k, v); err != nil {
return fmt.Errorf("error setting environment variable: %s: %w", k, err)
}
}

return nil
}
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@ require (
github.com/google/go-containerregistry v0.20.7
github.com/google/uuid v1.6.0
github.com/gophercloud/gophercloud/v2 v2.10.0
github.com/klauspost/compress v1.18.1
github.com/metal3-io/cluster-api-provider-metal3/api v1.11.2
github.com/onsi/ginkgo/v2 v2.28.1
github.com/onsi/gomega v1.39.1
Expand Down Expand Up @@ -269,6 +268,7 @@ require (
github.com/karamaru-alpha/copyloopvar v1.2.2 // indirect
github.com/kisielk/errcheck v1.10.0 // indirect
github.com/kkHAIKE/contextcheck v1.1.6 // indirect
github.com/klauspost/compress v1.18.1 // indirect
github.com/kulti/thelper v0.7.1 // indirect
github.com/kunwardeep/paralleltest v1.0.15 // indirect
github.com/kylelemons/godebug v1.1.0 // indirect
Expand Down
104 changes: 0 additions & 104 deletions pkg/controllers/capiinstaller/apiextensions.go

This file was deleted.

Loading