util

package
v0.23.0 Latest Latest
Warning

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

Go to latest
Published: Nov 15, 2023 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddPodAnnotation added in v0.17.4

func AddPodAnnotation(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod, addAnnotations map[string]string) error

func AddPodLabel added in v0.21.0

func AddPodLabel(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod, addLabels map[string]string) error

func AddSecretFinalizer added in v0.22.0

func AddSecretFinalizer(ctx context.Context, client *k8s.K8sClient, secret *v1.Secret, finalizer string) error

func CheckDynamicPV added in v0.16.0

func CheckDynamicPV(name string) (bool, error)

func CheckExpectValue added in v0.18.0

func CheckExpectValue(m map[string]string, key string, targetValue string) bool

CheckExpectValue Check if the key has the expected value

func CheckForSecretFinalizer added in v0.22.0

func CheckForSecretFinalizer(ctx context.Context, client *k8s.K8sClient, volume *v1.PersistentVolume) (shouldRemoveFinalizer bool, err error)

func CheckForSubPath added in v0.18.0

func CheckForSubPath(ctx context.Context, client *k8s.K8sClient, volume *v1.PersistentVolume, pathPattern string) (shouldDeleted bool, err error)

func ConsistentRead added in v0.14.1

func ConsistentRead(filename string, attempts int) ([]byte, error)

ConsistentRead repeatedly reads a file until it gets the same content twice. This is useful when reading files in /proc that are larger than page size and kernel may modify them between individual read() syscalls.

func ContainsPrefix added in v0.17.2

func ContainsPrefix(slice []string, s string) bool

ContainsPrefix String checks if a string slice contains a string with a given prefix

func ContainsString added in v0.10.0

func ContainsString(slice []string, s string) bool

ContainsString checks if a string is in a string slice.

func DelPodAnnotation added in v0.17.4

func DelPodAnnotation(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod, delAnnotations []string) error

func DeleteResourceOfPod added in v0.10.0

func DeleteResourceOfPod(pod *corev1.Pod)

func DoWithContext added in v0.17.1

func DoWithContext(ctx context.Context, f func() error) error

func DoWithTimeout added in v0.17.1

func DoWithTimeout(parent context.Context, timeout time.Duration, f func() error) error

func GetAllRefKeys added in v0.17.5

func GetAllRefKeys(pod corev1.Pod) map[string]string

func GetMountDeviceRefs added in v0.13.2

func GetMountDeviceRefs(pathname string, corrupted bool) ([]string, error)

GetMountDeviceRefs Get all mountpoints whose source is the device of `pathname` mountpoint, the `pathname` will be excluded. The `pathname` must be a mountpoint, and if the `corrupted` is true, the `pathname` is a corrupted mountpoint.

func GetMountPathOfPod added in v0.10.7

func GetMountPathOfPod(pod corev1.Pod) (string, string, error)

func GetNamespace added in v0.23.0

func GetNamespace(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod) (namespace string, err error)

GetNamespace get juicefs pv & pvc from pod when pod namespace is empty

func GetReferenceKey added in v0.10.7

func GetReferenceKey(target string) string

func GetTime added in v0.13.0

func GetTime(str string) (time.Time, error)

func GetTimeAfterDelay added in v0.13.0

func GetTimeAfterDelay(delayStr string) (string, error)

GetTimeAfterDelay get time which after delay

func ImageResol added in v0.19.0

func ImageResol(image string) (hasCE, hasEE bool)

ImageResol check if image contains CE or EE ce image starts with "ce-" (latest image is CE) ee image starts with "ee-" Compatible with previous images: has both ce and ee

func IsJobCompleted added in v0.13.0

func IsJobCompleted(job *batchv1.Job) bool

func IsJobFailed added in v0.13.0

func IsJobFailed(job *batchv1.Job) bool

func IsJobShouldBeRecycled added in v0.20.0

func IsJobShouldBeRecycled(job *batchv1.Job) bool

func IsPodError added in v0.10.0

func IsPodError(pod *corev1.Pod) bool

func IsPodHasResource added in v0.10.0

func IsPodHasResource(pod corev1.Pod) bool

func IsPodReady added in v0.10.0

func IsPodReady(pod *corev1.Pod) bool

func IsPodResourceError added in v0.10.0

func IsPodResourceError(pod *corev1.Pod) bool

func ParseEndpoint

func ParseEndpoint(endpoint string) (string, string, error)

func ParseMntPath added in v0.10.7

func ParseMntPath(cmd string) (string, string, error)

ParseMntPath return mntPath, volumeId (/jfs/volumeId, volumeId err)

func QuoteForShell added in v0.13.0

func QuoteForShell(cmd string) string

func RandStringRunes added in v0.14.1

func RandStringRunes(n int) string

func RemoveFinalizer added in v0.15.0

func RemoveFinalizer(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod, finalizer string) error

func RemoveSecretFinalizer added in v0.22.0

func RemoveSecretFinalizer(ctx context.Context, client *k8s.K8sClient, secret *v1.Secret, finalizer string) error

func ReplacePodAnnotation added in v0.17.4

func ReplacePodAnnotation(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod, annotation map[string]string) error

func ShouldDelay added in v0.13.0

func ShouldDelay(ctx context.Context, pod *corev1.Pod, Client *k8s.K8sClient) (shouldDelay bool, err error)

func StripPasswd added in v0.13.0

func StripPasswd(uri string) string

func StripReadonlyOption added in v0.17.4

func StripReadonlyOption(options []string) []string

func UmountPath added in v0.17.1

func UmountPath(ctx context.Context, sourcePath string)

Types

type PVCMetadata added in v0.13.3

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

func NewPVCMeta added in v0.13.3

func NewPVCMeta(pvc v1.PersistentVolumeClaim) *PVCMetadata

func (*PVCMetadata) ResolveSecret added in v0.22.0

func (meta *PVCMetadata) ResolveSecret(str string, pvName string) string

func (*PVCMetadata) StringParser added in v0.13.3

func (meta *PVCMetadata) StringParser(str string) string

type PVPair added in v0.23.0

type PVPair struct {
	PV  *corev1.PersistentVolume
	PVC *corev1.PersistentVolumeClaim
}

func GetVolumes added in v0.23.0

func GetVolumes(ctx context.Context, client *k8sclient.K8sClient, pod *corev1.Pod) (used bool, pvPairGot []PVPair, err error)

GetVolumes get juicefs pv & pvc from pod

Jump to

Keyboard shortcuts

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