k8sops

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2019 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Overview

Package k8sops is a generated GoMock package.

Index

Constants

View Source
const (
	PortM3DBNodeClient  Port = 9000
	PortM3DBNodeCluster      = 9001
	PortM3DBHTTPNode         = 9002
	PortM3DBHTTPCluster      = 9003
	PortM3DBDebug            = 9004

	PortM3Coordinator        = 7201
	PortM3CoordinatorMetrics = 7203
)

Ports used by M3DB nodes and coordinator nodes.

View Source
const (
	// FailureDomainZoneKey is the standard Kubernetes node label for a zone.
	FailureDomainZoneKey = "failure-domain.beta.kubernetes.io/zone"
)

Variables

This section is empty.

Functions

func CoordinatorServiceName

func CoordinatorServiceName(clusterName string) string

CoordinatorServiceName returns a name for a cluster's coordinator service.

func GenerateCoordinatorService

func GenerateCoordinatorService(cluster *myspec.M3DBCluster) (*v1.Service, error)

GenerateCoordinatorService creates a coordinator service given a cluster name.

func GenerateDefaultConfigMap

func GenerateDefaultConfigMap(cluster *myspec.M3DBCluster) (*corev1.ConfigMap, error)

GenerateDefaultConfigMap creates a ConfigMap for the clusters with the default config.

func GenerateM3DBService

func GenerateM3DBService(cluster *myspec.M3DBCluster) (*v1.Service, error)

GenerateM3DBService will generate the headless service required for an M3DB StatefulSet.

func GenerateNodeAffinity

func GenerateNodeAffinity(key, value string) *v1.NodeAffinity

GenerateNodeAffinity generates a node affinity requiring a strict match for given key and value.

func GenerateOwnerRef

func GenerateOwnerRef(cluster *myspec.M3DBCluster) *metav1.OwnerReference

GenerateOwnerRef generates an owner reference to a given m3db cluster.

func GenerateStatefulSet

func GenerateStatefulSet(
	cluster *myspec.M3DBCluster,
	isolationGroupName string,
	instanceAmount int32,
) (*appsv1.StatefulSet, error)

GenerateStatefulSet provides a statefulset object for a m3db cluster

func GenerateZoneAffinity

func GenerateZoneAffinity(zone string) *v1.Affinity

GenerateZoneAffinity returns a node affinity policy requiring a pod be in a given zone.

func HeadlessServiceName

func HeadlessServiceName(clusterName string) string

HeadlessServiceName returns a name for the cluster's headless service.

func NewBaseProbe

func NewBaseProbe() *v1.Probe

NewBaseProbe returns a probe configured for default ports.

func NewBaseStatefulSet

func NewBaseStatefulSet(ssName, isolationGroup string, cluster *myspec.M3DBCluster, instanceCount int32) *appsv1.StatefulSet

NewBaseStatefulSet returns a base configured stateful set.

func PlacementInstanceFromPod

func PlacementInstanceFromPod(cluster *myspec.M3DBCluster, pod *corev1.Pod, idProvider podidentity.Provider) (*placementpb.Instance, error)

PlacementInstanceFromPod creates a new m3cluster placement instance given a pod spec.

func StatefulSetName

func StatefulSetName(clusterName string, stsID int) string

StatefulSetName provides a formatted string to use for naming StatefulSets

Types

type K8sops

type K8sops interface {
	// ListM3DBCluster will list all the CRDS for M3DBClusters in all namespaces
	ListM3DBCluster() (*myspec.M3DBClusterList, error)

	// GetM3DBCluster will get the M3DBCluster CRD
	GetM3DBCluster(namespace, name string) (*myspec.M3DBCluster, error)

	// GetCRD will get a CRD
	GetCRD(name string) (*apiextensionsv1beta1.CustomResourceDefinition, error)

	// CreateCRD checks if M3DB CRD exists. If not, create
	CreateCRD(name string) error

	// GenerateCRD generates the crd object needed for the M3DBCluster
	GenerateCRD() *apiextensionsv1beta1.CustomResourceDefinition

	// UpdateCRD will update a CRD
	UpdateCRD(cluster *myspec.M3DBCluster) (*myspec.M3DBCluster, error)

	// NewListWatcher will provide a list watcher for M3DB objects
	NewListWatcher() *cache.ListWatch

	// GetService simply gets a service by name
	GetService(cluster *myspec.M3DBCluster, name string) (*v1.Service, error)

	// DeleteService simply deletes a service by name
	DeleteService(cluster *myspec.M3DBCluster, name string) error

	// EnsureService will create a service by name if it doesn't exist
	EnsureService(cluster *myspec.M3DBCluster, svc *v1.Service) error

	// MultiLabelSelector provides a ListOptions with a LabelSelector
	// given a map of strings
	MultiLabelSelector(kvs map[string]string) metav1.ListOptions

	// LabelSelector provides a ListOptions with a LabelSelector given a key
	// and value strings
	LabelSelector(key, value string) metav1.ListOptions

	// DeleteStatefulSets will delete all stateful sets associated with a cluster
	DeleteStatefulSets(cluster *myspec.M3DBCluster, listOpts metav1.ListOptions) error

	// GetStatefulSets provides all the StatefulSets contained within a
	// cluster
	GetStatefulSets(cluster *myspec.M3DBCluster, listOpts metav1.ListOptions) (*appsv1.StatefulSetList, error)

	// GetPlacementDetails provides the pod to isolation group mapping
	GetPlacementDetails(cluster *myspec.M3DBCluster) (map[string]string, error)

	// GetPodsByLabel provides a PodList given ListOptions which contain the
	// correct LabelSelector
	GetPodsByLabel(cluster *myspec.M3DBCluster, listOpts metav1.ListOptions) (*v1.PodList, error)

	// CreateStatefulSet will create a StatefulSet and ensure all Pod replicas are
	// ready before returning
	CreateStatefulSet(cluster *myspec.M3DBCluster, statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error)

	// GetStatefulSet simply returns a StatefulSet given the current cluster
	GetStatefulSet(cluster *myspec.M3DBCluster, name string) (*appsv1.StatefulSet, error)

	// UpdateStatefulSet simply updates a statefulset
	UpdateStatefulSet(cluster *myspec.M3DBCluster, statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error)

	// CheckStatefulStatus will poll a given StatefulSet to ensure it reaches a
	// ready state within configurable amount of time
	CheckStatefulStatus(cluster *myspec.M3DBCluster, statefulSet *appsv1.StatefulSet) (*appsv1.StatefulSet, error)

	// Events returns an Event interface for a given namespace.
	Events(namespace string) typedcorev1.EventInterface
}

K8sops provides an interface for various Kubernetes API calls

func New

func New(opts ...Option) (K8sops, error)

New creates a new instance of k8sops

type MockK8sops

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

MockK8sops is a mock of K8sops interface

func NewMockK8sops

func NewMockK8sops(ctrl *gomock.Controller) *MockK8sops

NewMockK8sops creates a new mock instance

func (*MockK8sops) CheckStatefulStatus

func (m *MockK8sops) CheckStatefulStatus(cluster *v1alpha1.M3DBCluster, statefulSet *v1.StatefulSet) (*v1.StatefulSet, error)

CheckStatefulStatus mocks base method

func (*MockK8sops) CreateCRD

func (m *MockK8sops) CreateCRD(name string) error

CreateCRD mocks base method

func (*MockK8sops) CreateStatefulSet

func (m *MockK8sops) CreateStatefulSet(cluster *v1alpha1.M3DBCluster, statefulSet *v1.StatefulSet) (*v1.StatefulSet, error)

CreateStatefulSet mocks base method

func (*MockK8sops) DeleteService

func (m *MockK8sops) DeleteService(cluster *v1alpha1.M3DBCluster, name string) error

DeleteService mocks base method

func (*MockK8sops) DeleteStatefulSets

func (m *MockK8sops) DeleteStatefulSets(cluster *v1alpha1.M3DBCluster, listOpts v11.ListOptions) error

DeleteStatefulSets mocks base method

func (*MockK8sops) EXPECT

func (m *MockK8sops) EXPECT() *MockK8sopsMockRecorder

EXPECT returns an object that allows the caller to indicate expected use

func (*MockK8sops) EnsureService

func (m *MockK8sops) EnsureService(cluster *v1alpha1.M3DBCluster, svc *v10.Service) error

EnsureService mocks base method

func (*MockK8sops) Events

func (m *MockK8sops) Events(namespace string) v12.EventInterface

Events mocks base method

func (*MockK8sops) GenerateCRD

func (m *MockK8sops) GenerateCRD() *v1beta1.CustomResourceDefinition

GenerateCRD mocks base method

func (*MockK8sops) GetCRD

GetCRD mocks base method

func (*MockK8sops) GetM3DBCluster

func (m *MockK8sops) GetM3DBCluster(namespace, name string) (*v1alpha1.M3DBCluster, error)

GetM3DBCluster mocks base method

func (*MockK8sops) GetPlacementDetails

func (m *MockK8sops) GetPlacementDetails(cluster *v1alpha1.M3DBCluster) (map[string]string, error)

GetPlacementDetails mocks base method

func (*MockK8sops) GetPodsByLabel

func (m *MockK8sops) GetPodsByLabel(cluster *v1alpha1.M3DBCluster, listOpts v11.ListOptions) (*v10.PodList, error)

GetPodsByLabel mocks base method

func (*MockK8sops) GetService

func (m *MockK8sops) GetService(cluster *v1alpha1.M3DBCluster, name string) (*v10.Service, error)

GetService mocks base method

func (*MockK8sops) GetStatefulSet

func (m *MockK8sops) GetStatefulSet(cluster *v1alpha1.M3DBCluster, name string) (*v1.StatefulSet, error)

GetStatefulSet mocks base method

func (*MockK8sops) GetStatefulSets

func (m *MockK8sops) GetStatefulSets(cluster *v1alpha1.M3DBCluster, listOpts v11.ListOptions) (*v1.StatefulSetList, error)

GetStatefulSets mocks base method

func (*MockK8sops) LabelSelector

func (m *MockK8sops) LabelSelector(key, value string) v11.ListOptions

LabelSelector mocks base method

func (*MockK8sops) ListM3DBCluster

func (m *MockK8sops) ListM3DBCluster() (*v1alpha1.M3DBClusterList, error)

ListM3DBCluster mocks base method

func (*MockK8sops) MultiLabelSelector

func (m *MockK8sops) MultiLabelSelector(kvs map[string]string) v11.ListOptions

MultiLabelSelector mocks base method

func (*MockK8sops) NewListWatcher

func (m *MockK8sops) NewListWatcher() *cache.ListWatch

NewListWatcher mocks base method

func (*MockK8sops) UpdateCRD

func (m *MockK8sops) UpdateCRD(cluster *v1alpha1.M3DBCluster) (*v1alpha1.M3DBCluster, error)

UpdateCRD mocks base method

func (*MockK8sops) UpdateStatefulSet

func (m *MockK8sops) UpdateStatefulSet(cluster *v1alpha1.M3DBCluster, statefulSet *v1.StatefulSet) (*v1.StatefulSet, error)

UpdateStatefulSet mocks base method

type MockK8sopsMockRecorder

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

MockK8sopsMockRecorder is the mock recorder for MockK8sops

func (*MockK8sopsMockRecorder) CheckStatefulStatus

func (mr *MockK8sopsMockRecorder) CheckStatefulStatus(cluster, statefulSet interface{}) *gomock.Call

CheckStatefulStatus indicates an expected call of CheckStatefulStatus

func (*MockK8sopsMockRecorder) CreateCRD

func (mr *MockK8sopsMockRecorder) CreateCRD(name interface{}) *gomock.Call

CreateCRD indicates an expected call of CreateCRD

func (*MockK8sopsMockRecorder) CreateStatefulSet

func (mr *MockK8sopsMockRecorder) CreateStatefulSet(cluster, statefulSet interface{}) *gomock.Call

CreateStatefulSet indicates an expected call of CreateStatefulSet

func (*MockK8sopsMockRecorder) DeleteService

func (mr *MockK8sopsMockRecorder) DeleteService(cluster, name interface{}) *gomock.Call

DeleteService indicates an expected call of DeleteService

func (*MockK8sopsMockRecorder) DeleteStatefulSets

func (mr *MockK8sopsMockRecorder) DeleteStatefulSets(cluster, listOpts interface{}) *gomock.Call

DeleteStatefulSets indicates an expected call of DeleteStatefulSets

func (*MockK8sopsMockRecorder) EnsureService

func (mr *MockK8sopsMockRecorder) EnsureService(cluster, svc interface{}) *gomock.Call

EnsureService indicates an expected call of EnsureService

func (*MockK8sopsMockRecorder) Events

func (mr *MockK8sopsMockRecorder) Events(namespace interface{}) *gomock.Call

Events indicates an expected call of Events

func (*MockK8sopsMockRecorder) GenerateCRD

func (mr *MockK8sopsMockRecorder) GenerateCRD() *gomock.Call

GenerateCRD indicates an expected call of GenerateCRD

func (*MockK8sopsMockRecorder) GetCRD

func (mr *MockK8sopsMockRecorder) GetCRD(name interface{}) *gomock.Call

GetCRD indicates an expected call of GetCRD

func (*MockK8sopsMockRecorder) GetM3DBCluster

func (mr *MockK8sopsMockRecorder) GetM3DBCluster(namespace, name interface{}) *gomock.Call

GetM3DBCluster indicates an expected call of GetM3DBCluster

func (*MockK8sopsMockRecorder) GetPlacementDetails

func (mr *MockK8sopsMockRecorder) GetPlacementDetails(cluster interface{}) *gomock.Call

GetPlacementDetails indicates an expected call of GetPlacementDetails

func (*MockK8sopsMockRecorder) GetPodsByLabel

func (mr *MockK8sopsMockRecorder) GetPodsByLabel(cluster, listOpts interface{}) *gomock.Call

GetPodsByLabel indicates an expected call of GetPodsByLabel

func (*MockK8sopsMockRecorder) GetService

func (mr *MockK8sopsMockRecorder) GetService(cluster, name interface{}) *gomock.Call

GetService indicates an expected call of GetService

func (*MockK8sopsMockRecorder) GetStatefulSet

func (mr *MockK8sopsMockRecorder) GetStatefulSet(cluster, name interface{}) *gomock.Call

GetStatefulSet indicates an expected call of GetStatefulSet

func (*MockK8sopsMockRecorder) GetStatefulSets

func (mr *MockK8sopsMockRecorder) GetStatefulSets(cluster, listOpts interface{}) *gomock.Call

GetStatefulSets indicates an expected call of GetStatefulSets

func (*MockK8sopsMockRecorder) LabelSelector

func (mr *MockK8sopsMockRecorder) LabelSelector(key, value interface{}) *gomock.Call

LabelSelector indicates an expected call of LabelSelector

func (*MockK8sopsMockRecorder) ListM3DBCluster

func (mr *MockK8sopsMockRecorder) ListM3DBCluster() *gomock.Call

ListM3DBCluster indicates an expected call of ListM3DBCluster

func (*MockK8sopsMockRecorder) MultiLabelSelector

func (mr *MockK8sopsMockRecorder) MultiLabelSelector(kvs interface{}) *gomock.Call

MultiLabelSelector indicates an expected call of MultiLabelSelector

func (*MockK8sopsMockRecorder) NewListWatcher

func (mr *MockK8sopsMockRecorder) NewListWatcher() *gomock.Call

NewListWatcher indicates an expected call of NewListWatcher

func (*MockK8sopsMockRecorder) UpdateCRD

func (mr *MockK8sopsMockRecorder) UpdateCRD(cluster interface{}) *gomock.Call

UpdateCRD indicates an expected call of UpdateCRD

func (*MockK8sopsMockRecorder) UpdateStatefulSet

func (mr *MockK8sopsMockRecorder) UpdateStatefulSet(cluster, statefulSet interface{}) *gomock.Call

UpdateStatefulSet indicates an expected call of UpdateStatefulSet

type Option

type Option interface {
	// contains filtered or unexported methods
}

Option provides an interface that can be used for setter options with the constructor

func WithCRDClient

func WithCRDClient(crdClient genclient.Interface) Option

WithCRDClient is a setter to override the default CRD client

func WithExtClient

func WithExtClient(extClient apiextensionsclient.Interface) Option

WithExtClient is a setter to override the default Extensions Client

func WithKClient

func WithKClient(kclient kubernetes.Interface) Option

WithKClient is a setter to override the default Kubernetes client

func WithLogger

func WithLogger(logger *zap.Logger) Option

WithLogger is a setter to override the default logger

type Port

type Port int32

Port represents a port number.

Directories

Path Synopsis
Package labels defines constants and helpers for labels used throughout the m3db operator.
Package labels defines constants and helpers for labels used throughout the m3db operator.
Package podidentity is a generated GoMock package.
Package podidentity is a generated GoMock package.

Jump to

Keyboard shortcuts

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