cluster

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 28, 2017 License: Apache-2.0 Imports: 19 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.

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.

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.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	Metadata v1.ObjectMeta `json:"metadata,omitempty"`
	Spec     `json:"spec"`
	// contains filtered or unexported fields
}

func New

func New(spec Spec, factory client.ConnectionFactory, clientset kubernetes.Interface) *Cluster

func (*Cluster) CreateInstance

func (c *Cluster) CreateInstance() error

func (*Cluster) GetRookClient

func (c *Cluster) GetRookClient() (rookclient.RookRestClient, error)

func (*Cluster) Monitor

func (c *Cluster) Monitor(stopCh <-chan struct{})

func (*Cluster) UnmarshalJSON

func (c *Cluster) UnmarshalJSON(data []byte) error

type ClusterCopy

type ClusterCopy Cluster

type ClusterList

type ClusterList struct {
	unversioned.TypeMeta `json:",inline"`
	// Standard list metadata
	// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
	Metadata unversioned.ListMeta `json:"metadata,omitempty"`
	// Items is a list of third party objects
	Items []Cluster `json:"items"`
}

ClusterList is a list of rook clusters.

func (*ClusterList) UnmarshalJSON

func (cl *ClusterList) UnmarshalJSON(data []byte) error

type ClusterListCopy

type ClusterListCopy ClusterList

type ErasureCodeSpec

type ErasureCodeSpec struct {
	// Number of coding chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
	CodingChunks uint `json:"codingChunks"`

	// Number of data chunks per object in an erasure coded storage pool (required for erasure-coded pool type)
	DataChunks uint `json:"dataChunks"`
}

type Pool

type Pool struct {
	Metadata v1.ObjectMeta `json:"metadata,omitempty"`
	PoolSpec `json:"spec"`
}

func NewPool

func NewPool(spec PoolSpec) *Pool

Instantiate a new pool

func (*Pool) Create

func (p *Pool) Create(rclient rookclient.RookRestClient) error

Create the pool

func (*Pool) Delete

func (p *Pool) Delete(rclient rookclient.RookRestClient) error

Delete the pool

func (*Pool) UnmarshalJSON

func (p *Pool) UnmarshalJSON(data []byte) error

type PoolCopy

type PoolCopy Pool

type PoolList

type PoolList struct {
	unversioned.TypeMeta `json:",inline"`
	// Standard list metadata
	// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
	Metadata unversioned.ListMeta `json:"metadata,omitempty"`
	// Items is a list of third party objects
	Items []Pool `json:"items"`
}

PoolList is a list of rook pools from the TPR.

func (*PoolList) UnmarshalJSON

func (pl *PoolList) UnmarshalJSON(data []byte) error

type PoolListCopy

type PoolListCopy PoolList

type PoolSpec

type PoolSpec struct {
	// The name of the pool. Defined in the spec since the object metadata name must be unique across all namespaces,
	// while you could have the same pool name created in multiple instances of rook.
	Name string `json:"name"`

	// The namespace where the pool will be created (required). A Rook cluster must be running in this namespace.
	Namespace string `json:"namespace"`

	// The replication settings
	Replication ReplicationSpec `json:"replication"`

	// The erasure code setteings
	ErasureCoding ErasureCodeSpec `json:"erasureCode"`
}

type ReplicationSpec

type ReplicationSpec struct {
	// Number of copies per object in a replicated storage pool, including the object itself (required for replicated pool type)
	Count uint `json:"count"`
}

type Spec

type Spec struct {
	// The namespace where the the rook resources will all be created.
	Namespace string `json:"namespace"`

	// Version is the expected version of the rook container to run in the cluster.
	// The rook-operator will eventually make the rook cluster version
	// equal to the expected version.
	Version string `json:"version"`

	// Paused is to pause the control of the operator for the rook cluster.
	Paused bool `json:"paused,omitempty"`

	// Whether to consume all the storage devices found on a machine
	UseAllDevices bool `json:"useAllDevices"`

	// A regular expression to allow more fine-grained selection of devices on nodes across the cluster
	DeviceFilter string `json:"deviceFilter"`

	// The path on the host where config and data can be persisted.
	DataDirHostPath string `json:"dataDirHostPath"`
}

Jump to

Keyboard shortcuts

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