diff --git a/internal/controllers/machine_controller.go b/internal/controllers/machine_controller.go index 82945fb6..933be855 100644 --- a/internal/controllers/machine_controller.go +++ b/internal/controllers/machine_controller.go @@ -221,7 +221,13 @@ func (r *MachineReconciler) Start(ctx context.Context) error { } func (r *MachineReconciler) startCheckAndEnqueueVolumeResize(ctx context.Context, log logr.Logger) { + if r.resyncIntervalVolumeSize == 0 { + log.V(1).Info("volume resize trigger loop is disabled") + return + } + wait.UntilWithContext(ctx, func(ctx context.Context) { + log.V(1).Info("starting volume resize trigger loop") machines, err := r.machines.List(ctx) if err != nil { log.Error(err, "failed to list machines") @@ -306,6 +312,7 @@ func (r *MachineReconciler) startEnqueueMachineByLibvirtEvent(ctx context.Contex func (r *MachineReconciler) startGarbageCollector(ctx context.Context, log logr.Logger) { wait.UntilWithContext(ctx, func(ctx context.Context) { + log.V(1).Info("starting garbage-collector loop") machines, err := r.machines.List(ctx) if err != nil { log.Error(err, "failed to list machines") diff --git a/internal/plugins/volume/ceph/size.go b/internal/plugins/volume/ceph/size.go index de0e031d..211d06e4 100644 --- a/internal/plugins/volume/ceph/size.go +++ b/internal/plugins/volume/ceph/size.go @@ -41,6 +41,7 @@ func connectToRados(ctx context.Context, monitors, user, keyfile string) (*rados if err != nil { return nil, fmt.Errorf("creating a new connection failed: %w", err) } + err = conn.ParseCmdLineArgs(args) if err != nil { return nil, fmt.Errorf("parsing cmdline args (%v) failed: %w", args, err) @@ -108,13 +109,15 @@ func (p *plugin) GetSize(ctx context.Context, spec *api.VolumeSpec) (int64, erro if err != nil { return 0, fmt.Errorf("failed to open connection: %w", err) } + defer conn.Shutdown() ioCtx, err := conn.OpenIOContext(poolName) if err != nil { return 0, fmt.Errorf("failed to open io context: %w", err) } + defer ioCtx.Destroy() - image, err := rbd.OpenImage(ioCtx, imageName, rbd.NoSnapshot) + image, err := rbd.OpenImageReadOnly(ioCtx, imageName, rbd.NoSnapshot) if err != nil { return 0, fmt.Errorf("failed to open image: %w", err) }