ceph: create crash collector pods after secret created
there was confusion regarding crash collector pods in pending state which was basically due to secret `rook-ceph-crash-collector-keyring` was not created till mons are in quorum. this commit creates crash collector pods after secret `rook-ceph-crash-collector-keyring` is created. Signed-off-by: subhamkrai <srai@redhat.com>
This commit is contained in:
1 parent
04a226ce52
commit
b4efd9f8f4
1 file changed
+17
@@ -18,6 +18,7 @@ package crash
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/rook/rook/pkg/operator/ceph/cluster/mgr"
|
||||
@@ -25,6 +26,7 @@ import (
|
||||
"github.com/rook/rook/pkg/operator/ceph/cluster/rbd"
|
||||
appsv1 "k8s.io/api/apps/v1"
|
||||
kerrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
|
||||
"github.com/rook/rook/pkg/operator/ceph/file/mds"
|
||||
"github.com/rook/rook/pkg/operator/ceph/file/mirror"
|
||||
@@ -52,6 +54,9 @@ var (
|
||||
logger = capnslog.NewPackageLogger("github.com/rook/rook", controllerName)
|
||||
// Implement reconcile.Reconciler so the controller can reconcile objects
|
||||
_ reconcile.Reconciler = &ReconcileNode{}
|
||||
|
||||
// wait for secret "rook-ceph-crash-collector-keyring" to be created
|
||||
waitForRequeueIfSecretNotCreated = reconcile.Result{Requeue: true, RequeueAfter: 30 * time.Second}
|
||||
)
|
||||
|
||||
// ReconcileNode reconciles ReplicaSets
|
||||
@@ -156,6 +161,18 @@ func (r *ReconcileNode) reconcile(request reconcile.Request) (reconcile.Result,
|
||||
return reconcile.Result{}, nil
|
||||
}
|
||||
|
||||
// checking if secret "rook-ceph-crash-collector-keyring" is present which is required to create crashcollector pods
|
||||
secret := &corev1.Secret{}
|
||||
err = r.client.Get(context.TODO(), types.NamespacedName{Name: crashCollectorKeyName, Namespace: namespace}, secret)
|
||||
if err != nil {
|
||||
if kerrors.IsNotFound(err) {
|
||||
logger.Debugf("secret %q not found. retrying in %q. %v", crashCollectorKeyName, waitForRequeueIfSecretNotCreated.RequeueAfter.String(), err)
|
||||
return waitForRequeueIfSecretNotCreated, nil
|
||||
}
|
||||
|
||||
return reconcile.Result{}, errors.Wrapf(err, "failed to list the %q secret.", crashCollectorKeyName)
|
||||
}
|
||||
|
||||
clusterImage := cephCluster.Spec.CephVersion.Image
|
||||
cephVersion, err := opcontroller.GetImageVersion(cephCluster)
|
||||
if err != nil {
|
||||
|
||||
Reference in new issue
Block a user