k8sutil

package
v0.2.3 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	BackupPodSelectorAppField = "etcd_backup_tool"

	PVBackupV1 = "v1" // TODO: refactor and combine this with pkg/backup.PVBackupV1
)

Variables

View Source
var BackupImage = "quay.io/coreos/etcd-operator:latest"

Functions

func AddRecoveryToPod

func AddRecoveryToPod(pod *v1.Pod, clusterName, name, token string, cs spec.ClusterSpec)

func BackupServiceAddr added in v0.2.1

func BackupServiceAddr(clusterName string) string

func BackupServiceName added in v0.2.1

func BackupServiceName(clusterName string) string

func ClusterListOpt added in v0.2.0

func ClusterListOpt(clusterName string) v1.ListOptions

We are using internal api types for cluster related.

func CopyVolume added in v0.2.0

func CopyVolume(kubecli kubernetes.Interface, fromClusterName, toClusterName, ns string) error

func CreateAndWaitPVC added in v0.2.0

func CreateAndWaitPVC(kubecli kubernetes.Interface, clusterName, ns, pvProvisioner string, volumeSizeInMB int) error

func CreateAndWaitPod

func CreateAndWaitPod(kubecli kubernetes.Interface, ns string, pod *v1.Pod, timeout time.Duration) (*v1.Pod, error)

CreateAndWaitPod is a workaround for self hosted and util for testing. We should eventually get rid of this in critical code path and move it to test util.

func CreateEtcdService

func CreateEtcdService(kubecli kubernetes.Interface, clusterName, ns string, owner metatypes.OwnerReference) (*v1.Service, error)

func CreateMemberService added in v0.2.0

func CreateMemberService(kubecli kubernetes.Interface, ns string, svc *v1.Service) (*v1.Service, error)

func CreateStorageClass

func CreateStorageClass(kubecli kubernetes.Interface, pvProvisioner string) error

func DeletePVC added in v0.2.0

func DeletePVC(kubecli kubernetes.Interface, clusterName, ns string) error

func EtcdImageName added in v0.2.1

func EtcdImageName(version string) string

func GetClusterList added in v0.2.0

func GetClusterList(restcli rest.Interface, ns string) (*spec.ClusterList, error)

func GetClusterTPRObject added in v0.2.0

func GetClusterTPRObject(restcli rest.Interface, ns, name string) (*spec.Cluster, error)

func GetEtcdVersion

func GetEtcdVersion(pod *v1.Pod) string

func GetPodNames

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

func InClusterConfig added in v0.2.2

func InClusterConfig() (*rest.Config, error)

func IsKubernetesResourceAlreadyExistError

func IsKubernetesResourceAlreadyExistError(err error) bool

func IsKubernetesResourceNotFoundError

func IsKubernetesResourceNotFoundError(err error) bool

func MustNewKubeClient added in v0.2.1

func MustNewKubeClient() kubernetes.Interface

func NewBackupPodSpec added in v0.2.1

func NewBackupPodSpec(clusterName, account string, policy *spec.BackupPolicy) (*v1.PodSpec, error)

func NewBackupReplicaSetManifest added in v0.2.0

func NewBackupReplicaSetManifest(clusterName string, ps v1.PodSpec, owner metatypes.OwnerReference) *v1beta1extensions.ReplicaSet

func NewBackupServiceManifest added in v0.2.0

func NewBackupServiceManifest(clusterName string, owner metatypes.OwnerReference) *v1.Service

func NewEtcdPod added in v0.2.1

func NewEtcdPod(m *etcdutil.Member, initialCluster []string, clusterName, state, token string, cs spec.ClusterSpec, owner metatypes.OwnerReference) *v1.Pod

func NewMemberServiceManifest added in v0.2.0

func NewMemberServiceManifest(etcdName, clusterName string, owner metatypes.OwnerReference) *v1.Service

TODO: converge the port logic with member ClientAddr() and PeerAddr()

func NewSelfHostedEtcdPod added in v0.2.1

func NewSelfHostedEtcdPod(name string, initialCluster []string, clusterName, ns, state, token string, cs spec.ClusterSpec, owner metatypes.OwnerReference) *v1.Pod

func NewTPRClient added in v0.2.1

func NewTPRClient() (*rest.RESTClient, error)

func PodSpecWithPV added in v0.2.0

func PodSpecWithPV(ps *v1.PodSpec, clusterName string) *v1.PodSpec

func PodSpecWithS3 added in v0.2.0

func PodSpecWithS3(ps *v1.PodSpec, s3Ctx s3config.S3Context) *v1.PodSpec

func PodWithAddMemberInitContainer

func PodWithAddMemberInitContainer(p *v1.Pod, endpoints []string, name string, peerURLs []string, cs spec.ClusterSpec) *v1.Pod

func PodWithAntiAffinity added in v0.2.0

func PodWithAntiAffinity(pod *v1.Pod, clusterName string) *v1.Pod

func PodWithNodeSelector

func PodWithNodeSelector(p *v1.Pod, ns map[string]string) *v1.Pod

func SetEtcdVersion

func SetEtcdVersion(pod *v1.Pod, version string)

func UpdateClusterTPRObject added in v0.2.0

func UpdateClusterTPRObject(restcli rest.Interface, ns string, c *spec.Cluster) (*spec.Cluster, error)

UpdateClusterTPRObject updates the given TPR object. ResourceVersion of the object MUST be set or update will fail.

func UpdateClusterTPRObjectUnconditionally added in v0.2.0

func UpdateClusterTPRObjectUnconditionally(restcli rest.Interface, ns string, c *spec.Cluster) (*spec.Cluster, error)

UpdateClusterTPRObjectUnconditionally updates the given TPR object. This should only be used in tests.

func WaitEtcdTPRReady

func WaitEtcdTPRReady(restcli rest.Interface, interval, timeout time.Duration, ns string) error

func WatchClusters added in v0.2.0

func WatchClusters(host, ns string, httpClient *http.Client, resourceVersion string) (*http.Response, error)

Types

This section is empty.

Directories

Path Synopsis
Package election implements leader election of a set of endpoints.
Package election implements leader election of a set of endpoints.

Jump to

Keyboard shortcuts

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