clusterspace

package
v0.0.0-...-2da05cd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 3, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OpenEBSDiskSpaceValidator

type OpenEBSDiskSpaceValidator struct {
	// contains filtered or unexported fields
}

OpenEBSDiskSpaceValidator checks if we have enough disk space on the cluster to migrate volumes to openebs.

func NewOpenEBSDiskSpaceValidator

func NewOpenEBSDiskSpaceValidator(cfg *rest.Config, log *log.Logger, image, srcSC, dstSC string) (*OpenEBSDiskSpaceValidator, error)

NewOpenEBSDiskSpaceValidator returns a disk free analyser for openebs storage local volume provisioner.

func (*OpenEBSDiskSpaceValidator) NodesWithoutSpace

func (o *OpenEBSDiskSpaceValidator) NodesWithoutSpace(ctx context.Context) ([]string, error)

Check verifies if we have enough disk space to execute the migration. returns a list of nodes where the migration can't execute due to a possible lack of disk space.

type OpenEBSFreeDiskSpaceGetter

type OpenEBSFreeDiskSpaceGetter struct {
	// contains filtered or unexported fields
}

func NewOpenEBSFreeDiskSpaceGetter

func NewOpenEBSFreeDiskSpaceGetter(kcli kubernetes.Interface, log *log.Logger, image, scname string) (*OpenEBSFreeDiskSpaceGetter, error)

NewOpenEBSFreeDiskSpaceGetter returns an object capable of retrieving the volumes assigned to OpenEBS in all cluster nodes. based on the volumes one can verify how much free space exists in the nodes.

func (*OpenEBSFreeDiskSpaceGetter) OpenEBSVolumes

func (o *OpenEBSFreeDiskSpaceGetter) OpenEBSVolumes(ctx context.Context) (map[string]OpenEBSVolume, error)

OpenEBSVolumes attempts to gather the free and used disk space for the openebs volume in all nodes in the cluster. this function creates a temporary pod in each of the nodes of the cluster, the pod runs a "df" command and we parse its output.

type OpenEBSVolume

type OpenEBSVolume struct {
	Free       int64
	Used       int64
	RootVolume bool
}

OpenEBSVolume represents an OpenEBS volume in a node. Holds space related information and a flag indicating if the volume is part of the root (/) volume.

type RookDiskSpaceValidator

type RookDiskSpaceValidator struct {
	// contains filtered or unexported fields
}

RookDiskSpaceValidator checks if we have enough disk space to migrate volumes to rook.

func NewRookDiskSpaceValidator

func NewRookDiskSpaceValidator(cfg *rest.Config, log *log.Logger, srcSC, dstSC string) (*RookDiskSpaceValidator, error)

NewRookDiskSpaceValidator returns a disk free analyser for rook storage provisioner.

func (*RookDiskSpaceValidator) HasEnoughDiskSpace

func (r *RookDiskSpaceValidator) HasEnoughDiskSpace(ctx context.Context) (bool, error)

Check verifies if there is enough ceph disk space to migrate from the source storage class.

type RookFreeDiskSpaceGetter

type RookFreeDiskSpaceGetter struct {
	// contains filtered or unexported fields
}

func NewRookFreeDiskSpaceGetter

func NewRookFreeDiskSpaceGetter(kcli kubernetes.Interface, rcli rookcli.Interface, scname string) (*RookFreeDiskSpaceGetter, error)

NewRookFreeDiskSpaceGetter returns a disk free getter for rook storage provisioner.

func (*RookFreeDiskSpaceGetter) GetFreeSpace

func (r *RookFreeDiskSpaceGetter) GetFreeSpace(ctx context.Context) (int64, error)

GetFreeSpace attempts to get the ceph free space. returns the number of available bytes.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL