util

package
v1.0.1-rc2 Latest Latest
Warning

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

Go to latest
Published: Jul 16, 2020 License: Apache-2.0 Imports: 36 Imported by: 12

Documentation

Index

Constants

View Source
const (
	VolumeStackPrefix     = "volume-"
	ControllerServiceName = "controller"
	ReplicaServiceName    = "replica"

	BackupStoreTypeS3 = "s3"
	AWSAccessKey      = "AWS_ACCESS_KEY_ID"
	AWSSecretKey      = "AWS_SECRET_ACCESS_KEY"
	AWSEndPoint       = "AWS_ENDPOINTS"
	AWSCert           = "AWS_CERT"

	HTTPSProxy = "HTTPS_PROXY"
	HTTPProxy  = "HTTP_PROXY"
	NOProxy    = "NO_PROXY"

	VirtualHostedStyle = "VIRTUAL_HOSTED_STYLE"

	HostProcPath                 = "/host/proc"
	ReplicaDirectory             = "/replicas/"
	DeviceDirectory              = "/dev/longhorn/"
	TemporaryMountPointDirectory = "/tmp/mnt/"

	DefaultKubernetesTolerationKey = "kubernetes.io"

	DiskConfigFile = "longhorn-disk.cfg"

	SizeAlignment = 2 * 1024 * 1024
)

Variables

View Source
var (
	ConflictRetryInterval = 20 * time.Millisecond
	ConflictRetryCounts   = 100
)

Functions

func AddFinalizer

func AddFinalizer(name string, obj runtime.Object) error

func AreIdenticalTolerations added in v0.6.0

func AreIdenticalTolerations(oldTolerations, newTolerations map[string]v1.Toleration) bool

func Backoff

func Backoff(maxDuration time.Duration, timeoutMessage string, f func() (bool, error)) error

func CheckBackupType

func CheckBackupType(backupTarget string) (string, error)

func CmdOutLines

func CmdOutLines(cmd *exec.Cmd, cancel <-chan interface{}) (<-chan string, <-chan error)

func ConfigBackupCredential

func ConfigBackupCredential(backupTarget string, credential map[string]string) error

func ConfigEnvWithCredential

func ConfigEnvWithCredential(backupTarget string, credentialSecret string, hasEndpoint bool, hasCert bool,
	container *v1.Container) error

func ConvertSize

func ConvertSize(size interface{}) (int64, error)

func CopyHostDirectoryContent added in v0.8.0

func CopyHostDirectoryContent(src, dest string) (err error)

func CopyReq

func CopyReq(req *http.Request) *http.Request

func CreateDiskPathReplicaSubdirectory added in v0.8.1

func CreateDiskPathReplicaSubdirectory(path string) error

func DeleteDiskPathReplicaSubdirectoryAndDiskCfgFile added in v1.0.0

func DeleteDiskPathReplicaSubdirectoryAndDiskCfgFile(
	nsExec *iscsi_util.NamespaceExecutor, path string) error

func DetectFileSystem added in v0.8.0

func DetectFileSystem(volumeName string) (string, error)

func Execute

func Execute(binary string, args ...string) (string, error)

func ExecuteWithTimeout

func ExecuteWithTimeout(timeout time.Duration, binary string, args ...string) (string, error)

func ExecuteWithoutTimeout added in v0.6.0

func ExecuteWithoutTimeout(binary string, args ...string) (string, error)

func ExpandFileSystem added in v0.8.0

func ExpandFileSystem(volumeName string) (err error)

func FilteredLoggingHandler added in v0.4.1

func FilteredLoggingHandler(filteredPaths map[string]struct{}, writer io.Writer, router http.Handler) http.Handler

func FinalizerExists

func FinalizerExists(name string, obj runtime.Object) bool

func FormatLocalTime

func FormatLocalTime(t time.Time, loc *time.Location) string

func FormatTimeZ

func FormatTimeZ(t time.Time) string

func FromMillis

func FromMillis(t int64) time.Time

func GetBackupID

func GetBackupID(backupURL string) (string, error)

func GetChecksumSHA512

func GetChecksumSHA512(data []byte) string

func GetLocalIPs

func GetLocalIPs() ([]string, error)

func GetRequiredEnv

func GetRequiredEnv(key string) (string, error)

func GetStringChecksum

func GetStringChecksum(data string) string

func IsKubernetesDefaultToleration added in v0.6.0

func IsKubernetesDefaultToleration(toleration v1.Toleration) bool

func IsKubernetesVersionAtLeast added in v0.8.0

func IsKubernetesVersionAtLeast(kubeClient clientset.Interface, vers string) (bool, error)

func IsSupportedFileSystem added in v0.8.0

func IsSupportedFileSystem(fsType string) bool

func LimitToPeriod

func LimitToPeriod(p, t [2]time.Time) [2]time.Time

func Now

func Now() string

func ParseLabels

func ParseLabels(labels []string) (map[string]string, error)

ParseLabels parses the provided Labels based on longhorn-engine's implementation: https://github.com/longhorn/longhorn-engine/blob/master/util/util.go

func ParseLocalTime

func ParseLocalTime(ts string, loc *time.Location) (time.Time, error)

func ParsePeriod

func ParsePeriod(s string, loc *time.Location) ([2]time.Time, error)

func ParseTime

func ParseTime(t string) (time.Time, error)

func ParseTimeZ

func ParseTimeZ(s string) (time.Time, error)

func RandomID

func RandomID() string

func RegisterShutdownChannel

func RegisterShutdownChannel(done chan struct{})

func RemountVolume added in v0.7.0

func RemountVolume(volumeName string) error

func RemoveFinalizer

func RemoveFinalizer(name string, obj runtime.Object) error

func RemoveHostDirectoryContent added in v0.3.3

func RemoveHostDirectoryContent(directory string) (err error)

func RetryOnConflictCause

func RetryOnConflictCause(fn func() (interface{}, error)) (obj interface{}, err error)

func RoundUpSize

func RoundUpSize(size int64) int64

func RunAsync added in v0.3.1

func RunAsync(wg *sync.WaitGroup, f func())

func SplitStringToMap

func SplitStringToMap(str, separator string) map[string]struct{}

func TimestampAfterTimeout

func TimestampAfterTimeout(ts string, timeout time.Duration) bool

func TimestampWithinLimit added in v0.8.0

func TimestampWithinLimit(latest time.Time, ts string, limit time.Duration) bool

func TolerationListToMap added in v0.6.0

func TolerationListToMap(tolerationList []v1.Toleration) map[string]v1.Toleration

func UUID

func UUID() string

func ValidateName

func ValidateName(name string) bool

func ValidateSnapshotLabels added in v0.6.0

func ValidateSnapshotLabels(labels map[string]string) (map[string]string, error)

func ValidateTags added in v0.6.0

func ValidateTags(inputTags []string) ([]string, error)

func WaitForAPI

func WaitForAPI(url string, timeout int) error

WaitForAPI timeout in second

func WaitForDevice

func WaitForDevice(dev string, timeout int) error

WaitForDevice timeout in second

Types

type DiskConfig added in v0.8.1

type DiskConfig struct {
	DiskUUID string `json:"diskUUID"`
}

func GenerateDiskConfig added in v0.8.1

func GenerateDiskConfig(path string) (*DiskConfig, error)

func GetDiskConfig added in v0.8.1

func GetDiskConfig(path string) (*DiskConfig, error)

type DiskInfo

type DiskInfo struct {
	Fsid             string
	Path             string
	Type             string
	FreeBlock        int64
	TotalBlock       int64
	BlockSize        int64
	StorageMaximum   int64
	StorageAvailable int64
}

func GetDiskInfo

func GetDiskInfo(directory string) (info *DiskInfo, err error)

type MetadataConfig

type MetadataConfig struct {
	DriverName          string
	Image               string
	OrcImage            string
	DriverContainerName string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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