- // Set CollectdConf instance as the owner and controller
- if err := controllerutil.SetControllerReference(instance, ds, r.scheme); err != nil {
- return reconcile.Result{}, err
+ // Handle the reconciliation for CollectdPlugin.
+ // At this stage the Status of the CollectdPlugin should NOT be ""
+ err = r.handleCollectdPlugin(reqLogger, instance, false)
+ return reconcile.Result{}, err
+}
+
+// handleCollectdPlugin regenerates the collectd conf on CR Create, Update, Delete events
+func (r *ReconcileCollectdPlugin) handleCollectdPlugin(reqLogger logr.Logger, cr *onapv1alpha1.CollectdPlugin, isDelete bool) error {
+
+ rmap, err := collectdutils.FindResourceMapForCR(r.client, reqLogger, cr.Namespace)
+ if err != nil {
+ reqLogger.Error(err, "Skip reconcile: Resources not found")
+ return err
+ }
+
+ cm := rmap.ConfigMap
+ reqLogger.V(1).Info("Found ResourceMap")
+ reqLogger.V(1).Info(":::: ConfigMap Info ::::", "ConfigMap.Namespace", cm.Namespace, "ConfigMap.Name", cm.Name)
+
+ collectdConf, err := collectdutils.RebuildCollectdConf(r.client, cr.Namespace, isDelete, cr.Spec.PluginName)
+ if err != nil {
+ reqLogger.Error(err, "Skip reconcile: Rebuild conf failed")
+ return err