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.