mirror of
https://github.com/vmware-tanzu/velero.git
synced 2026-01-08 14:21:18 +00:00
Minor kubebuilder related items to clean up (#3180)
* Remove unnecessary files Signed-off-by: Carlisia <carlisia@vmware.com> * Switch to CAPI patch function for updates Signed-off-by: Carlisia <carlisia@vmware.com> * Improve table test format Signed-off-by: Carlisia <carlisia@vmware.com> * Refactor and add test for disabling controller Signed-off-by: Carlisia <carlisia@vmware.com> * Add tests Signed-off-by: Carlisia <carlisia@vmware.com> * Change test to use real word Signed-off-by: Carlisia <carlisia@vmware.com> * Fix CI Signed-off-by: Carlisia <carlisia@vmware.com> * Minor test fixes Signed-off-by: Carlisia <carlisia@vmware.com> * Remove rback/role generation Signed-off-by: Carlisia <carlisia@vmware.com>
This commit is contained in:
committed by
GitHub
parent
56550386e0
commit
9e29e50773
@@ -23,13 +23,17 @@ import (
|
||||
"github.com/pkg/errors"
|
||||
"github.com/sirupsen/logrus"
|
||||
apierrors "k8s.io/apimachinery/pkg/api/errors"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/util/clock"
|
||||
"sigs.k8s.io/cluster-api/util/patch"
|
||||
ctrl "sigs.k8s.io/controller-runtime"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
"sigs.k8s.io/controller-runtime/pkg/controller"
|
||||
|
||||
"github.com/vmware-tanzu/velero/internal/velero"
|
||||
velerov1api "github.com/vmware-tanzu/velero/pkg/apis/velero/v1"
|
||||
"github.com/vmware-tanzu/velero/pkg/buildinfo"
|
||||
"github.com/vmware-tanzu/velero/pkg/plugin/framework"
|
||||
)
|
||||
|
||||
@@ -45,10 +49,11 @@ type PluginLister interface {
|
||||
|
||||
// ServerStatusRequestReconciler reconciles a ServerStatusRequest object
|
||||
type ServerStatusRequestReconciler struct {
|
||||
Scheme *runtime.Scheme
|
||||
Client client.Client
|
||||
Ctx context.Context
|
||||
ServerStatus velero.ServerStatus
|
||||
Scheme *runtime.Scheme
|
||||
Client client.Client
|
||||
Ctx context.Context
|
||||
PluginRegistry PluginLister
|
||||
Clock clock.Clock
|
||||
|
||||
Log logrus.FieldLogger
|
||||
}
|
||||
@@ -85,14 +90,26 @@ func (r *ServerStatusRequestReconciler) Reconcile(req ctrl.Request) (ctrl.Result
|
||||
case "", velerov1api.ServerStatusRequestPhaseNew:
|
||||
log.Info("Processing new ServerStatusRequest")
|
||||
|
||||
if err := r.ServerStatus.PatchStatusProcessed(r.Client, statusRequest, r.Ctx); err != nil {
|
||||
log.WithError(err).Error("Unable to update the request")
|
||||
// Initialize the patch helper.
|
||||
patchHelper, err := patch.NewHelper(statusRequest, r.Client)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("Error getting a patch helper to update this resource")
|
||||
return ctrl.Result{}, err
|
||||
}
|
||||
|
||||
statusRequest.Status.ServerVersion = buildinfo.Version
|
||||
statusRequest.Status.Phase = velerov1api.ServerStatusRequestPhaseProcessed
|
||||
statusRequest.Status.ProcessedTimestamp = &metav1.Time{Time: r.Clock.Now()}
|
||||
statusRequest.Status.Plugins = velero.GetInstalledPluginInfo(r.PluginRegistry)
|
||||
|
||||
if err := patchHelper.Patch(r.Ctx, statusRequest); err != nil {
|
||||
log.WithError(err).Error("Error updating ServerStatusRequest status")
|
||||
return ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, err
|
||||
}
|
||||
case velerov1api.ServerStatusRequestPhaseProcessed:
|
||||
log.Debug("Checking whether ServerStatusRequest has expired")
|
||||
expiration := statusRequest.Status.ProcessedTimestamp.Add(ttl)
|
||||
if expiration.After(r.ServerStatus.Clock.Now()) {
|
||||
if expiration.After(r.Clock.Now()) {
|
||||
log.Debug("ServerStatusRequest has not expired")
|
||||
return ctrl.Result{RequeueAfter: statusRequestResyncPeriod}, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user