Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeRequest(w http.ResponseWriter, r *http.Request, req interface{}) (err error)
- func EncodeResponse(w http.ResponseWriter, res Response)
- func ErrorResponse(w http.ResponseWriter, err error)
- func FullSocketAddr(addr, dir string) (string, error)
- func WriteSpec(name, addr, dir string) error
- type Config
- type LoadBalancerOpts
- type MyDuration
- type OpenStack
- func (os *OpenStack) BindPortToExternal(portName, tenantID string) (string, error)
- func (os *OpenStack) BindPortToFloatingip(portID, floatingIPAddress, tenantID string) error
- func (os *OpenStack) BuildPortName(podName, namespace, networkID string) string
- func (os *OpenStack) CheckTenantID(tenantID string) (bool, error)
- func (os *OpenStack) CreateLoadBalancer(loadBalancer *provider.LoadBalancer, affinity string) (string, error)
- func (os *OpenStack) CreateNetwork(network *provider.Network) error
- func (os *OpenStack) CreatePort(networkID, tenantID, portName, podHostname string) (*portsbinding.Port, error)
- func (os *OpenStack) DeleteLoadBalancer(name string) error
- func (os *OpenStack) DeleteNetwork(networkName string) error
- func (os *OpenStack) DeletePort(portName string) error
- func (os *OpenStack) GetLoadBalancer(name string) (*provider.LoadBalancer, error)
- func (os *OpenStack) GetNetwork(networkName string) (*provider.Network, error)
- func (os *OpenStack) GetNetworkByID(networkID string) (*provider.Network, error)
- func (os *OpenStack) GetPort(name string) (*ports.Port, error)
- func (os *OpenStack) ListPorts(networkID, deviceOwner string) ([]ports.Port, error)
- func (os *OpenStack) OSNetworktoProviderNetwork(osNetwork *networks.Network) (*provider.Network, error)
- func (os *OpenStack) PodStatus(podName, namespace, podInfraContainerID string, network *provider.Network, ...) (string, error)
- func (os *OpenStack) SetupPod(podName, namespace, podInfraContainerID string, network *provider.Network, ...) error
- func (os *OpenStack) TeardownPod(podName, namespace, podInfraContainerID string, network *provider.Network, ...) error
- func (os *OpenStack) ToProviderStatus(status string) string
- func (os *OpenStack) ToTenantID(tenant string) string
- func (os *OpenStack) ToTenantName(tenant string) string
- func (os *OpenStack) UnbindPortFromExternal(portName string) error
- func (os *OpenStack) UpdateLoadBalancer(name string, hosts []*provider.HostPort, externalIPs []string) (string, error)
- func (os *OpenStack) UpdateNetwork(network *provider.Network) error
- type PluginOpts
- type Request
- type Response
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 ¶
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 ¶
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 (*OpenStack) BindPortToExternal ¶
Bind an port to external network, return floatingip binded
func (*OpenStack) BindPortToFloatingip ¶
Bind an port to external network, return error
func (*OpenStack) BuildPortName ¶
func (*OpenStack) CheckTenantID ¶
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 ¶
Create network
func (*OpenStack) CreatePort ¶
func (os *OpenStack) CreatePort(networkID, tenantID, portName, podHostname string) (*portsbinding.Port, error)
Create an port
func (*OpenStack) DeleteLoadBalancer ¶
Delete load balancer
func (*OpenStack) DeleteNetwork ¶
Delete network by networkName
func (*OpenStack) DeletePort ¶
Delete port by portName
func (*OpenStack) GetLoadBalancer ¶
func (os *OpenStack) GetLoadBalancer(name string) (*provider.LoadBalancer, error)
Get load balancer by name
func (*OpenStack) GetNetwork ¶
Get network by networkName
func (*OpenStack) GetNetworkByID ¶
Get network by networkID
func (*OpenStack) OSNetworktoProviderNetwork ¶
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 (*OpenStack) ToTenantID ¶
Convert tenantName to tenantID
func (*OpenStack) ToTenantName ¶
Convert tenantID to tenantName
func (*OpenStack) UnbindPortFromExternal ¶
Unbind an port from external
type PluginOpts ¶
Click to show internal directories.
Click to hide internal directories.