k8sutil

package
v0.4.0 Latest Latest
Warning

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

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

Documentation

Overview

Copyright 2016 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Some of the code below came from https://github.com/coreos/etcd-operator which also has the apache 2.0 license.

Copyright 2016 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright 2016 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Some of the code below came from https://github.com/coreos/etcd-operator which also has the apache 2.0 license.

Copyright 2016 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Some of the code below came from https://github.com/coreos/etcd-operator which also has the apache 2.0 license.

Copyright 2016 The Rook Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

View Source
const (
	Namespace        = "rook"
	DefaultNamespace = "default"
	DataDirVolume    = "rook-data"
	DataDir          = "/var/lib/rook"
	RookType         = "kubernetes.io/rook"
	RbdType          = "kubernetes.io/rbd"
)
View Source
const (
	AppAttr           = "app"
	ClusterAttr       = "rook_cluster"
	VersionAttr       = "rook_version"
	PodIPEnvVar       = "ROOKD_PRIVATE_IPV4"
	DefaultRepoPrefix = "quay.io/rook"
)

Variables

This section is empty.

Functions

func ConfigDirEnvVar added in v0.4.0

func ConfigDirEnvVar() v1.EnvVar

func GetPodNames

func GetPodNames(pods []*api.Pod) []string

func MakeRookImage

func MakeRookImage(version string) string

func NamespaceEnvVar

func NamespaceEnvVar() v1.EnvVar

func PathToVolumeName added in v0.4.0

func PathToVolumeName(path string) string

func PodWithAntiAffinity

func PodWithAntiAffinity(pod *v1.Pod, attribute, value string)

func RepoPrefixEnvVar added in v0.4.0

func RepoPrefixEnvVar() v1.EnvVar

func Retry

func Retry(context *Context, f ConditionFunc) error

Retry retries f every interval until after maxRetries. The interval won't be affected by how long f takes. For example, if interval is 3s, f takes 1s, another f will be called 2s later. However, if f takes longer than interval, it will be delayed.

func SetPodVersion

func SetPodVersion(pod *v1.Pod, key, version string)

Types

type ConditionFunc

type ConditionFunc func() (bool, error)

type Context added in v0.4.0

type Context struct {
	Clientset   kubernetes.Interface
	RetryDelay  int
	MaxRetries  int
	MasterHost  string
	KubeHttpCli *http.Client
	Factory     client.ConnectionFactory
}

type PanicTimer

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

panicTimer panics when it reaches the given duration.

func NewPanicTimer

func NewPanicTimer(d time.Duration, msg string) *PanicTimer

func (*PanicTimer) Start

func (pt *PanicTimer) Start()

func (*PanicTimer) Stop

func (pt *PanicTimer) Stop()

stop stops the timer and resets the elapsed duration.

Jump to

Keyboard shortcuts

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