common

package
v0.0.0-...-cab0ad9 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2017 License: Apache-2.0 Imports: 33 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// Service affinities
	ServiceAffinityNone     = "None"
	ServiceAffinityClientIP = "ClientIP"
)
View Source
const (
	DefaultContentType = "appplication/json"
	KubestackSpecDir   = "/usr/lib/kubernetes/plugins"
	KubestackSockDir   = "/usr/lib/kubernetes/plugins"
)

Variables

View Source
var (
	ErrNotFound        = errors.New("NotFound")
	ErrMultipleResults = errors.New("MultipleResults")
)

Functions

func DecodeRequest

func DecodeRequest(w http.ResponseWriter, r *http.Request, req interface{}) (err error)

func EncodeResponse

func EncodeResponse(w http.ResponseWriter, res Response)

func ErrorResponse

func ErrorResponse(w http.ResponseWriter, err error)

func FullSocketAddr

func FullSocketAddr(addr, dir string) (string, error)

func WriteSpec

func WriteSpec(name, addr, dir string) error

Types

type Config

type Config struct {
	Global struct {
		AuthUrl         string `gcfg:"auth-url"`
		Username        string `gcfg:"username"`
		UserId          string `gcfg:"user-id"`
		Password        string `gcfg: "password"`
		TokenID         string `gcfg:"token-id"`
		TenantId        string `gcfg:"tenant-id"`
		TenantName      string `gcfg:"tenant-name"`
		DomainId        string `gcfg:"domain-id"`
		DomainName      string `gcfg:"domain-name"`
		Region          string `gcfg:"region"`
		ExtNetID        string `gcfg:"ext-net-id"`
		KeystoneVersion string `gcfg:"keystone-version"`
	}
	LoadBalancer LoadBalancerOpts
	Plugin       PluginOpts
}

type LoadBalancerOpts

type LoadBalancerOpts struct {
	LBMethod          string     `gcfg:"lb-method"`
	CreateMonitor     bool       `gcfg:"create-monitor"`
	MonitorDelay      MyDuration `gcfg:"monitor-delay"`
	MonitorTimeout    MyDuration `gcfg:"monitor-timeout"`
	MonitorMaxRetries uint       `gcfg:"monitor-max-retries"`
}

type MyDuration

type MyDuration struct {
	time.Duration
}

encoding.TextUnmarshaler interface for time.Duration

func (*MyDuration) UnmarshalText

func (d *MyDuration) UnmarshalText(text []byte) error

type OpenStack

type OpenStack struct {
	ExtNetID string
	Plugin   plugins.PluginInterface
	// contains filtered or unexported fields
}

OpenStack is an implementation of network provider Interface for OpenStack.

func NewOpenStack

func NewOpenStack(config io.Reader) (*OpenStack, error)

func (*OpenStack) BindPortToExternal

func (os *OpenStack) BindPortToExternal(portName, tenantID string) (string, error)

Bind an port to external network, return floatingip binded

func (*OpenStack) BindPortToFloatingip

func (os *OpenStack) BindPortToFloatingip(portID, floatingIPAddress, tenantID string) error

Bind an port to external network, return error

func (*OpenStack) BuildPortName

func (os *OpenStack) BuildPortName(podName, namespace, networkID string) string

func (*OpenStack) CheckTenantID

func (os *OpenStack) CheckTenantID(tenantID string) (bool, error)

Check the tenant id exist

func (*OpenStack) CreateLoadBalancer

func (os *OpenStack) CreateLoadBalancer(loadBalancer *provider.LoadBalancer, affinity string) (string, error)

Create load balancer

func (*OpenStack) CreateNetwork

func (os *OpenStack) CreateNetwork(network *provider.Network) error

Create network

func (*OpenStack) CreatePort

func (os *OpenStack) CreatePort(networkID, tenantID, portName, podHostname string) (*portsbinding.Port, error)

Create an port

func (*OpenStack) DeleteLoadBalancer

func (os *OpenStack) DeleteLoadBalancer(name string) error

Delete load balancer

func (*OpenStack) DeleteNetwork

func (os *OpenStack) DeleteNetwork(networkName string) error

Delete network by networkName

func (*OpenStack) DeletePort

func (os *OpenStack) DeletePort(portName string) error

Delete port by portName

func (*OpenStack) GetLoadBalancer

func (os *OpenStack) GetLoadBalancer(name string) (*provider.LoadBalancer, error)

Get load balancer by name

func (*OpenStack) GetNetwork

func (os *OpenStack) GetNetwork(networkName string) (*provider.Network, error)

Get network by networkName

func (*OpenStack) GetNetworkByID

func (os *OpenStack) GetNetworkByID(networkID string) (*provider.Network, error)

Get network by networkID

func (*OpenStack) GetPort

func (os *OpenStack) GetPort(name string) (*ports.Port, error)

func (*OpenStack) ListPorts

func (os *OpenStack) ListPorts(networkID, deviceOwner string) ([]ports.Port, error)

List all ports in the network

func (*OpenStack) OSNetworktoProviderNetwork

func (os *OpenStack) OSNetworktoProviderNetwork(osNetwork *networks.Network) (*provider.Network, error)

func (*OpenStack) PodStatus

func (os *OpenStack) PodStatus(podName, namespace, podInfraContainerID string, network *provider.Network, containerRuntime string) (string, error)

Status of pod

func (*OpenStack) SetupPod

func (os *OpenStack) SetupPod(podName, namespace, podInfraContainerID string, network *provider.Network, containerRuntime string) error

Setup pod

func (*OpenStack) TeardownPod

func (os *OpenStack) TeardownPod(podName, namespace, podInfraContainerID string, network *provider.Network, containerRuntime string) error

Teardown pod

func (*OpenStack) ToProviderStatus

func (os *OpenStack) ToProviderStatus(status string) string

func (*OpenStack) ToTenantID

func (os *OpenStack) ToTenantID(tenant string) string

Convert tenantName to tenantID

func (*OpenStack) ToTenantName

func (os *OpenStack) ToTenantName(tenant string) string

Convert tenantID to tenantName

func (*OpenStack) UnbindPortFromExternal

func (os *OpenStack) UnbindPortFromExternal(portName string) error

Unbind an port from external

func (*OpenStack) UpdateLoadBalancer

func (os *OpenStack) UpdateLoadBalancer(name string, hosts []*provider.HostPort, externalIPs []string) (string, error)

Update load balancer

func (*OpenStack) UpdateNetwork

func (os *OpenStack) UpdateNetwork(network *provider.Network) error

Update network

type PluginOpts

type PluginOpts struct {
	PluginName        string `gcfg:"plugin-name"`
	IntegrationBridge string `gcfg:"integration-bridge"`
}

type Request

type Request interface{}

type Response

type Response struct {
	Result interface{} `json:"Result"`
	Err    string      `json:"Err"`
}

Jump to

Keyboard shortcuts

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