model

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2016 License: Apache-2.0 Imports: 1 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.

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.

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

This section is empty.

Variables

This section is empty.

Functions

func HealthStatusToString

func HealthStatusToString(hs HealthStatus) string

func NodeStateToString

func NodeStateToString(state NodeState) string

func PoolTypeToString

func PoolTypeToString(poolType PoolType) string

Types

type BlockImage

type BlockImage struct {
	Name       string `json:"imageName"`
	PoolName   string `json:"poolName"`
	Size       uint64 `json:"size"`
	Device     string `json:"device"`
	MountPoint string `json:"mountPoint"`
}

type BlockImageMapInfo

type BlockImageMapInfo struct {
	MonAddresses []string `json:"monAddresses"`
	UserName     string   `json:"userName"`
	SecretKey    string   `json:"secretKey"`
}

type ErasureCodedPoolConfig

type ErasureCodedPoolConfig struct {
	DataChunkCount   uint   `json:"dataChunkCount"`
	CodingChunkCount uint   `json:"codingChunkCount"`
	Algorithm        string `json:"algorithm"`
}

type HealthStatus

type HealthStatus int
const (
	HealthOK HealthStatus = iota
	HealthWarning
	HealthError
	HealthUnknown
)

type MonitorSummary

type MonitorSummary struct {
	Name     string       `json:"name"`
	Address  string       `json:"address"`
	InQuorum bool         `json:"inQuorum"`
	Status   HealthStatus `json:"status"`
}

type Node

type Node struct {
	NodeID      string        `json:"nodeId"`
	ClusterName string        `json:"clusterName"`
	PublicIP    string        `json:"publicIp"`
	PrivateIP   string        `json:"privateIp"`
	Storage     uint64        `json:"storage"`
	LastUpdated time.Duration `json:"lastUpdated"`
	State       NodeState     `json:"state"`
	Location    string        `json:"location"`
}

type NodeState

type NodeState int
const (
	Healthy NodeState = iota
	Unhealthy
)

type OSDSummary

type OSDSummary struct {
	Total    int  `json:"total"`
	NumberIn int  `json:"numIn"`
	NumberUp int  `json:"numUp"`
	Full     bool `json:"full"`
	NearFull bool `json:"nearFull"`
}

type PGSummary

type PGSummary struct {
	Total       int            `json:"total"`
	StateCounts map[string]int `json:"stateCount"`
}

type Pool

type Pool struct {
	Name               string                 `json:"poolName"`
	Number             int                    `json:"poolNum"`
	Type               PoolType               `json:"type"`
	ReplicationConfig  ReplicatedPoolConfig   `json:"replicationConfig"`
	ErasureCodedConfig ErasureCodedPoolConfig `json:"erasureCodedConfig"`
}

type PoolType

type PoolType int
const (
	Replicated PoolType = iota
	ErasureCoded
	PoolTypeUnknown
)

type ReplicatedPoolConfig

type ReplicatedPoolConfig struct {
	Size uint `json:"size"`
}

type StatusDetails

type StatusDetails struct {
	OverallStatus   HealthStatus     `json:"overall"`
	SummaryMessages []StatusSummary  `json:"summary"`
	Monitors        []MonitorSummary `json:"monitors"`
	OSDs            OSDSummary       `json:"osd"`
	PGs             PGSummary        `json:"pg"`
	Usage           UsageSummary     `json:"usage"`
}

type StatusSummary

type StatusSummary struct {
	Status  HealthStatus `json:"status"`
	Message string       `json:"message"`
}

type UsageSummary

type UsageSummary struct {
	DataBytes      uint64 `json:"data"`
	UsedBytes      uint64 `json:"used"`
	AvailableBytes uint64 `json:"available"`
	TotalBytes     uint64 `json:"total"`
}

Jump to

Keyboard shortcuts

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