Documentation
¶
Index ¶
Constants ¶
View Source
const ( // PredefinedLabel identifies internally allocated swarm networks // corresponding to the node-local predefined networks on the host. PredefinedLabel = "com.docker.swarm.predefined" )
Variables ¶
This section is empty.
Functions ¶
func IsIngressNetwork ¶
IsIngressNetwork check if the network is an ingress network
func IsIngressNetworkNeeded ¶
IsIngressNetworkNeeded checks whether the service requires the routing-mesh
func OnInit ¶
func OnInit(options *ServiceAllocationOpts)
OnInit is called for allocator initialization stage
Types ¶
type NetworkAllocator ¶
type NetworkAllocator interface {
// IsAllocated returns if the passed network has been allocated or not.
IsAllocated(n *api.Network) bool
// Allocate allocates all the necessary resources both general
// and driver-specific which may be specified in the NetworkSpec
Allocate(n *api.Network) error
// Deallocate frees all the general and driver specific resources
// which were assigned to the passed network.
Deallocate(n *api.Network) error
// IsServiceAllocated returns false if the passed service
// needs to have network resources allocated/updated.
IsServiceAllocated(s *api.Service, flags ...func(*ServiceAllocationOpts)) bool
// AllocateService allocates all the network resources such as virtual
// IP and ports needed by the service.
AllocateService(s *api.Service) (err error)
// DeallocateService de-allocates all the network resources such as
// virtual IP and ports associated with the service.
DeallocateService(s *api.Service) error
// HostPublishPortsNeedUpdate returns true if the passed service needs
// allocations for its published ports in host (non ingress) mode
HostPublishPortsNeedUpdate(s *api.Service) bool
// IsTaskAllocated returns if the passed task has its network
// resources allocated or not.
IsTaskAllocated(t *api.Task) bool
// AllocateTask allocates all the endpoint resources for all the
// networks that a task is attached to.
AllocateTask(t *api.Task) error
// DeallocateTask releases all the endpoint resources for all the
// networks that a task is attached to.
DeallocateTask(t *api.Task) error
// AllocateAttachment Allocates a load balancer endpoint for the node
AllocateAttachment(node *api.Node, networkAttachment *api.NetworkAttachment) error
// DeallocateAttachment Deallocates a load balancer endpoint for the node
DeallocateAttachment(node *api.Node, networkAttachment *api.NetworkAttachment) error
// IsAttachmentAllocated If lb endpoint is allocated on the node
IsAttachmentAllocated(node *api.Node, networkAttachment *api.NetworkAttachment) bool
}
NetworkAllocator provides network model specific allocation functionality.
type PredefinedNetworkData ¶
PredefinedNetworkData contains the minimum set of data needed to create the correspondent predefined network object in the store.
type ServiceAllocationOpts ¶
type ServiceAllocationOpts struct {
OnInit bool
}
ServiceAllocationOpts is struct used for functional options in IsServiceAllocated
Click to show internal directories.
Click to hide internal directories.