ippoolmanager

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jul 27, 2022 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IPAndCID

type IPAndCID struct {
	IP          string
	ContainerID string
}

type IPPoolManager

type IPPoolManager interface {
	AllocateIP(ctx context.Context, poolName, containerID, nic string, pod *corev1.Pod) (*models.IPConfig, error)
	ReleaseIP(ctx context.Context, poolName string, ipAndCIDs []IPAndCID) error
	ListAllIPPools(ctx context.Context) (*spiderpoolv1.IPPoolList, error)
	SelectByPod(ctx context.Context, version types.IPVersion, poolName string, pod *corev1.Pod) (bool, error)
	CheckVlanSame(ctx context.Context, poolList []string) (map[types.Vlan][]string, bool, error)
	GetIPPoolByName(ctx context.Context, podName string) (*spiderpoolv1.IPPool, error)
	RemoveFinalizer(ctx context.Context, poolName string) error
	AssembleTotalIPs(ctx context.Context, ipPool *spiderpoolv1.IPPool) ([]net.IP, error)
	SetupReconcile(leader election.SpiderLeaseElector) error
	SetupWebhook() error
}

func NewIPPoolManager

func NewIPPoolManager(mgr ctrl.Manager, rIPManager reservedipmanager.ReservedIPManager, nodeManager nodemanager.NodeManager, nsManager namespacemanager.NamespaceManager, podManager podmanager.PodManager, maxAllocatedIPs, maxConflictRetrys int, conflictRetryUnitTime time.Duration) (IPPoolManager, error)

Jump to

Keyboard shortcuts

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