Documentation ¶
Overview ¶
Package common contains common code for implementing providers
Index ¶
- Constants
- func CollectLogs(n nodes.Node, dir string) error
- func FileOnHost(path string) (*os.File, error)
- func GetFreePort(listenAddr string) (int32, func(), error)
- func GetProxyEnvs(cfg *config.Cluster) map[string]string
- func MakeNodeNamer(clusterName string) func(string) string
- func NodeReachedCgroupsReadyRegexp() *regexp.Regexp
- func PortOrGetFreePort(port int32, listenAddr string) (int32, func(), error)
- func RequiredNodeImages(cfg *config.Cluster) sets.String
- func WaitUntilLogRegexpMatches(logCtx context.Context, logCmd exec.Cmd, re *regexp.Regexp) error
Constants ¶
const ( // HTTPProxy is the HTTP_PROXY environment variable key HTTPProxy = "HTTP_PROXY" // HTTPSProxy is the HTTPS_PROXY environment variable key HTTPSProxy = "HTTPS_PROXY" // NOProxy is the NO_PROXY environment variable key NOProxy = "NO_PROXY" )
const APIServerInternalPort = 6443
APIServerInternalPort defines the port where the control plane is listening _inside_ the node network
Variables ¶
This section is empty.
Functions ¶
func CollectLogs ¶
CollectLogs provides the common functionality to get various debug info from the node
func FileOnHost ¶
FileOnHost is a helper to create a file at path even if the parent directory doesn't exist in which case it will be created with ModePerm
func GetFreePort ¶
GetFreePort is a helper used to get a free TCP port on the host returns the free port and a cleanup function, the cleanup function must be called after all free ports have been determined to ensure the same port is not returned multiple times
func GetProxyEnvs ¶
GetProxyEnvs returns a map of proxy environment variables to their values If proxy settings are set, NO_PROXY is modified to include the cluster subnets
func MakeNodeNamer ¶
MakeNodeNamer returns a func(role string)(nodeName string) used to name nodes based on their role and the clusterName
func NodeReachedCgroupsReadyRegexp ¶ added in v0.12.0
NodeReachedCgroupsReadyRegexp returns a regexp for use with WaitUntilLogRegexpMatches
This is used to avoid "ERROR: this script needs /sys/fs/cgroup/cgroup.procs to be empty (for writing the top-level cgroup.subtree_control)" See https://github.com/kubernetes-sigs/kind/issues/2409
This pattern matches either "detected cgroupv1" from the kind node image's entrypoint logs or "Multi-User System" target if is using cgroups v2, so that `docker exec` can be executed safely without breaking cgroup v2 hierarchy.
func PortOrGetFreePort ¶
PortOrGetFreePort is a helper that either returns the provided port if valid or returns a new free port on listenAddr and a cleanup function
func RequiredNodeImages ¶
RequiredNodeImages returns the set of _node_ images specified by the config This does not include the loadbalancer image, and is only used to improve the UX by explicit pulling the node images prior to running
func WaitUntilLogRegexpMatches ¶ added in v0.12.0
WaitUntilLogRegexpMatches waits until logCmd output produces a line matching re. It will use logCtx to determine if the logCmd deadline was exceeded for producing the most useful error message in failure cases, logCtx should be the context supplied to create logCmd with CommandContext
Types ¶
This section is empty.