cluster

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2018 License: Apache-2.0 Imports: 18 Imported by: 17

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type OvnClusterController

type OvnClusterController struct {
	Kube kube.Interface

	KubeServer       string
	CACert           string
	Token            string
	ClusterIPNet     *net.IPNet
	HostSubnetLength uint32

	GatewayInit    bool
	GatewayIntf    string
	GatewayNextHop string

	NorthDBServerAuth *OvnDBAuth
	NorthDBClientAuth *OvnDBAuth

	SouthDBServerAuth *OvnDBAuth
	SouthDBClientAuth *OvnDBAuth

	StartNodeWatch func(handler cache.ResourceEventHandler)
	// contains filtered or unexported fields
}

OvnClusterController is the object holder for utilities meant for cluster management

func (*OvnClusterController) SetupMaster

func (cluster *OvnClusterController) SetupMaster(masterNodeName string, masterSwitchNetwork string) error

SetupMaster calls the external script to create the switch and central routers for the network

func (*OvnClusterController) StartClusterMaster

func (cluster *OvnClusterController) StartClusterMaster(masterNodeName string) error

StartClusterMaster runs a subnet IPAM and a controller that watches arrival/departure of nodes in the cluster On an addition to the cluster (node create), a new subnet is created for it that will translate to creation of a logical switch (done by the node, but could be created here at the master process too) Upon deletion of a node, the switch will be deleted

TODO: Verify that the cluster was not already called with a different global subnet

If true, then either quit or perform a complete reconfiguration of the cluster (recreate switches/routers with new subnet values)

func (*OvnClusterController) StartClusterNode

func (cluster *OvnClusterController) StartClusterNode(name string) error

StartClusterNode learns the subnet assigned to it by the master controller and calls the SetupNode script which establishes the logical switch

type OvnDBAuth

type OvnDBAuth struct {
	URL     string
	PrivKey string
	Cert    string
	CACert  string
	// contains filtered or unexported fields
}

OvnDBAuth describes an OVN database location and authentication method

func NewOvnDBAuth

func NewOvnDBAuth(urlString, privkey, cert, cacert string, server bool) (*OvnDBAuth, error)

NewOvnDBAuth returns an OvnDBAuth object describing the connection to an OVN database, given a connection description string and authentication details

func (*OvnDBAuth) GetURL

func (a *OvnDBAuth) GetURL() string

GetURL returns a URL suitable for passing to ovn-northd which describes the transport mechanism for connection to the database

func (*OvnDBAuth) SetConfig

func (a *OvnDBAuth) SetConfig()

SetConfig sets global config variables from an OvnDBAuth object

type OvnDBScheme

type OvnDBScheme string

OvnDBScheme describes the OVN database connection transport method

const (
	// OvnHostSubnet is the constant string representing the annotation key
	OvnHostSubnet = "ovn_host_subnet"

	// OvnDBSchemeSSL specifies SSL as the OVN database transport method
	OvnDBSchemeSSL OvnDBScheme = "ssl"
	// OvnDBSchemeTCP specifies TCP as the OVN database transport method
	OvnDBSchemeTCP OvnDBScheme = "tcp"
	// OvnDBSchemeUnix specifies Unix domains sockets as the OVN database transport method
	OvnDBSchemeUnix OvnDBScheme = "unix"
)

Jump to

Keyboard shortcuts

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