Documentation ¶
Overview ¶
Package util implements various utility functions used in both testing and implementation of Kubernetes. Package util may not depend on any other package in the Kubernetes package tree.
Index ¶
- func AllPtrFieldsNil(obj interface{}) bool
- func ApplyRLimitForSelf(maxOpenFiles uint64)
- func CompileRegexps(regexpStrings []string) ([]*regexp.Regexp, error)
- func ExecuteTemplate(w io.Writer, templateText string, data interface{}) error
- func ExecuteTemplateToString(templateText string, data interface{}) (string, error)
- func FileExists(filename string) (bool, error)
- func FlushLogs()
- func InitLogs()
- func Int32Ptr(i int32) *int32
- func Int32PtrDerefOr(ptr *int32, def int32) int32
- func IntPtr(i int) *int
- func IntPtrDerefOr(ptr *int, def int) int
- func NewLogger(prefix string) *log.Logger
- func NewUUID() types.UID
- func ReadDirNoExit(dirname string) ([]os.FileInfo, []error, error)
- func RunInResourceContainer(containerName string) error
- func Umask(mask int) (old int, err error)
- func UsingSystemdInitSystem() bool
- type Clock
- type FakeClock
- func (f *FakeClock) After(d time.Duration) <-chan time.Time
- func (f *FakeClock) HasWaiters() bool
- func (f *FakeClock) Now() time.Time
- func (f *FakeClock) SetTime(t time.Time)
- func (f *FakeClock) Since(ts time.Time) time.Duration
- func (f *FakeClock) Sleep(d time.Duration)
- func (f *FakeClock) Step(d time.Duration)
- func (f *FakeClock) Tick(d time.Duration) <-chan time.Time
- type GlogWriter
- type IntervalClock
- type LineDelimiter
- type RealClock
- type Runner
- type StringFlag
- type Trace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AllPtrFieldsNil ¶
func AllPtrFieldsNil(obj interface{}) bool
Tests whether all pointer fields in a struct are nil. This is useful when, for example, an API struct is handled by plugins which need to distinguish "no plugin accepted this spec" from "this spec is empty".
This function is only valid for structs and pointers to structs. Any other type will cause a panic. Passing a typed nil pointer will return true.
func ApplyRLimitForSelf ¶
func ApplyRLimitForSelf(maxOpenFiles uint64)
func CompileRegexps ¶
Takes a list of strings and compiles them into a list of regular expressions
func ExecuteTemplate ¶
ExecuteTemplate executes templateText with data and output written to w.
func ExecuteTemplateToString ¶
func FileExists ¶
func Int32PtrDerefOr ¶
Int32PtrDerefOr dereference the int32 ptr and returns it i not nil, else returns def.
func IntPtrDerefOr ¶
IntPtrDerefOr dereference the int ptr and returns it i not nil, else returns def.
func ReadDirNoExit ¶
borrowed from ioutil.ReadDir ReadDir reads the directory named by dirname and returns a list of directory entries, minus those with lstat errors
func RunInResourceContainer ¶
Creates resource-only containerName if it does not already exist and moves the current process to it.
containerName must be an absolute container name.
func UsingSystemdInitSystem ¶
func UsingSystemdInitSystem() bool
Detects if using systemd as the init system Please note that simply reading /proc/1/cmdline can be misleading because some installation of various init programs can automatically make /sbin/init a symlink or even a renamed version of their main program. TODO(dchen1107): realiably detects the init system using on the system: systemd, upstart, initd, etc.
Types ¶
type Clock ¶
type Clock interface { Now() time.Time Since(time.Time) time.Duration After(d time.Duration) <-chan time.Time Sleep(d time.Duration) Tick(d time.Duration) <-chan time.Time }
Clock allows for injecting fake or real clocks into code that needs to do arbitrary things based on time.
type FakeClock ¶
type FakeClock struct {
// contains filtered or unexported fields
}
FakeClock implements Clock, but returns an arbitrary time.
func NewFakeClock ¶
func (*FakeClock) HasWaiters ¶
Returns true if After has been called on f but not yet satisfied (so you can write race-free tests).
type GlogWriter ¶
type GlogWriter struct{}
GlogWriter serves as a bridge between the standard log package and the glog package.
type IntervalClock ¶
IntervalClock implements Clock, but each invocation of Now steps the clock forward the specified duration
func (*IntervalClock) After ¶
func (*IntervalClock) After(d time.Duration) <-chan time.Time
Unimplemented, will panic. TODO: make interval clock use FakeClock so this can be implemented.
func (*IntervalClock) Since ¶
func (i *IntervalClock) Since(ts time.Time) time.Duration
Since returns time since the time in i.
func (*IntervalClock) Sleep ¶
func (*IntervalClock) Sleep(d time.Duration)
type LineDelimiter ¶
type LineDelimiter struct {
// contains filtered or unexported fields
}
A Line Delimiter is a filter that will
func NewLineDelimiter ¶
func NewLineDelimiter(output io.Writer, delimiter string) *LineDelimiter
NewLineDelimiter allocates a new io.Writer that will split input on lines and bracket each line with the delimiter string. This can be useful in output tests where it is difficult to see and test trailing whitespace.
func (*LineDelimiter) Flush ¶
func (ld *LineDelimiter) Flush() (err error)
Flush all lines up until now. This will assume insert a linebreak at the current point of the stream.
type RealClock ¶
type RealClock struct{}
RealClock really calls time.Now()
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner is an abstraction to make it easy to start and stop groups of things that can be described by a single function which waits on a channel close to exit.
type StringFlag ¶
type StringFlag struct {
// contains filtered or unexported fields
}
StringFlag is a string flag compatible with flags and pflags that keeps track of whether it had a value supplied or not.
func NewStringFlag ¶
func NewStringFlag(defaultVal string) StringFlag
func (*StringFlag) Default ¶
func (f *StringFlag) Default(value string)
func (StringFlag) Provided ¶
func (f StringFlag) Provided() bool
func (*StringFlag) Set ¶
func (f *StringFlag) Set(value string) error
func (StringFlag) String ¶
func (f StringFlag) String() string
func (*StringFlag) Type ¶
func (f *StringFlag) Type() string
func (StringFlag) Value ¶
func (f StringFlag) Value() string
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package errors implements various utility functions and types around errors.
|
Package errors implements various utility functions and types around errors. |
Package framer implements simple frame decoding techniques for an io.ReadCloser
|
Package framer implements simple frame decoding techniques for an io.ReadCloser |
Package intstr is a generated protocol buffer package.
|
Package intstr is a generated protocol buffer package. |
Package rand provides utilities related to randomization.
|
Package rand provides utilities related to randomization. |
Package sets has auto-generated set types.
|
Package sets has auto-generated set types. |
Package wait provides tools for polling or listening for changes to a condition.
|
Package wait provides tools for polling or listening for changes to a condition. |