Skip to content

Commit 3bf54ac

Browse files
varshaprasad96tmshort
authored andcommitted
✨ Getting cluster extension running (#795)
* Getting cluster extension running * Specify namespace to create secret
1 parent 80e160f commit 3bf54ac

File tree

2 files changed

+16
-19
lines changed

2 files changed

+16
-19
lines changed

cmd/manager/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"go.uber.org/zap/zapcore"
2929
_ "k8s.io/client-go/plugin/pkg/client/auth"
3030
ctrl "sigs.k8s.io/controller-runtime"
31+
"sigs.k8s.io/controller-runtime/pkg/client"
3132
"sigs.k8s.io/controller-runtime/pkg/healthz"
3233
"sigs.k8s.io/controller-runtime/pkg/log/zap"
3334
"sigs.k8s.io/controller-runtime/pkg/metrics/server"
@@ -108,7 +109,9 @@ func main() {
108109
cl := mgr.GetClient()
109110
catalogClient := catalogclient.New(cl, cache.NewFilesystemCache(cachePath, &http.Client{Timeout: 10 * time.Second}))
110111

111-
cfgGetter, err := helmclient.NewActionConfigGetter(mgr.GetConfig(), mgr.GetRESTMapper(), mgr.GetLogger())
112+
cfgGetter, err := helmclient.NewActionConfigGetter(mgr.GetConfig(), mgr.GetRESTMapper(), mgr.GetLogger(), helmclient.StorageNamespaceMapper(func(o client.Object) (string, error) {
113+
return systemNamespace, nil
114+
}))
112115
if err != nil {
113116
setupLog.Error(err, "unable to config for creating helm client")
114117
os.Exit(1)

internal/controllers/clusterextension_controller.go

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,6 @@ type ClusterExtensionReconciler struct {
102102
//+kubebuilder:rbac:groups=catalogd.operatorframework.io,resources=catalogmetadata,verbs=list;watch
103103

104104
func (r *ClusterExtensionReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
105-
fmt.Println("start reconciling")
106-
107105
l := log.FromContext(ctx).WithName("operator-controller")
108106
l.V(1).Info("starting")
109107
defer l.V(1).Info("ending")
@@ -159,21 +157,18 @@ func checkForUnexpectedFieldChange(a, b ocv1alpha1.ClusterExtension) bool {
159157
//nolint:unparam
160158
func (r *ClusterExtensionReconciler) reconcile(ctx context.Context, ext *ocv1alpha1.ClusterExtension) (ctrl.Result, error) {
161159
// run resolution
162-
fmt.Println("reconciling!!!")
163160
bundle, err := r.resolve(ctx, *ext)
164161
if err != nil {
165162
// set right statuses
166-
return ctrl.Result{}, fmt.Errorf("error resolving: %v", err)
163+
return ctrl.Result{}, err
167164
}
168165

169166
bundleVersion, err := bundle.Version()
170167
if err != nil {
171168
setInstalledStatusConditionFailed(&ext.Status.Conditions, fmt.Sprintf("%s:%v", "unable to get resolved bundle version", err), ext.Generation)
172-
return ctrl.Result{}, fmt.Errorf("error bundleVersion: %v", err)
169+
return ctrl.Result{}, err
173170
}
174171

175-
fmt.Printf("bundle Version %q", bundleVersion)
176-
177172
// Now we can set the Resolved Condition, and the resolvedBundleSource field to the bundle.Image value.
178173
ext.Status.ResolvedBundle = bundleMetadataFor(bundle)
179174
setResolvedStatusConditionSuccess(&ext.Status.Conditions, fmt.Sprintf("resolved to %q", bundle.Image), ext.GetGeneration())
@@ -185,10 +180,9 @@ func (r *ClusterExtensionReconciler) reconcile(ctx context.Context, ext *ocv1alp
185180
bs := r.GenerateExpectedBundleSource(bundle.Image)
186181
unpackResult, err := r.Unpacker.Unpack(ctx, bs, ext)
187182
if err != nil {
188-
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, fmt.Errorf("source bundle content: %v", err))
183+
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, err)
189184
}
190185

191-
fmt.Println("unpack state", unpackResult.State)
192186
switch unpackResult.State {
193187
case rukpaksource.StatePending:
194188
updateStatusUnpackPending(&ext.Status, unpackResult)
@@ -200,15 +194,15 @@ func (r *ClusterExtensionReconciler) reconcile(ctx context.Context, ext *ocv1alp
200194
return ctrl.Result{}, nil
201195
case rukpaksource.StateUnpacked:
202196
if err := r.Storage.Store(ctx, ext, unpackResult.Bundle); err != nil {
203-
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, fmt.Errorf("persist bundle content: %v", err))
197+
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, err)
204198
}
205199
contentURL, err := r.Storage.URLFor(ctx, ext)
206200
if err != nil {
207-
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, fmt.Errorf("get content URL: %v", err))
201+
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, err)
208202
}
209203
updateStatusUnpacked(&ext.Status, unpackResult, contentURL)
210204
default:
211-
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, fmt.Errorf("unknown unpack state %q: %v", unpackResult.State, err))
205+
return ctrl.Result{}, updateStatusUnpackFailing(&ext.Status, err)
212206
}
213207

214208
bundleFS, err := r.Storage.Load(ctx, ext)
@@ -233,7 +227,6 @@ func (r *ClusterExtensionReconciler) reconcile(ctx context.Context, ext *ocv1alp
233227
return ctrl.Result{}, err
234228
}
235229

236-
ext.SetNamespace(r.ReleaseNamespace)
237230
ac, err := r.ActionClientGetter.ActionClientFor(ext)
238231
if err != nil {
239232
setInstalledStatusConditionFailed(&ext.Status.Conditions, fmt.Sprintf("%s:%v", ocv1alpha1.ReasonErrorGettingClient, err), ext.Generation)
@@ -480,6 +473,7 @@ func (r *ClusterExtensionReconciler) SetupWithManager(mgr ctrl.Manager) error {
480473
}
481474
r.controller = controller
482475
r.cache = mgr.GetCache()
476+
r.dynamicWatchGVKs = map[schema.GroupVersionKind]struct{}{}
483477
return nil
484478
}
485479

@@ -561,7 +555,7 @@ func clusterExtensionRequestsForCatalog(c client.Reader, logger logr.Logger) crh
561555
func (r *ClusterExtensionReconciler) resolve(ctx context.Context, clusterExtension ocv1alpha1.ClusterExtension) (*catalogmetadata.Bundle, error) {
562556
allBundles, err := r.BundleProvider.Bundles(ctx)
563557
if err != nil {
564-
return nil, fmt.Errorf("error listing bundles: %v", err)
558+
return nil, err
565559
}
566560

567561
// TODO: change clusterExtension spec to contain a source field.
@@ -590,7 +584,7 @@ func (r *ClusterExtensionReconciler) resolve(ctx context.Context, clusterExtensi
590584
if clusterExtension.Spec.UpgradeConstraintPolicy != ocv1alpha1.UpgradeConstraintPolicyIgnore {
591585
installedVersionSemver, err := r.getInstalledVersion(clusterExtension)
592586
if err != nil && !apierrors.IsNotFound(err) {
593-
return nil, fmt.Errorf("err: %v", err)
587+
return nil, err
594588
}
595589
if installedVersionSemver != nil {
596590
installedVersion = installedVersionSemver.String()
@@ -644,7 +638,7 @@ func (r *ClusterExtensionReconciler) getInstalledVersion(clusterExtension ocv1al
644638
// get the chart annotations.
645639
release, err := cl.Get(clusterExtension.GetName())
646640
if err != nil && !errors.Is(err, driver.ErrReleaseNotFound) {
647-
return nil, fmt.Errorf("error fetching chart: %v", err)
641+
return nil, err
648642
}
649643
if release == nil {
650644
return nil, nil
@@ -742,12 +736,12 @@ func (p *postrenderer) Run(renderedManifests *bytes.Buffer) (*bytes.Buffer, erro
742736
break
743737
}
744738
if err != nil {
745-
return nil, fmt.Errorf("error decoding objeccts %v", err)
739+
return nil, err
746740
}
747741
obj.SetLabels(util.MergeMaps(obj.GetLabels(), p.labels))
748742
b, err := obj.MarshalJSON()
749743
if err != nil {
750-
return nil, fmt.Errorf("error marshalling: %v", err)
744+
return nil, err
751745
}
752746
buf.Write(b)
753747
}

0 commit comments

Comments
 (0)