mon

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Jul 18, 2018 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Overview

Package mon for the Ceph monitors.

Package mon for the Ceph monitors.

Package mon for the Ceph monitors.

Package mon for the Ceph monitors.

Index

Constants

View Source
const (
	// EndpointConfigMapName is the name of the configmap with mon endpoints
	EndpointConfigMapName = "rook-ceph-mon-endpoints"
	// EndpointDataKey is the name of the key inside the mon configmap to get the endpoints
	EndpointDataKey = "data"
	// MaxMonIDKey is the name of the max mon id used
	MaxMonIDKey = "maxMonId"
	// MappingKey is the name of the mapping for the mon->node and node->port
	MappingKey = "mapping"

	// DefaultMonCount Default mon count for a cluster
	DefaultMonCount = 3
	// MaxMonCount Maximum allowed mon count for a cluster
	MaxMonCount = 9
)

Variables

View Source
var (
	// HealthCheckInterval interval to check the mons to be in quorum
	HealthCheckInterval = 45 * time.Second
	// MonOutTimeout the duration to wait before removing/failover to a new mon pod
	MonOutTimeout = 300 * time.Second
)

Functions

func AdminSecretEnvVar

func AdminSecretEnvVar() v1.EnvVar

AdminSecretEnvVar is the admin secret environment var

func ClusterNameEnvVar

func ClusterNameEnvVar(name string) v1.EnvVar

ClusterNameEnvVar is the cluster name environment var

func EndpointEnvVar

func EndpointEnvVar() v1.EnvVar

EndpointEnvVar is the mon endpoint environment var

func PublicIPEnvVar

func PublicIPEnvVar(publicIP string) v1.EnvVar

PublicIPEnvVar is the public ip env var for monitors

func SecretEnvVar

func SecretEnvVar() v1.EnvVar

SecretEnvVar is the mon secret environment var

func WriteConnectionConfig

func WriteConnectionConfig(context *clusterd.Context, clusterInfo *mon.ClusterInfo) error

WriteConnectionConfig save monitor connection config to disk

Types

type Cluster

type Cluster struct {
	Namespace            string
	Keyring              string
	Version              string
	MasterHost           string
	Size                 int
	AllowMultiplePerNode bool
	Port                 int32

	HostNetwork bool
	// contains filtered or unexported fields
}

Cluster is for the cluster of monitors

func New

func New(context *clusterd.Context, namespace, dataDirHostPath, version string, mon cephv1beta1.MonSpec, placement rookalpha.Placement, hostNetwork bool,
	resources v1.ResourceRequirements, ownerRef metav1.OwnerReference) *Cluster

New creates an instance of a mon cluster

func (*Cluster) Start

func (c *Cluster) Start() error

Start the mon cluster

type HealthChecker

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

HealthChecker check health for the monitors

func NewHealthChecker

func NewHealthChecker(monCluster *Cluster) *HealthChecker

NewHealthChecker creates a new HealthChecker object

func (*HealthChecker) Check

func (hc *HealthChecker) Check(stopCh chan struct{})

Check periodically the health of the monitors

type Mapping

type Mapping struct {
	Node map[string]*NodeInfo `json:"node"`
	Port map[string]int32     `json:"port"`
}

Mapping mon node and port mapping

func CreateOrLoadClusterInfo

func CreateOrLoadClusterInfo(context *clusterd.Context, namespace string, ownerRef *metav1.OwnerReference) (*mon.ClusterInfo, int, *Mapping, error)

CreateOrLoadClusterInfo constructs or loads a clusterinfo and returns it along with the maxMonID

func LoadClusterInfo

func LoadClusterInfo(context *clusterd.Context, namespace string) (*mon.ClusterInfo, int, *Mapping, error)

LoadClusterInfo constructs or loads a clusterinfo and returns it along with the maxMonID

type NodeInfo

type NodeInfo struct {
	Name     string
	Hostname string
	Address  string
}

NodeInfo contains name and address of a node

Jump to

Keyboard shortcuts

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